43 lines
1.0 KiB
TypeScript
43 lines
1.0 KiB
TypeScript
import type { JsonObject } from './common';
|
|
import type { PuzzleAnchorPack } from './puzzleAgentDraft';
|
|
|
|
export type PuzzleWorkPublicationStatus = 'draft' | 'published';
|
|
|
|
export interface PuzzleWorkSummary {
|
|
workId: string;
|
|
profileId: string;
|
|
ownerUserId: string;
|
|
sourceSessionId?: string | null;
|
|
authorDisplayName: string;
|
|
levelName: string;
|
|
summary: string;
|
|
themeTags: string[];
|
|
coverImageSrc: string | null;
|
|
coverAssetId?: string | null;
|
|
publicationStatus: PuzzleWorkPublicationStatus;
|
|
updatedAt: string;
|
|
publishedAt: string | null;
|
|
playCount?: number;
|
|
remixCount?: number;
|
|
likeCount?: number;
|
|
recentPlayCount7d?: number;
|
|
publishReady: boolean;
|
|
}
|
|
|
|
export interface PuzzleWorkProfile extends PuzzleWorkSummary {
|
|
anchorPack: PuzzleAnchorPack;
|
|
metadata?: JsonObject | null;
|
|
}
|
|
|
|
export interface PuzzleWorksResponse {
|
|
items: PuzzleWorkSummary[];
|
|
}
|
|
|
|
export interface PuzzleWorkDetailResponse {
|
|
item: PuzzleWorkProfile;
|
|
}
|
|
|
|
export interface PuzzleWorkMutationResponse {
|
|
item: PuzzleWorkProfile;
|
|
}
|