This commit is contained in:
Scott Anderson
2025-08-24 21:32:32 -04:00
parent eaefecb00f
commit 809d60ff58
95 changed files with 1385 additions and 1424 deletions
+20 -21
View File
@@ -8,8 +8,11 @@ export const RefreshResponseSchema = z.object({
});
export type RefreshResponse = z.infer<typeof RefreshResponseSchema>;
/* eslint-disable sort-keys */
export const TokenPayloadSchema = z.object({
aud: z.string(),
exp: z.number(),
iat: z.number(),
iss: z.string(),
jti: z.string(),
sub: z
.string()
@@ -27,41 +30,37 @@ export const TokenPayloadSchema = z.object({
if (!uuid) throw new Error("Invalid base64 UUID");
return uuid;
}),
iat: z.number(),
iss: z.string(),
aud: z.string(),
exp: z.number(),
});
export type TokenPayload = z.infer<typeof TokenPayloadSchema>;
export const UserMeResponseSchema = z.object({
user: z.object({
id: z.string(),
avatar: z.string().nullable(),
username: z.string(),
global_name: z.string().nullable(),
discriminator: z.string(),
locale: z.string().optional(),
}),
player: z.object({
flares: z.string().array().optional(),
publicId: z.string(),
roles: z.string().array().optional(),
flares: z.string().array().optional(),
}),
user: z.object({
avatar: z.string().nullable(),
discriminator: z.string(),
global_name: z.string().nullable(),
id: z.string(),
locale: z.string().optional(),
username: z.string(),
}),
});
export type UserMeResponse = z.infer<typeof UserMeResponseSchema>;
export const StripeCreateCheckoutSessionResponseSchema = z.object({
id: z.string(),
object: z.literal("checkout.session"),
url: z.string(),
payment_status: z.enum(["paid", "unpaid", "no_payment_required"]),
status: z.enum(["open", "complete", "expired"]),
client_reference_id: z.string().optional(),
customer: z.string().optional(),
payment_intent: z.string().optional(),
subscription: z.string().optional(),
id: z.string(),
metadata: z.partialRecord(z.string(), z.string()),
object: z.literal("checkout.session"),
payment_intent: z.string().optional(),
payment_status: z.enum(["paid", "unpaid", "no_payment_required"]),
status: z.enum(["open", "complete", "expired"]),
subscription: z.string().optional(),
url: z.string(),
});
export type StripeCreateCheckoutSessionResponse = z.infer<
typeof StripeCreateCheckoutSessionResponseSchema