refactor(private-zone): use canonical product name

This commit is contained in:
Codex
2026-07-23 10:53:41 +08:00
parent 4639acf232
commit 9ca56c2a04
103 changed files with 569 additions and 569 deletions
@@ -0,0 +1,46 @@
import { z } from "zod";
import {
arrayOrEmpty,
booleanOrFalse,
numberOrZero,
stringOrEmpty,
} from "../../nullable-defaults";
import { PrivateAlbumImageSchema } from "../private_album";
export const PrivateAlbumUnlockReasonSchema = z.enum([
"ok",
"already_unlocked",
"insufficient_credits",
"cost_changed",
"unlock_in_progress",
"deduct_failed",
"persist_failed_refunded",
"not_found",
]);
export const PrivateAlbumUnlockResponseSchema = z
.object({
albumId: stringOrEmpty,
locked: booleanOrFalse,
unlocked: booleanOrFalse,
reason: PrivateAlbumUnlockReasonSchema.or(stringOrEmpty),
unlockCost: numberOrZero,
requiredCredits: numberOrZero,
creditBalance: numberOrZero,
shortfallCredits: numberOrZero,
images: arrayOrEmpty(PrivateAlbumImageSchema),
})
.readonly();
export type PrivateAlbumUnlockReason = z.output<
typeof PrivateAlbumUnlockReasonSchema
>;
export type PrivateAlbumUnlockResponseInput = z.input<
typeof PrivateAlbumUnlockResponseSchema
>;
export type PrivateAlbumUnlockResponseData = z.output<
typeof PrivateAlbumUnlockResponseSchema
>;
export type PrivateAlbumUnlockResponse = PrivateAlbumUnlockResponseData;