From 2635281fd4f5d2d4f43b0b69966b2b22f691790c Mon Sep 17 00:00:00 2001 From: Wuesteon Date: Wed, 3 Dec 2025 00:04:35 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(storage):=20add=20shared=20pac?= =?UTF-8?q?kage=20types=20and=20configuration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add missing tsconfig.json and source files for @storage/shared package to fix type-check failures. Includes type definitions for StorageFile, StorageFolder, FileVersion, Share, Tag, and FileTag interfaces. --- apps/storage/packages/shared/src/index.ts | 1 + .../packages/shared/src/types/index.ts | 72 +++++++++++++++++++ apps/storage/packages/shared/tsconfig.json | 16 +++++ 3 files changed, 89 insertions(+) create mode 100644 apps/storage/packages/shared/src/index.ts create mode 100644 apps/storage/packages/shared/src/types/index.ts create mode 100644 apps/storage/packages/shared/tsconfig.json diff --git a/apps/storage/packages/shared/src/index.ts b/apps/storage/packages/shared/src/index.ts new file mode 100644 index 000000000..fcb073fef --- /dev/null +++ b/apps/storage/packages/shared/src/index.ts @@ -0,0 +1 @@ +export * from './types'; diff --git a/apps/storage/packages/shared/src/types/index.ts b/apps/storage/packages/shared/src/types/index.ts new file mode 100644 index 000000000..37f6d587d --- /dev/null +++ b/apps/storage/packages/shared/src/types/index.ts @@ -0,0 +1,72 @@ +export interface StorageFile { + id: string; + userId: string; + name: string; + originalName: string; + mimeType: string; + size: number; + storagePath: string; + storageKey: string; + parentFolderId: string | null; + currentVersion: number; + isFavorite: boolean; + isDeleted: boolean; + deletedAt: Date | null; + createdAt: Date; + updatedAt: Date; +} + +export interface StorageFolder { + id: string; + userId: string; + name: string; + description: string | null; + parentFolderId: string | null; + path: string; + depth: number; + isFavorite: boolean; + isDeleted: boolean; + deletedAt: Date | null; + createdAt: Date; + updatedAt: Date; +} + +export interface FileVersion { + id: string; + fileId: string; + versionNumber: number; + storagePath: string; + storageKey: string; + size: number; + comment: string | null; + createdBy: string; + createdAt: Date; +} + +export interface Share { + id: string; + userId: string; + fileId: string | null; + folderId: string | null; + shareType: 'file' | 'folder'; + shareToken: string; + accessLevel: 'view' | 'edit' | 'download'; + password: string | null; + maxDownloads: number | null; + downloadCount: number; + expiresAt: Date | null; + createdAt: Date; +} + +export interface Tag { + id: string; + userId: string; + name: string; + color: string; + createdAt: Date; +} + +export interface FileTag { + fileId: string; + tagId: string; +} diff --git a/apps/storage/packages/shared/tsconfig.json b/apps/storage/packages/shared/tsconfig.json new file mode 100644 index 000000000..8c8de8cfe --- /dev/null +++ b/apps/storage/packages/shared/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "bundler", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "declaration": true, + "declarationMap": true, + "noEmit": true + }, + "include": ["src/**/*"], + "exclude": ["node_modules"] +}