first commit

This commit is contained in:
luoyangwei
2026-06-06 00:49:07 +08:00
commit 2b860d201e
134 changed files with 22773 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
+40
View File
@@ -0,0 +1,40 @@
export type CollectionPhoto = {
id: string;
unsplash_id: string;
slug: string | null;
description: string | null;
alt_description: string | null;
width: number | null;
height: number | null;
color: string | null;
color_family: string | null;
likes: number | null;
urls: Record<string, unknown>;
user_info: Record<string, unknown>;
photo_created_at: string | null;
picked_at: string | null;
oss_url: string | null;
};
export type PhotoCollection = {
id: string;
title: string;
slug: string;
description: string | null;
cover_photo_id: string | null;
is_published: boolean;
published_at: string | null;
created_at: string;
updated_at: string;
cover_photo: CollectionPhoto | null;
photos: CollectionPhoto[];
};
export type PhotoCollectionInput = {
title: string;
slug?: string | null;
description?: string | null;
coverPhotoId?: string | null;
isPublished: boolean;
photoIds: string[];
};
+35
View File
@@ -0,0 +1,35 @@
export type GalleryPhoto = {
id: string;
unsplash_id: string;
slug: string | null;
description: string | null;
alt_description: string | null;
width: number | null;
height: number | null;
color: string | null;
color_family: string | null;
likes: number | null;
urls: Record<string, unknown>;
user_info: Record<string, unknown>;
photo_created_at: string | null;
is_picked: boolean;
picked_at: string | null;
picked_by: string | null;
oss_url: string | null;
oss_object_key: string | null;
oss_synced_at: string | null;
oss_sync_error: string | null;
};
export type GalleryPagination = {
page: number;
perPage: number;
total: number;
hasMore: boolean;
};
export type GalleryApiResponse = {
ok: boolean;
data: GalleryPhoto[];
pagination: GalleryPagination;
};
+32
View File
@@ -0,0 +1,32 @@
export type AppUserStatus = "active" | "disabled";
export type AppUser = {
id: string;
email: string | null;
display_name: string | null;
avatar_url: string | null;
auth_provider: string;
status: AppUserStatus;
phone?: string | null;
wechat_openid?: string | null;
wechat_unionid?: string | null;
last_login_at?: string | null;
disabled_at?: string | null;
created_at: string;
updated_at: string;
};
export type PublicAppUser = {
id: string;
email: string | null;
displayName: string | null;
avatarUrl: string | null;
authProvider: string;
};
export type AppUserSettings = {
user_id: string;
preferences: Record<string, unknown>;
download_preferences: Record<string, unknown>;
updated_at: string;
};