Import source: backend/src/types
Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
This commit is contained in:
@@ -0,0 +1,60 @@
|
|||||||
|
export type Plan = 'free' | 'pro' | 'team';
|
||||||
|
export type FileStatus = 'uploaded' | 'deleted' | 'expired';
|
||||||
|
|
||||||
|
export interface UserRecord {
|
||||||
|
id: string;
|
||||||
|
email: string;
|
||||||
|
passwordHash: string;
|
||||||
|
plan: Plan;
|
||||||
|
verified: boolean;
|
||||||
|
createdAt: string;
|
||||||
|
updatedAt: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FileRecord {
|
||||||
|
id: string;
|
||||||
|
linkId: string;
|
||||||
|
/** Google Drive file ID, used to construct download/view/delete URLs */
|
||||||
|
gdriveId: string;
|
||||||
|
/** Session cookie value of the uploader — scopes dashboard/delete access */
|
||||||
|
sessionId: string;
|
||||||
|
/** @deprecated legacy rclone path — only present on old records */
|
||||||
|
gdrivePath?: string;
|
||||||
|
originalName: string;
|
||||||
|
mimeType: string;
|
||||||
|
sizeBytes: number;
|
||||||
|
status: FileStatus;
|
||||||
|
uploader: string;
|
||||||
|
expiresAt: string;
|
||||||
|
deletedAt?: string;
|
||||||
|
createdAt: string;
|
||||||
|
views: number;
|
||||||
|
downloads: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RefreshTokenRecord {
|
||||||
|
id: string;
|
||||||
|
userId: string;
|
||||||
|
tokenHash: string;
|
||||||
|
expiresAt: string;
|
||||||
|
revokedAt?: string;
|
||||||
|
createdAt: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface EventRecord {
|
||||||
|
id: string;
|
||||||
|
linkId: string;
|
||||||
|
type: 'view' | 'download';
|
||||||
|
createdAt: string;
|
||||||
|
ip?: string;
|
||||||
|
userAgent?: string;
|
||||||
|
referrer?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DatabaseShape {
|
||||||
|
users: UserRecord[];
|
||||||
|
refreshTokens: RefreshTokenRecord[];
|
||||||
|
files: FileRecord[];
|
||||||
|
events: EventRecord[];
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user