Bewerbungen als echte Tickets bei Ticketanizer anlegen (statt Discord-Webhook)
Umgestellt von der ursprünglichen Discord-Webhook-Idee auf die offizielle Ticketanizer-Inbound-Ticket-API (api.ticketanizer.com/v1/tickets) - erzeugt echte Tickets statt nur Nachrichten, landen dadurch direkt im richtigen Ticketanizer-Bereich in Discord. - Neu: cloudflare-worker/src/lib/ticketanizer.js. panel_id pro Bewerbungs- bereich fest hinterlegt (aus dem Ticketanizer-Dashboard abgelesen): Modi=4, Kooperation=5, Scout=6, Creator=7 (dort "Manager-Bewerbung") - Alte discord.js entfernt (Ansatz verworfen) - applications.js: Aufruf entsprechend umbenannt/angepasst - README.md: Einrichtungsanleitung aktualisiert (TICKETANIZER_API_KEY statt 4x DISCORD_WEBHOOK_*) - Ticketanizer bleibt rein informativ, kein Ausfallpunkt - Bewerbung wird immer in der eigenen Datenbank gespeichert, unabhängig vom Ticket-Erfolg - Secret TICKETANIZER_API_KEY bereits live gesetzt und deployed; End-to- End mit 3 Test-Bewerbungen geprüft (HTTP Ok geloggt), Testeinträge aus der DB wieder entfernt
This commit is contained in:
@@ -7,7 +7,7 @@ import { generateId, nowIso } from "../lib/crypto.js";
|
||||
import { hasPermission } from "../lib/permissions.js";
|
||||
import { logAction } from "../lib/audit.js";
|
||||
import { json } from "../lib/http.js";
|
||||
import { bewerbungAnDiscordSenden } from "../lib/discord.js";
|
||||
import { bewerbungAlsTicketAnlegen } from "../lib/ticketanizer.js";
|
||||
|
||||
const ALLOWED_TYPES = ["creator", "scout", "kooperation", "modi"];
|
||||
|
||||
@@ -47,12 +47,12 @@ export async function submitApplication(request, env, ctx) {
|
||||
.run();
|
||||
|
||||
// Zusätzlich (rein informativ, blockiert die Bewerbung selbst nie) als
|
||||
// Nachricht in den passenden Discord-Kanal (Ticketanizer) weiterleiten.
|
||||
const discordVersand = bewerbungAnDiscordSenden(env, type, data);
|
||||
// echtes Ticket bei Ticketanizer im passenden Bereich anlegen.
|
||||
const ticketVersand = bewerbungAlsTicketAnlegen(env, type, data);
|
||||
if (ctx && typeof ctx.waitUntil === "function") {
|
||||
ctx.waitUntil(discordVersand);
|
||||
ctx.waitUntil(ticketVersand);
|
||||
} else {
|
||||
await discordVersand.catch(() => {});
|
||||
await ticketVersand.catch(() => {});
|
||||
}
|
||||
|
||||
return json({ ok: true });
|
||||
|
||||
Reference in New Issue
Block a user