Dont log to stripe

This commit is contained in:
Owen
2026-02-08 11:13:09 -08:00
committed by Owen Schwartz
parent 82ef983bea
commit b9c2f176c3
2 changed files with 39 additions and 25 deletions

View File

@@ -18,6 +18,7 @@ import { sendToClient } from "#dynamic/routers/ws";
import { build } from "@server/build"; import { build } from "@server/build";
import { s3Client } from "@server/lib/s3"; import { s3Client } from "@server/lib/s3";
import cache from "@server/lib/cache"; import cache from "@server/lib/cache";
import privateConfig from "@server/private/lib/config";
interface StripeEvent { interface StripeEvent {
identifier?: string; identifier?: string;
@@ -30,9 +31,7 @@ interface StripeEvent {
} }
export function noop() { export function noop() {
if ( if (build !== "saas") {
build !== "saas"
) {
return true; return true;
} }
return false; return false;
@@ -48,8 +47,13 @@ export class UsageService {
if (noop()) { if (noop()) {
return; return;
} }
this.bucketName = process.env.S3_BUCKET || undefined; this.bucketName = process.env.S3_BUCKET || undefined;
if ( // Only set up event uploading if usage reporting is enabled and bucket name is configured
privateConfig.getRawPrivateConfig().flags.usage_reporting &&
this.bucketName
) {
// Periodically check and upload events // Periodically check and upload events
setInterval(() => { setInterval(() => {
this.checkAndUploadEvents().catch((err) => { this.checkAndUploadEvents().catch((err) => {
@@ -59,19 +63,24 @@ export class UsageService {
// Handle graceful shutdown on SIGTERM // Handle graceful shutdown on SIGTERM
process.on("SIGTERM", async () => { process.on("SIGTERM", async () => {
logger.info("SIGTERM received, uploading events before shutdown..."); logger.info(
"SIGTERM received, uploading events before shutdown..."
);
await this.forceUpload(); await this.forceUpload();
logger.info("Events uploaded, proceeding with shutdown"); logger.info("Events uploaded, proceeding with shutdown");
}); });
// Handle SIGINT as well (Ctrl+C) // Handle SIGINT as well (Ctrl+C)
process.on("SIGINT", async () => { process.on("SIGINT", async () => {
logger.info("SIGINT received, uploading events before shutdown..."); logger.info(
"SIGINT received, uploading events before shutdown..."
);
await this.forceUpload(); await this.forceUpload();
logger.info("Events uploaded, proceeding with shutdown"); logger.info("Events uploaded, proceeding with shutdown");
process.exit(0); process.exit(0);
}); });
} }
}
/** /**
* Truncate a number to 11 decimal places to prevent precision issues * Truncate a number to 11 decimal places to prevent precision issues
@@ -129,7 +138,9 @@ export class UsageService {
} }
// Log event for Stripe // Log event for Stripe
if (privateConfig.getRawPrivateConfig().flags.usage_reporting) {
await this.logStripeEvent(featureId, value, customerId); await this.logStripeEvent(featureId, value, customerId);
}
return usage || null; return usage || null;
} catch (error: any) { } catch (error: any) {
@@ -306,7 +317,9 @@ export class UsageService {
} }
}); });
if (privateConfig.getRawPrivateConfig().flags.usage_reporting) {
await this.logStripeEvent(featureId, value || 0, customerId); await this.logStripeEvent(featureId, value || 0, customerId);
}
} catch (error) { } catch (error) {
logger.error( logger.error(
`Failed to update daily usage for ${orgId}/${featureId}:`, `Failed to update daily usage for ${orgId}/${featureId}:`,

View File

@@ -95,7 +95,8 @@ export const privateConfigSchema = z.object({
.object({ .object({
enable_redis: z.boolean().optional().default(false), enable_redis: z.boolean().optional().default(false),
use_pangolin_dns: z.boolean().optional().default(false), use_pangolin_dns: z.boolean().optional().default(false),
use_org_only_idp: z.boolean().optional().default(false) use_org_only_idp: z.boolean().optional().default(false),
usage_reporting: z.boolean().optional().default(false)
}) })
.optional() .optional()
.prefault({}), .prefault({}),