@chunkflowjs/upload-server 0.0.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,166 @@
1
+ import { Readable } from "stream";
2
+ import { CreateFileRequest, CreateFileResponse, MergeFileRequest, MergeFileResponse, UploadChunkRequest, UploadChunkResponse, VerifyHashRequest, VerifyHashResponse } from "@chunkflowjs/protocol";
3
+
4
+ //#region src/storage-adapter.d.ts
5
+ interface StorageAdapter {
6
+ saveChunk(chunkHash: string, data: Buffer): Promise<void>;
7
+ getChunk(chunkHash: string): Promise<Buffer | null>;
8
+ chunkExists(chunkHash: string): Promise<boolean>;
9
+ chunksExist(chunkHashes: string[]): Promise<boolean[]>;
10
+ getChunkStream(chunkHash: string): Promise<Readable | null>;
11
+ deleteChunk(chunkHash: string): Promise<void>;
12
+ initialize(): Promise<void>;
13
+ cleanup(): Promise<void>;
14
+ }
15
+ //#endregion
16
+ //#region src/local-storage-adapter.d.ts
17
+ interface LocalStorageAdapterOptions {
18
+ baseDir?: string;
19
+ }
20
+ declare class LocalStorageAdapter implements StorageAdapter {
21
+ private baseDir;
22
+ private initialized;
23
+ constructor(options?: LocalStorageAdapterOptions);
24
+ initialize(): Promise<void>;
25
+ private getChunkPath;
26
+ saveChunk(chunkHash: string, data: Buffer): Promise<void>;
27
+ getChunk(chunkHash: string): Promise<Buffer | null>;
28
+ chunkExists(chunkHash: string): Promise<boolean>;
29
+ chunksExist(chunkHashes: string[]): Promise<boolean[]>;
30
+ getChunkStream(chunkHash: string): Promise<Readable | null>;
31
+ deleteChunk(chunkHash: string): Promise<void>;
32
+ cleanup(): Promise<void>;
33
+ }
34
+ //#endregion
35
+ //#region src/database-adapter.d.ts
36
+ interface FileMetadata {
37
+ fileId: string;
38
+ filename: string;
39
+ size: number;
40
+ mimeType: string;
41
+ fileHash: string;
42
+ uploadToken: string;
43
+ chunkSize: number;
44
+ totalChunks: number;
45
+ uploadedChunks: number;
46
+ status: "pending" | "uploading" | "completed" | "failed";
47
+ createdAt: Date;
48
+ updatedAt: Date;
49
+ completedAt?: Date;
50
+ url?: string;
51
+ }
52
+ interface ChunkEntity {
53
+ chunkHash: string;
54
+ size: number;
55
+ refCount: number;
56
+ createdAt: Date;
57
+ }
58
+ interface FileChunkEntity {
59
+ fileId: string;
60
+ chunkHash: string;
61
+ chunkIndex: number;
62
+ createdAt: Date;
63
+ }
64
+ interface CreateFileOptions {
65
+ filename: string;
66
+ size: number;
67
+ mimeType: string;
68
+ fileHash: string;
69
+ uploadToken: string;
70
+ chunkSize: number;
71
+ totalChunks: number;
72
+ }
73
+ interface UpdateFileOptions {
74
+ uploadedChunks?: number;
75
+ status?: "pending" | "uploading" | "completed" | "failed";
76
+ completedAt?: Date;
77
+ url?: string;
78
+ fileHash?: string;
79
+ }
80
+ interface DatabaseAdapter {
81
+ initialize(): Promise<void>;
82
+ createFile(fileId: string, options: CreateFileOptions): Promise<FileMetadata>;
83
+ getFile(fileId: string): Promise<FileMetadata | null>;
84
+ getFileByHash(fileHash: string): Promise<FileMetadata | null>;
85
+ getFileByToken(uploadToken: string): Promise<FileMetadata | null>;
86
+ updateFile(fileId: string, options: UpdateFileOptions): Promise<FileMetadata>;
87
+ deleteFile(fileId: string): Promise<void>;
88
+ upsertChunk(chunkHash: string, size: number): Promise<ChunkEntity>;
89
+ getChunk(chunkHash: string): Promise<ChunkEntity | null>;
90
+ chunkExists(chunkHash: string): Promise<boolean>;
91
+ chunksExist(chunkHashes: string[]): Promise<boolean[]>;
92
+ decrementChunkRef(chunkHash: string): Promise<void>;
93
+ createFileChunk(fileId: string, chunkHash: string, chunkIndex: number): Promise<FileChunkEntity>;
94
+ getFileChunks(fileId: string): Promise<FileChunkEntity[]>;
95
+ getFileChunkHashes(fileId: string): Promise<string[]>;
96
+ deleteFileChunks(fileId: string): Promise<void>;
97
+ transaction<T>(callback: () => Promise<T>): Promise<T>;
98
+ cleanup(): Promise<void>;
99
+ }
100
+ //#endregion
101
+ //#region src/memory-database-adapter.d.ts
102
+ declare class MemoryDatabaseAdapter implements DatabaseAdapter {
103
+ private files;
104
+ private chunks;
105
+ private fileChunks;
106
+ initialize(): Promise<void>;
107
+ createFile(fileId: string, options: CreateFileOptions): Promise<FileMetadata>;
108
+ getFile(fileId: string): Promise<FileMetadata | null>;
109
+ getFileByHash(fileHash: string): Promise<FileMetadata | null>;
110
+ getFileByToken(uploadToken: string): Promise<FileMetadata | null>;
111
+ updateFile(fileId: string, options: UpdateFileOptions): Promise<FileMetadata>;
112
+ deleteFile(fileId: string): Promise<void>;
113
+ upsertChunk(chunkHash: string, size: number): Promise<ChunkEntity>;
114
+ getChunk(chunkHash: string): Promise<ChunkEntity | null>;
115
+ chunkExists(chunkHash: string): Promise<boolean>;
116
+ chunksExist(chunkHashes: string[]): Promise<boolean[]>;
117
+ decrementChunkRef(chunkHash: string): Promise<void>;
118
+ createFileChunk(fileId: string, chunkHash: string, chunkIndex: number): Promise<FileChunkEntity>;
119
+ getFileChunks(fileId: string): Promise<FileChunkEntity[]>;
120
+ getFileChunkHashes(fileId: string): Promise<string[]>;
121
+ deleteFileChunks(fileId: string): Promise<void>;
122
+ transaction<T>(callback: () => Promise<T>): Promise<T>;
123
+ cleanup(): Promise<void>;
124
+ }
125
+ //#endregion
126
+ //#region src/upload-service.d.ts
127
+ interface UploadServiceOptions {
128
+ storageAdapter: StorageAdapter;
129
+ databaseAdapter: DatabaseAdapter;
130
+ jwtSecret: string;
131
+ tokenExpiration?: number;
132
+ minChunkSize?: number;
133
+ maxChunkSize?: number;
134
+ defaultChunkSize?: number;
135
+ }
136
+ declare class UploadService {
137
+ private storageAdapter;
138
+ private databaseAdapter;
139
+ private jwtSecret;
140
+ private tokenExpiration;
141
+ private minChunkSize;
142
+ private maxChunkSize;
143
+ constructor(options: UploadServiceOptions);
144
+ initialize(): Promise<void>;
145
+ cleanup(): Promise<void>;
146
+ private generateFileId;
147
+ private generateUploadToken;
148
+ private verifyUploadToken;
149
+ private negotiateChunkSize;
150
+ createFile(request: CreateFileRequest): Promise<CreateFileResponse>;
151
+ verifyHash(request: VerifyHashRequest): Promise<VerifyHashResponse>;
152
+ uploadChunk(request: UploadChunkRequest): Promise<UploadChunkResponse>;
153
+ mergeFile(request: MergeFileRequest): Promise<MergeFileResponse>;
154
+ getFileMetadata(fileId: string): Promise<FileMetadata | null>;
155
+ getFileStream(fileId: string, range?: {
156
+ start: number;
157
+ end: number;
158
+ }): Promise<{
159
+ stream: NodeJS.ReadableStream;
160
+ size: number;
161
+ mimeType: string;
162
+ } | null>;
163
+ }
164
+ //#endregion
165
+ export { ChunkEntity, CreateFileOptions, DatabaseAdapter, FileChunkEntity, FileMetadata, LocalStorageAdapter, LocalStorageAdapterOptions, MemoryDatabaseAdapter, StorageAdapter, UpdateFileOptions, UploadService, UploadServiceOptions };
166
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/storage-adapter.ts","../src/local-storage-adapter.ts","../src/database-adapter.ts","../src/memory-database-adapter.ts","../src/upload-service.ts"],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { Readable } from "stream";
2
+ import { CreateFileRequest, CreateFileResponse, MergeFileRequest, MergeFileResponse, UploadChunkRequest, UploadChunkResponse, VerifyHashRequest, VerifyHashResponse } from "@chunkflowjs/protocol";
3
+
4
+ //#region src/storage-adapter.d.ts
5
+ interface StorageAdapter {
6
+ saveChunk(chunkHash: string, data: Buffer): Promise<void>;
7
+ getChunk(chunkHash: string): Promise<Buffer | null>;
8
+ chunkExists(chunkHash: string): Promise<boolean>;
9
+ chunksExist(chunkHashes: string[]): Promise<boolean[]>;
10
+ getChunkStream(chunkHash: string): Promise<Readable | null>;
11
+ deleteChunk(chunkHash: string): Promise<void>;
12
+ initialize(): Promise<void>;
13
+ cleanup(): Promise<void>;
14
+ }
15
+ //#endregion
16
+ //#region src/local-storage-adapter.d.ts
17
+ interface LocalStorageAdapterOptions {
18
+ baseDir?: string;
19
+ }
20
+ declare class LocalStorageAdapter implements StorageAdapter {
21
+ private baseDir;
22
+ private initialized;
23
+ constructor(options?: LocalStorageAdapterOptions);
24
+ initialize(): Promise<void>;
25
+ private getChunkPath;
26
+ saveChunk(chunkHash: string, data: Buffer): Promise<void>;
27
+ getChunk(chunkHash: string): Promise<Buffer | null>;
28
+ chunkExists(chunkHash: string): Promise<boolean>;
29
+ chunksExist(chunkHashes: string[]): Promise<boolean[]>;
30
+ getChunkStream(chunkHash: string): Promise<Readable | null>;
31
+ deleteChunk(chunkHash: string): Promise<void>;
32
+ cleanup(): Promise<void>;
33
+ }
34
+ //#endregion
35
+ //#region src/database-adapter.d.ts
36
+ interface FileMetadata {
37
+ fileId: string;
38
+ filename: string;
39
+ size: number;
40
+ mimeType: string;
41
+ fileHash: string;
42
+ uploadToken: string;
43
+ chunkSize: number;
44
+ totalChunks: number;
45
+ uploadedChunks: number;
46
+ status: "pending" | "uploading" | "completed" | "failed";
47
+ createdAt: Date;
48
+ updatedAt: Date;
49
+ completedAt?: Date;
50
+ url?: string;
51
+ }
52
+ interface ChunkEntity {
53
+ chunkHash: string;
54
+ size: number;
55
+ refCount: number;
56
+ createdAt: Date;
57
+ }
58
+ interface FileChunkEntity {
59
+ fileId: string;
60
+ chunkHash: string;
61
+ chunkIndex: number;
62
+ createdAt: Date;
63
+ }
64
+ interface CreateFileOptions {
65
+ filename: string;
66
+ size: number;
67
+ mimeType: string;
68
+ fileHash: string;
69
+ uploadToken: string;
70
+ chunkSize: number;
71
+ totalChunks: number;
72
+ }
73
+ interface UpdateFileOptions {
74
+ uploadedChunks?: number;
75
+ status?: "pending" | "uploading" | "completed" | "failed";
76
+ completedAt?: Date;
77
+ url?: string;
78
+ fileHash?: string;
79
+ }
80
+ interface DatabaseAdapter {
81
+ initialize(): Promise<void>;
82
+ createFile(fileId: string, options: CreateFileOptions): Promise<FileMetadata>;
83
+ getFile(fileId: string): Promise<FileMetadata | null>;
84
+ getFileByHash(fileHash: string): Promise<FileMetadata | null>;
85
+ getFileByToken(uploadToken: string): Promise<FileMetadata | null>;
86
+ updateFile(fileId: string, options: UpdateFileOptions): Promise<FileMetadata>;
87
+ deleteFile(fileId: string): Promise<void>;
88
+ upsertChunk(chunkHash: string, size: number): Promise<ChunkEntity>;
89
+ getChunk(chunkHash: string): Promise<ChunkEntity | null>;
90
+ chunkExists(chunkHash: string): Promise<boolean>;
91
+ chunksExist(chunkHashes: string[]): Promise<boolean[]>;
92
+ decrementChunkRef(chunkHash: string): Promise<void>;
93
+ createFileChunk(fileId: string, chunkHash: string, chunkIndex: number): Promise<FileChunkEntity>;
94
+ getFileChunks(fileId: string): Promise<FileChunkEntity[]>;
95
+ getFileChunkHashes(fileId: string): Promise<string[]>;
96
+ deleteFileChunks(fileId: string): Promise<void>;
97
+ transaction<T>(callback: () => Promise<T>): Promise<T>;
98
+ cleanup(): Promise<void>;
99
+ }
100
+ //#endregion
101
+ //#region src/memory-database-adapter.d.ts
102
+ declare class MemoryDatabaseAdapter implements DatabaseAdapter {
103
+ private files;
104
+ private chunks;
105
+ private fileChunks;
106
+ initialize(): Promise<void>;
107
+ createFile(fileId: string, options: CreateFileOptions): Promise<FileMetadata>;
108
+ getFile(fileId: string): Promise<FileMetadata | null>;
109
+ getFileByHash(fileHash: string): Promise<FileMetadata | null>;
110
+ getFileByToken(uploadToken: string): Promise<FileMetadata | null>;
111
+ updateFile(fileId: string, options: UpdateFileOptions): Promise<FileMetadata>;
112
+ deleteFile(fileId: string): Promise<void>;
113
+ upsertChunk(chunkHash: string, size: number): Promise<ChunkEntity>;
114
+ getChunk(chunkHash: string): Promise<ChunkEntity | null>;
115
+ chunkExists(chunkHash: string): Promise<boolean>;
116
+ chunksExist(chunkHashes: string[]): Promise<boolean[]>;
117
+ decrementChunkRef(chunkHash: string): Promise<void>;
118
+ createFileChunk(fileId: string, chunkHash: string, chunkIndex: number): Promise<FileChunkEntity>;
119
+ getFileChunks(fileId: string): Promise<FileChunkEntity[]>;
120
+ getFileChunkHashes(fileId: string): Promise<string[]>;
121
+ deleteFileChunks(fileId: string): Promise<void>;
122
+ transaction<T>(callback: () => Promise<T>): Promise<T>;
123
+ cleanup(): Promise<void>;
124
+ }
125
+ //#endregion
126
+ //#region src/upload-service.d.ts
127
+ interface UploadServiceOptions {
128
+ storageAdapter: StorageAdapter;
129
+ databaseAdapter: DatabaseAdapter;
130
+ jwtSecret: string;
131
+ tokenExpiration?: number;
132
+ minChunkSize?: number;
133
+ maxChunkSize?: number;
134
+ defaultChunkSize?: number;
135
+ }
136
+ declare class UploadService {
137
+ private storageAdapter;
138
+ private databaseAdapter;
139
+ private jwtSecret;
140
+ private tokenExpiration;
141
+ private minChunkSize;
142
+ private maxChunkSize;
143
+ constructor(options: UploadServiceOptions);
144
+ initialize(): Promise<void>;
145
+ cleanup(): Promise<void>;
146
+ private generateFileId;
147
+ private generateUploadToken;
148
+ private verifyUploadToken;
149
+ private negotiateChunkSize;
150
+ createFile(request: CreateFileRequest): Promise<CreateFileResponse>;
151
+ verifyHash(request: VerifyHashRequest): Promise<VerifyHashResponse>;
152
+ uploadChunk(request: UploadChunkRequest): Promise<UploadChunkResponse>;
153
+ mergeFile(request: MergeFileRequest): Promise<MergeFileResponse>;
154
+ getFileMetadata(fileId: string): Promise<FileMetadata | null>;
155
+ getFileStream(fileId: string, range?: {
156
+ start: number;
157
+ end: number;
158
+ }): Promise<{
159
+ stream: NodeJS.ReadableStream;
160
+ size: number;
161
+ mimeType: string;
162
+ } | null>;
163
+ }
164
+ //#endregion
165
+ export { ChunkEntity, CreateFileOptions, DatabaseAdapter, FileChunkEntity, FileMetadata, LocalStorageAdapter, LocalStorageAdapterOptions, MemoryDatabaseAdapter, StorageAdapter, UpdateFileOptions, UploadService, UploadServiceOptions };
166
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/storage-adapter.ts","../src/local-storage-adapter.ts","../src/database-adapter.ts","../src/memory-database-adapter.ts","../src/upload-service.ts"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * from "./storage-adapter";
2
+ export * from "./local-storage-adapter";
3
+ export * from "./database-adapter";
4
+ export * from "./memory-database-adapter";
5
+ export * from "./upload-service";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC"}