@oxyhq/services 5.10.6 → 5.10.8

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.
@@ -1 +0,0 @@
1
- {"version":3,"names":["createS3FileManager","createS3FileManagerRN","s3Config","region","accessKeyId","secretAccessKey","bucketName","WebFileManagerExample","constructor","s3Manager","uploadFileFromForm","fileInput","file","files","Error","key","Date","now","name","uploadOptions","contentType","type","metadata","originalName","uploadedBy","uploadedAt","toISOString","publicRead","url","uploadFile","console","log","error","uploadMultipleFiles","fileList","Array","from","map","options","urls","downloadFile","buffer","blob","Blob","URL","createObjectURL","a","document","createElement","href","download","split","pop","body","appendChild","click","removeChild","revokeObjectURL","getPresignedUrls","uploadUrl","getPresignedUploadUrl","downloadUrl","getPresignedDownloadUrl","upload","listFiles","prefix","maxKeys","forEach","size","lastModified","performFileOperations","sourceKey","destKey","copyFile","moveFile","deleteFile","ReactNativeFileManagerExample","uploadFileFromRN","fileInfo","fileSize","toString","uploadImageWithValidation","maxSize","getFileSize","category","uploadImage","downloadFileToRN","length","performBatchOperations","uploadPromises","index","batchId","uploadedUrls","Promise","all","keysToDelete","deleteMultipleFiles","useS3FileManager","webManager","rnManager","handleFileUpload","mockInput","handleFileDownload","window","bind","uploadWithRetry","maxRetries","isRNManager","manager","lastError","attempt","warn","delay","Math","pow","resolve","setTimeout","message","validateFile","errors","allowedTypes","allowedExtensions","push","includes","extension","toLowerCase","isValid"],"sourceRoot":"../../../src","sources":["utils/s3FileManagerExample.ts"],"mappings":"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","ignoreList":[]}
@@ -1,268 +0,0 @@
1
- "use strict";
2
-
3
- import { S3Client, PutObjectCommand, GetObjectCommand, DeleteObjectCommand, ListObjectsV2Command } from '@aws-sdk/client-s3';
4
- import { getSignedUrl } from '@aws-sdk/s3-request-presigner';
5
- export class S3FileManagerRN {
6
- constructor(config) {
7
- this.s3Client = new S3Client({
8
- region: config.region,
9
- credentials: {
10
- accessKeyId: config.accessKeyId,
11
- secretAccessKey: config.secretAccessKey
12
- }
13
- });
14
- this.bucketName = config.bucketName;
15
- }
16
-
17
- /**
18
- * Upload a file to S3 from React Native
19
- */
20
- async uploadFile(key, file, options = {}) {
21
- let body;
22
- let contentType = options.contentType;
23
- if (this.isRNFile(file)) {
24
- body = await this.rnFileToBuffer(file);
25
- contentType = contentType || file.type || 'application/octet-stream';
26
- } else if (typeof file === 'string') {
27
- body = file;
28
- contentType = contentType || 'text/plain';
29
- } else {
30
- body = file;
31
- contentType = contentType || 'application/octet-stream';
32
- }
33
- const command = new PutObjectCommand({
34
- Bucket: this.bucketName,
35
- Key: key,
36
- Body: body,
37
- ContentType: contentType,
38
- Metadata: options.metadata,
39
- ACL: options.publicRead ? 'public-read' : 'private'
40
- });
41
- await this.s3Client.send(command);
42
- return `https://${this.bucketName}.s3.amazonaws.com/${key}`;
43
- }
44
-
45
- /**
46
- * Download a file from S3 to React Native
47
- */
48
- async downloadFile(key) {
49
- const command = new GetObjectCommand({
50
- Bucket: this.bucketName,
51
- Key: key
52
- });
53
- const response = await this.s3Client.send(command);
54
- if (!response.Body) {
55
- throw new Error('File not found or empty');
56
- }
57
-
58
- // Convert stream to buffer
59
- const chunks = [];
60
- const reader = response.Body.transformToWebStream().getReader();
61
- while (true) {
62
- const {
63
- done,
64
- value
65
- } = await reader.read();
66
- if (done) break;
67
- chunks.push(value);
68
- }
69
- return Buffer.concat(chunks);
70
- }
71
-
72
- /**
73
- * Delete a file from S3
74
- */
75
- async deleteFile(key) {
76
- const command = new DeleteObjectCommand({
77
- Bucket: this.bucketName,
78
- Key: key
79
- });
80
- await this.s3Client.send(command);
81
- }
82
-
83
- /**
84
- * Generate a presigned URL for file upload
85
- */
86
- async getPresignedUploadUrl(key, contentType, expiresIn = 3600) {
87
- const command = new PutObjectCommand({
88
- Bucket: this.bucketName,
89
- Key: key,
90
- ContentType: contentType
91
- });
92
- return getSignedUrl(this.s3Client, command, {
93
- expiresIn
94
- });
95
- }
96
-
97
- /**
98
- * Generate a presigned URL for file download
99
- */
100
- async getPresignedDownloadUrl(key, expiresIn = 3600) {
101
- const command = new GetObjectCommand({
102
- Bucket: this.bucketName,
103
- Key: key
104
- });
105
- return getSignedUrl(this.s3Client, command, {
106
- expiresIn
107
- });
108
- }
109
-
110
- /**
111
- * List files in a directory
112
- */
113
- async listFiles(prefix = '', maxKeys = 1000) {
114
- const command = new ListObjectsV2Command({
115
- Bucket: this.bucketName,
116
- Prefix: prefix,
117
- MaxKeys: maxKeys
118
- });
119
- const response = await this.s3Client.send(command);
120
- if (!response.Contents) {
121
- return [];
122
- }
123
- return response.Contents.map(item => ({
124
- key: item.Key,
125
- size: item.Size || 0,
126
- lastModified: item.LastModified
127
- }));
128
- }
129
-
130
- /**
131
- * Check if a file exists
132
- */
133
- async fileExists(key) {
134
- try {
135
- const command = new GetObjectCommand({
136
- Bucket: this.bucketName,
137
- Key: key
138
- });
139
- await this.s3Client.send(command);
140
- return true;
141
- } catch (error) {
142
- if (error.name === 'NoSuchKey') {
143
- return false;
144
- }
145
- throw error;
146
- }
147
- }
148
-
149
- /**
150
- * Get file metadata
151
- */
152
- async getFileMetadata(key) {
153
- try {
154
- const command = new GetObjectCommand({
155
- Bucket: this.bucketName,
156
- Key: key
157
- });
158
- const response = await this.s3Client.send(command);
159
- return {
160
- key,
161
- size: parseInt(response.ContentLength?.toString() || '0'),
162
- lastModified: response.LastModified,
163
- contentType: response.ContentType,
164
- metadata: response.Metadata
165
- };
166
- } catch (error) {
167
- if (error.name === 'NoSuchKey') {
168
- return null;
169
- }
170
- throw error;
171
- }
172
- }
173
-
174
- /**
175
- * Convert React Native file to Buffer
176
- */
177
- async rnFileToBuffer(file) {
178
- try {
179
- // For React Native, we need to fetch the file from the URI
180
- const response = await fetch(file.uri);
181
- const arrayBuffer = await response.arrayBuffer();
182
- return Buffer.from(arrayBuffer);
183
- } catch (error) {
184
- throw new Error(`Failed to read React Native file: ${error}`);
185
- }
186
- }
187
-
188
- /**
189
- * Type guard to check if object is RNFile
190
- */
191
- isRNFile(file) {
192
- return file && typeof file === 'object' && 'uri' in file && 'name' in file;
193
- }
194
-
195
- /**
196
- * Upload multiple files
197
- */
198
- async uploadMultipleFiles(files) {
199
- const uploadPromises = files.map(({
200
- key,
201
- file,
202
- options
203
- }) => this.uploadFile(key, file, options));
204
- return Promise.all(uploadPromises);
205
- }
206
-
207
- /**
208
- * Delete multiple files
209
- */
210
- async deleteMultipleFiles(keys) {
211
- const deletePromises = keys.map(key => this.deleteFile(key));
212
- await Promise.all(deletePromises);
213
- }
214
-
215
- /**
216
- * Copy file from one key to another
217
- */
218
- async copyFile(sourceKey, destinationKey) {
219
- const command = new PutObjectCommand({
220
- Bucket: this.bucketName,
221
- Key: destinationKey,
222
- Body: await this.downloadFile(sourceKey)
223
- });
224
- await this.s3Client.send(command);
225
- }
226
-
227
- /**
228
- * Move file (copy + delete)
229
- */
230
- async moveFile(sourceKey, destinationKey) {
231
- await this.copyFile(sourceKey, destinationKey);
232
- await this.deleteFile(sourceKey);
233
- }
234
-
235
- /**
236
- * Upload image with automatic resizing (placeholder for future implementation)
237
- */
238
- async uploadImage(key, file, options = {}) {
239
- // For now, just upload as regular file
240
- // In the future, this could integrate with image processing libraries
241
- return this.uploadFile(key, file, options);
242
- }
243
-
244
- /**
245
- * Get file size from React Native file
246
- */
247
- async getFileSize(file) {
248
- if (file.size) {
249
- return file.size;
250
- }
251
- try {
252
- const response = await fetch(file.uri, {
253
- method: 'HEAD'
254
- });
255
- const contentLength = response.headers.get('content-length');
256
- return contentLength ? parseInt(contentLength, 10) : 0;
257
- } catch (error) {
258
- console.warn('Could not determine file size:', error);
259
- return 0;
260
- }
261
- }
262
- }
263
-
264
- // Export a factory function for easier configuration
265
- export function createS3FileManagerRN(config) {
266
- return new S3FileManagerRN(config);
267
- }
268
- //# sourceMappingURL=s3FileManagerRN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["S3Client","PutObjectCommand","GetObjectCommand","DeleteObjectCommand","ListObjectsV2Command","getSignedUrl","S3FileManagerRN","constructor","config","s3Client","region","credentials","accessKeyId","secretAccessKey","bucketName","uploadFile","key","file","options","body","contentType","isRNFile","rnFileToBuffer","type","command","Bucket","Key","Body","ContentType","Metadata","metadata","ACL","publicRead","send","downloadFile","response","Error","chunks","reader","transformToWebStream","getReader","done","value","read","push","Buffer","concat","deleteFile","getPresignedUploadUrl","expiresIn","getPresignedDownloadUrl","listFiles","prefix","maxKeys","Prefix","MaxKeys","Contents","map","item","size","Size","lastModified","LastModified","fileExists","error","name","getFileMetadata","parseInt","ContentLength","toString","fetch","uri","arrayBuffer","from","uploadMultipleFiles","files","uploadPromises","Promise","all","deleteMultipleFiles","keys","deletePromises","copyFile","sourceKey","destinationKey","moveFile","uploadImage","getFileSize","method","contentLength","headers","get","console","warn","createS3FileManagerRN"],"sourceRoot":"../../../src","sources":["utils/s3FileManagerRN.ts"],"mappings":"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","ignoreList":[]}
@@ -1,81 +0,0 @@
1
- export interface S3Config {
2
- region: string;
3
- accessKeyId: string;
4
- secretAccessKey: string;
5
- bucketName: string;
6
- }
7
- export interface UploadOptions {
8
- contentType?: string;
9
- metadata?: Record<string, string>;
10
- publicRead?: boolean;
11
- }
12
- export interface FileInfo {
13
- key: string;
14
- size: number;
15
- lastModified: Date;
16
- contentType?: string;
17
- metadata?: Record<string, string>;
18
- }
19
- export declare class S3FileManager {
20
- private s3Client;
21
- private bucketName;
22
- constructor(config: S3Config);
23
- /**
24
- * Upload a file to S3
25
- */
26
- uploadFile(key: string, file: File | Buffer | string, options?: UploadOptions): Promise<string>;
27
- /**
28
- * Download a file from S3
29
- */
30
- downloadFile(key: string): Promise<Buffer>;
31
- /**
32
- * Delete a file from S3
33
- */
34
- deleteFile(key: string): Promise<void>;
35
- /**
36
- * Generate a presigned URL for file upload
37
- */
38
- getPresignedUploadUrl(key: string, contentType: string, expiresIn?: number): Promise<string>;
39
- /**
40
- * Generate a presigned URL for file download
41
- */
42
- getPresignedDownloadUrl(key: string, expiresIn?: number): Promise<string>;
43
- /**
44
- * List files in a directory
45
- */
46
- listFiles(prefix?: string, maxKeys?: number): Promise<FileInfo[]>;
47
- /**
48
- * Check if a file exists
49
- */
50
- fileExists(key: string): Promise<boolean>;
51
- /**
52
- * Get file metadata
53
- */
54
- getFileMetadata(key: string): Promise<FileInfo | null>;
55
- /**
56
- * Convert File object to Buffer (for React Native compatibility)
57
- */
58
- private fileToBuffer;
59
- /**
60
- * Upload multiple files
61
- */
62
- uploadMultipleFiles(files: Array<{
63
- key: string;
64
- file: File | Buffer | string;
65
- options?: UploadOptions;
66
- }>): Promise<string[]>;
67
- /**
68
- * Delete multiple files
69
- */
70
- deleteMultipleFiles(keys: string[]): Promise<void>;
71
- /**
72
- * Copy file from one key to another
73
- */
74
- copyFile(sourceKey: string, destinationKey: string): Promise<void>;
75
- /**
76
- * Move file (copy + delete)
77
- */
78
- moveFile(sourceKey: string, destinationKey: string): Promise<void>;
79
- }
80
- export declare function createS3FileManager(config: S3Config): S3FileManager;
81
- //# sourceMappingURL=s3FileManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"s3FileManager.d.ts","sourceRoot":"","sources":["../../../src/utils/s3FileManager.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,IAAI,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,EAAE,QAAQ;IAW5B;;OAEG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC;IA4BlB;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBhD;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5C;;OAEG;IACG,qBAAqB,CACzB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,MAAM,CAAC;IAUlB;;OAEG;IACG,uBAAuB,CAC3B,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,MAAM,CAAC;IASlB;;OAEG;IACG,SAAS,CAAC,MAAM,GAAE,MAAW,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoBjF;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB/C;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAwB5D;;OAEG;YACW,YAAY;IAe1B;;OAEG;IACG,mBAAmB,CACvB,KAAK,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC,GACnF,OAAO,CAAC,MAAM,EAAE,CAAC;IAQpB;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxE;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIzE;AAGD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,CAEnE"}
@@ -1,87 +0,0 @@
1
- /**
2
- * S3 File Management Examples
3
- *
4
- * This file demonstrates how to use the S3 file management functionality
5
- * in both web and React Native environments.
6
- */
7
- import { S3FileManager, UploadOptions } from './s3FileManager';
8
- import { S3FileManagerRN, RNFile } from './s3FileManagerRN';
9
- export declare class WebFileManagerExample {
10
- private s3Manager;
11
- constructor();
12
- /**
13
- * Example: Upload a file from web form
14
- */
15
- uploadFileFromForm(fileInput: HTMLInputElement): Promise<string>;
16
- /**
17
- * Example: Upload multiple files
18
- */
19
- uploadMultipleFiles(fileList: FileList): Promise<string[]>;
20
- /**
21
- * Example: Download a file
22
- */
23
- downloadFile(key: string): Promise<void>;
24
- /**
25
- * Example: Get presigned URLs
26
- */
27
- getPresignedUrls(key: string): Promise<{
28
- upload: string;
29
- download: string;
30
- }>;
31
- /**
32
- * Example: List files with pagination
33
- */
34
- listFiles(prefix?: string, maxKeys?: number): Promise<void>;
35
- /**
36
- * Example: File operations (copy, move, delete)
37
- */
38
- performFileOperations(): Promise<void>;
39
- }
40
- export declare class ReactNativeFileManagerExample {
41
- private s3Manager;
42
- constructor();
43
- /**
44
- * Example: Upload a file from React Native
45
- */
46
- uploadFileFromRN(fileInfo: RNFile): Promise<string>;
47
- /**
48
- * Example: Upload image with size validation
49
- */
50
- uploadImageWithValidation(fileInfo: RNFile, maxSize?: number): Promise<string>;
51
- /**
52
- * Example: Download file to React Native
53
- */
54
- downloadFileToRN(key: string): Promise<Buffer>;
55
- /**
56
- * Example: Batch operations
57
- */
58
- performBatchOperations(files: RNFile[]): Promise<void>;
59
- }
60
- /**
61
- * Example usage in a React component
62
- */
63
- export declare const useS3FileManager: () => {
64
- uploadFile: (file: File | RNFile) => Promise<string>;
65
- downloadFile: (key: string) => Promise<Buffer<ArrayBufferLike> | undefined>;
66
- listFiles: (prefix?: string, maxKeys?: number) => Promise<void>;
67
- getPresignedUrls: (key: string) => Promise<{
68
- upload: string;
69
- download: string;
70
- }>;
71
- };
72
- /**
73
- * Example: Error handling and retry logic
74
- */
75
- export declare const uploadWithRetry: (s3Manager: S3FileManager | S3FileManagerRN, key: string, file: File | RNFile | Buffer, options?: UploadOptions, maxRetries?: number) => Promise<string>;
76
- /**
77
- * Example: File validation utilities
78
- */
79
- export declare const validateFile: (file: File | RNFile, options?: {
80
- maxSize?: number;
81
- allowedTypes?: string[];
82
- allowedExtensions?: string[];
83
- }) => {
84
- isValid: boolean;
85
- errors: string[];
86
- };
87
- //# sourceMappingURL=s3FileManagerExample.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"s3FileManagerExample.d.ts","sourceRoot":"","sources":["../../../src/utils/s3FileManagerExample.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,aAAa,EAGb,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,eAAe,EAEf,MAAM,EACP,MAAM,mBAAmB,CAAC;AAc3B,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAgB;;IAMjC;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BtE;;OAEG;IACG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyBhE;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB9C;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAYlF;;OAEG;IACG,SAAS,CAAC,MAAM,GAAE,MAAW,EAAE,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAczE;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;CAqB7C;AAMD,qBAAa,6BAA6B;IACxC,OAAO,CAAC,SAAS,CAAkB;;IAMnC;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBzD;;OAEG;IACG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;IA+BrG;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpD;;OAEG;IACG,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA0B7D;AAMD;;GAEG;AACH,eAAO,MAAM,gBAAgB;uBAIW,IAAI,GAAG,MAAM;wBAgBZ,MAAM;yBAvLrB,MAAM,YAAgB,MAAM,KAAQ,OAAO,CAAC,IAAI,CAAC;4BAf7C,MAAM,KAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CA6NnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,WAAW,aAAa,GAAG,eAAe,EAC1C,KAAK,MAAM,EACX,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,EAC5B,UAAS,aAAkB,EAC3B,aAAY,MAAU,KACrB,OAAO,CAAC,MAAM,CAqChB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,MAAM,IAAI,GAAG,MAAM,EACnB,UAAS;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,KACL;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CA0BtC,CAAC"}
@@ -1,104 +0,0 @@
1
- export interface S3Config {
2
- region: string;
3
- accessKeyId: string;
4
- secretAccessKey: string;
5
- bucketName: string;
6
- }
7
- export interface UploadOptions {
8
- contentType?: string;
9
- metadata?: Record<string, string>;
10
- publicRead?: boolean;
11
- }
12
- export interface FileInfo {
13
- key: string;
14
- size: number;
15
- lastModified: Date;
16
- contentType?: string;
17
- metadata?: Record<string, string>;
18
- }
19
- export interface RNFile {
20
- uri: string;
21
- name: string;
22
- type?: string;
23
- size?: number;
24
- }
25
- export declare class S3FileManagerRN {
26
- private s3Client;
27
- private bucketName;
28
- constructor(config: S3Config);
29
- /**
30
- * Upload a file to S3 from React Native
31
- */
32
- uploadFile(key: string, file: RNFile | Buffer | string, options?: UploadOptions): Promise<string>;
33
- /**
34
- * Download a file from S3 to React Native
35
- */
36
- downloadFile(key: string): Promise<Buffer>;
37
- /**
38
- * Delete a file from S3
39
- */
40
- deleteFile(key: string): Promise<void>;
41
- /**
42
- * Generate a presigned URL for file upload
43
- */
44
- getPresignedUploadUrl(key: string, contentType: string, expiresIn?: number): Promise<string>;
45
- /**
46
- * Generate a presigned URL for file download
47
- */
48
- getPresignedDownloadUrl(key: string, expiresIn?: number): Promise<string>;
49
- /**
50
- * List files in a directory
51
- */
52
- listFiles(prefix?: string, maxKeys?: number): Promise<FileInfo[]>;
53
- /**
54
- * Check if a file exists
55
- */
56
- fileExists(key: string): Promise<boolean>;
57
- /**
58
- * Get file metadata
59
- */
60
- getFileMetadata(key: string): Promise<FileInfo | null>;
61
- /**
62
- * Convert React Native file to Buffer
63
- */
64
- private rnFileToBuffer;
65
- /**
66
- * Type guard to check if object is RNFile
67
- */
68
- private isRNFile;
69
- /**
70
- * Upload multiple files
71
- */
72
- uploadMultipleFiles(files: Array<{
73
- key: string;
74
- file: RNFile | Buffer | string;
75
- options?: UploadOptions;
76
- }>): Promise<string[]>;
77
- /**
78
- * Delete multiple files
79
- */
80
- deleteMultipleFiles(keys: string[]): Promise<void>;
81
- /**
82
- * Copy file from one key to another
83
- */
84
- copyFile(sourceKey: string, destinationKey: string): Promise<void>;
85
- /**
86
- * Move file (copy + delete)
87
- */
88
- moveFile(sourceKey: string, destinationKey: string): Promise<void>;
89
- /**
90
- * Upload image with automatic resizing (placeholder for future implementation)
91
- */
92
- uploadImage(key: string, file: RNFile, options?: UploadOptions & {
93
- resize?: {
94
- width?: number;
95
- height?: number;
96
- };
97
- }): Promise<string>;
98
- /**
99
- * Get file size from React Native file
100
- */
101
- getFileSize(file: RNFile): Promise<number>;
102
- }
103
- export declare function createS3FileManagerRN(config: S3Config): S3FileManagerRN;
104
- //# sourceMappingURL=s3FileManagerRN.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"s3FileManagerRN.d.ts","sourceRoot":"","sources":["../../../src/utils/s3FileManagerRN.ts"],"names":[],"mappings":"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"}