chore: initial project import
Some checks failed
CI - Production Readiness / Verify (push) Has been cancelled

This commit is contained in:
Wira Basalamah
2026-04-21 09:29:29 +07:00
commit adde003fba
222 changed files with 37657 additions and 0 deletions

View File

@ -0,0 +1,56 @@
#!/usr/bin/env node
const baseUrl = process.env.CAMPAIGN_RETRY_JOB_URL?.trim()
|| process.env.APP_URL?.trim()
|| process.env.NEXT_PUBLIC_APP_URL?.trim();
if (!baseUrl) {
console.error("Missing CAMPAIGN_RETRY_JOB_URL / APP_URL / NEXT_PUBLIC_APP_URL");
process.exit(1);
}
const endpoint = baseUrl.endsWith("/api/jobs/campaign-retry")
? baseUrl
: `${baseUrl.replace(/\/+$/, "")}/api/jobs/campaign-retry`;
const token = process.env.CAMPAIGN_RETRY_JOB_TOKEN?.trim();
const tenantId = process.env.CAMPAIGN_RETRY_TENANT_ID?.trim();
const campaignId = process.env.CAMPAIGN_RETRY_CAMPAIGN_ID?.trim();
const recipientBatchSize = Number(process.env.CAMPAIGN_RETRY_BATCH_SIZE);
const maxCampaigns = Number(process.env.CAMPAIGN_RETRY_MAX_CAMPAIGNS);
const payload = {
...(tenantId ? { tenantId } : {}),
...(campaignId ? { campaignId } : {}),
...(Number.isInteger(recipientBatchSize) && recipientBatchSize > 0 ? { recipientBatchSize } : {}),
...(Number.isInteger(maxCampaigns) && maxCampaigns > 0 ? { maxCampaigns } : {})
};
const headers = {
"content-type": "application/json"
};
if (token) {
headers.Authorization = `Bearer ${token}`;
}
try {
const response = await fetch(endpoint, {
method: "POST",
headers,
body: JSON.stringify(payload)
});
const bodyText = await response.text();
if (!response.ok) {
console.error(`Campaign retry job failed: ${response.status} ${response.statusText}`);
console.error(bodyText);
process.exit(1);
}
console.log(bodyText);
} catch (error) {
console.error(`Failed to trigger campaign retry job: ${error instanceof Error ? error.message : String(error)}`);
process.exit(1);
}