@rr-vault/sdk 1.0.2 → 1.0.4
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.
- package/README.md +115 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +41 -9
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/s3.d.ts.map +1 -1
- package/dist/s3.js +3 -1
- package/dist/s3.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# @rr-vault/sdk 🚀
|
|
2
|
+
|
|
3
|
+
**RR-Vault SDK** is a developer-first cloud storage client designed for securely uploading, managing, and delivering files using API keys, app-based access, and scalable infrastructure.
|
|
4
|
+
|
|
5
|
+
Built on top of Cloudflare R2 (S3-compatible), it provides a simplified interface with **Automatic Lazy Validation** against your backend API.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 📦 Installation
|
|
10
|
+
|
|
11
|
+
Install the package via npm:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @rr-vault/sdk
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## ⚡ Quick Start
|
|
20
|
+
|
|
21
|
+
### 1. Configure the SDK
|
|
22
|
+
Initialize the SDK with your `appId` and `secretKey`. These will be validated automatically when you perform your first operation.
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import { RRVault } from '@rr-vault/sdk';
|
|
26
|
+
|
|
27
|
+
RRVault.config({
|
|
28
|
+
appId: 'your-app-id',
|
|
29
|
+
secretKey: 'your-secret-key'
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 2. Upload a File
|
|
34
|
+
The validation happens automatically during the first upload. If the credentials are invalid, an error will be thrown.
|
|
35
|
+
|
|
36
|
+
```typescript
|
|
37
|
+
try {
|
|
38
|
+
const fileContent = Buffer.from("Hello RR-Vault!"); // Or a File blob in browser
|
|
39
|
+
|
|
40
|
+
const result = await RRVault.upload(fileContent, "myfile.txt", {
|
|
41
|
+
folder: "documents",
|
|
42
|
+
contentType: "text/plain"
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
console.log("Upload Success:", result.url);
|
|
46
|
+
console.log("Storage Key:", result.key);
|
|
47
|
+
} catch (error) {
|
|
48
|
+
console.error("Upload failed:", error.message);
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 3. Delete a File
|
|
53
|
+
Delete files using their unique storage key.
|
|
54
|
+
|
|
55
|
+
```typescript
|
|
56
|
+
const result = await RRVault.delete("documents/171165...-myfile.txt");
|
|
57
|
+
|
|
58
|
+
if (result.success) {
|
|
59
|
+
console.log("File deleted successfully");
|
|
60
|
+
} else {
|
|
61
|
+
console.log("Delete failed:", result.message);
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## 🛡️ Automatic Lazy Validation
|
|
68
|
+
The SDK uses a "Lazy Validation" mechanism to stay fast and efficient:
|
|
69
|
+
- `RRVault.config()` only stores credentials locally.
|
|
70
|
+
- The **first call** to `upload()` or `delete()` triggers a validation request to the backend.
|
|
71
|
+
- Results are cached for the duration of the session, so subsequent calls are instantaneous.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 🛠️ API Reference
|
|
76
|
+
|
|
77
|
+
### `RRVault.config(options: RRVaultConfig)`
|
|
78
|
+
Sets up the SDK credentials.
|
|
79
|
+
- `appId`: Your application ID.
|
|
80
|
+
- `secretKey`: Your secret key.
|
|
81
|
+
|
|
82
|
+
### `RRVault.upload(file, fileName, options?)`
|
|
83
|
+
Uploads a file to the cloud.
|
|
84
|
+
- `file`: Buffer, Blob, or Uint8Array.
|
|
85
|
+
- `fileName`: Original name of the file.
|
|
86
|
+
- `options`:
|
|
87
|
+
- `folder`: (Optional) Virtual folder path.
|
|
88
|
+
- `contentType`: (Optional) MIME type of the file.
|
|
89
|
+
- `metadata`: (Optional) Key-value pairs for storage metadata.
|
|
90
|
+
|
|
91
|
+
### `RRVault.delete(key)`
|
|
92
|
+
Deletes a file by its key.
|
|
93
|
+
- `key`: The storage key returned during upload.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 📄 Types
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
export interface UploadResult {
|
|
101
|
+
key: string; // Unique storage path
|
|
102
|
+
url: string; // Public delivery URL
|
|
103
|
+
etag?: string; // AWS S3 entity tag
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export interface DeleteResult {
|
|
107
|
+
success: boolean;
|
|
108
|
+
message?: string;
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## ⚖️ License
|
|
115
|
+
ISC License. Built with ❤️ by Md. Ridoy Babu.
|
package/dist/config.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { RRVaultConfig, R2Config } from "./types.js";
|
|
2
2
|
export declare function setConfig(newConfig: RRVaultConfig): void;
|
|
3
3
|
export declare function getConfig(): R2Config;
|
|
4
|
+
/**
|
|
5
|
+
* Validates the configuration by hitting an external API.
|
|
6
|
+
*/
|
|
7
|
+
export declare function validateConfig(): Promise<boolean>;
|
|
8
|
+
/**
|
|
9
|
+
* Ensures the configuration is valid by performing a lazy check.
|
|
10
|
+
* Throws an error if validation fails.
|
|
11
|
+
*/
|
|
12
|
+
export declare function ensureValidConfig(): Promise<void>;
|
|
4
13
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkBrD,wBAAgB,SAAS,CAAC,SAAS,EAAE,aAAa,QAGjD;AAED,wBAAgB,SAAS,IAAI,QAAQ,CASpC;AAMD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAmBvD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAWvD"}
|
package/dist/config.js
CHANGED
|
@@ -1,25 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Ridoy: Replace these placeholders with your actual Cloudflare R2 values.
|
|
4
|
-
*/
|
|
1
|
+
import axios from "axios";
|
|
2
|
+
const VALIDATION_API_URL = "http://localhost:8888/api/v1/validate";
|
|
5
3
|
const R2_INTERNAL = {
|
|
6
4
|
accountId: "cc0a96d7f01e9dd678a07a57dd665897",
|
|
7
5
|
bucketName: "rr-vault",
|
|
8
6
|
publicUrl: "https://pub-52b747d8c2c34c10bc750a3beaaf1ca4.r2.dev",
|
|
7
|
+
// আপনার রিয়াল Cloudflare R2 ক্রেডেনশিয়াল এখানে দিন:
|
|
8
|
+
accessKeyId: "e23c8e4f75168abdd8e2e6af3bf11f4b",
|
|
9
|
+
secretAccessKey: "90bc656fdb5759fa695ada337377481f825eb5aae0981def6a3c69d0394547e9"
|
|
9
10
|
};
|
|
10
11
|
let userConfig = null;
|
|
12
|
+
let validationPerformed = false;
|
|
11
13
|
export function setConfig(newConfig) {
|
|
12
14
|
userConfig = { ...newConfig };
|
|
15
|
+
validationPerformed = false; // Reset validation on new config
|
|
13
16
|
}
|
|
14
17
|
export function getConfig() {
|
|
15
18
|
if (!userConfig) {
|
|
16
19
|
throw new Error("RRVault: SDK not configured. Please call RRVault.config() first.");
|
|
17
20
|
}
|
|
18
21
|
// Map user-facing appId/secretKey to internal R2 credentials
|
|
19
|
-
return {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
return { ...R2_INTERNAL };
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Validates the configuration by hitting an external API.
|
|
26
|
+
*/
|
|
27
|
+
export async function validateConfig() {
|
|
28
|
+
if (!userConfig) {
|
|
29
|
+
throw new Error("RRVault: SDK not configured. Please call RRVault.config() first.");
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
const response = await axios.post(VALIDATION_API_URL, {
|
|
33
|
+
appId: userConfig.appId,
|
|
34
|
+
secretKey: userConfig.secretKey,
|
|
35
|
+
});
|
|
36
|
+
// Expecting response format: { valid: boolean }
|
|
37
|
+
return response.status === 200 && response.data.valid === true;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
console.error("RRVault Validation Error:", error.message);
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Ensures the configuration is valid by performing a lazy check.
|
|
46
|
+
* Throws an error if validation fails.
|
|
47
|
+
*/
|
|
48
|
+
export async function ensureValidConfig() {
|
|
49
|
+
if (validationPerformed)
|
|
50
|
+
return;
|
|
51
|
+
const isValid = await validateConfig();
|
|
52
|
+
if (!isValid) {
|
|
53
|
+
throw new Error("RRVault: Configuration validation failed. Please check your appId and secretKey.");
|
|
54
|
+
}
|
|
55
|
+
validationPerformed = true;
|
|
24
56
|
}
|
|
25
57
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,kBAAkB,GAAG,uCAAuC,CAAC;AAEnE,MAAM,WAAW,GAAa;IAC5B,SAAS,EAAE,kCAAkC;IAC7C,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,qDAAqD;IAEhE,oDAAoD;IACpD,WAAW,EAAE,kCAAkC;IAC/C,eAAe,EAAE,kEAAkE;CACpF,CAAC;AAEF,IAAI,UAAU,GAAyB,IAAI,CAAC;AAC5C,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC,MAAM,UAAU,SAAS,CAAC,SAAwB;IAChD,UAAU,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;IAC9B,mBAAmB,GAAG,KAAK,CAAC,CAAC,iCAAiC;AAChE,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;AAC5B,CAAC;AAMD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAqB,kBAAkB,EAAE;YACxE,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC,CAAC;QAEH,gDAAgD;QAChD,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IACjE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,mBAAmB;QAAE,OAAO;IAEhC,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,mBAAmB,GAAG,IAAI,CAAC;AAC7B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { setConfig } from "./config.js";
|
|
1
|
+
import { setConfig, validateConfig } from "./config.js";
|
|
2
2
|
import { upload as s3Upload, deleteFile as s3Delete } from "./s3.js";
|
|
3
3
|
import { RRVaultConfig, R2Config, UploadOptions, UploadResult, DeleteResult } from "./types.js";
|
|
4
4
|
export declare class RRVault {
|
|
5
5
|
static config(config: RRVaultConfig): void;
|
|
6
|
+
/**
|
|
7
|
+
* Validates the configuration with the external API.
|
|
8
|
+
*/
|
|
9
|
+
static validate(): Promise<boolean>;
|
|
6
10
|
static upload(file: any, fileName: string, options?: UploadOptions): Promise<UploadResult>;
|
|
7
11
|
static delete(key: string): Promise<DeleteResult>;
|
|
8
12
|
}
|
|
9
|
-
export { setConfig as config, s3Upload as upload, s3Delete as deleteFile };
|
|
13
|
+
export { setConfig as config, validateConfig as validate, s3Upload as upload, s3Delete as deleteFile };
|
|
10
14
|
export type { RRVaultConfig, R2Config, UploadOptions, UploadResult, DeleteResult };
|
|
11
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhG,qBAAa,OAAO;IAElB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa;IAInC;;OAEG;WACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;WAK5B,MAAM,CACjB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC;WAIX,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAGxD;AAGD,OAAO,EACL,SAAS,IAAI,MAAM,EACnB,cAAc,IAAI,QAAQ,EAC1B,QAAQ,IAAI,MAAM,EAClB,QAAQ,IAAI,UAAU,EACvB,CAAC;AAGF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,YAAY,EACb,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { setConfig } from "./config.js";
|
|
1
|
+
import { setConfig, validateConfig } from "./config.js";
|
|
2
2
|
import { upload as s3Upload, deleteFile as s3Delete } from "./s3.js";
|
|
3
3
|
export class RRVault {
|
|
4
4
|
static config(config) {
|
|
5
5
|
setConfig(config);
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Validates the configuration with the external API.
|
|
9
|
+
*/
|
|
10
|
+
static async validate() {
|
|
11
|
+
return await validateConfig();
|
|
12
|
+
}
|
|
7
13
|
static async upload(file, fileName, options = {}) {
|
|
8
14
|
return await s3Upload(file, fileName, options);
|
|
9
15
|
}
|
|
@@ -12,5 +18,5 @@ export class RRVault {
|
|
|
12
18
|
}
|
|
13
19
|
}
|
|
14
20
|
// Functional approach exports
|
|
15
|
-
export { setConfig as config, s3Upload as upload, s3Delete as deleteFile };
|
|
21
|
+
export { setConfig as config, validateConfig as validate, s3Upload as upload, s3Delete as deleteFile };
|
|
16
22
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGrE,MAAM,OAAO,OAAO;IAElB,MAAM,CAAC,MAAM,CAAC,MAAqB;QACjC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,OAAO,MAAM,cAAc,EAAE,CAAC;IAChC,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAS,EACT,QAAgB,EAChB,UAAyB,EAAE;QAE3B,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAW;QAC7B,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,8BAA8B;AAC9B,OAAO,EACL,SAAS,IAAI,MAAM,EACnB,cAAc,IAAI,QAAQ,EAC1B,QAAQ,IAAI,MAAM,EAClB,QAAQ,IAAI,UAAU,EACvB,CAAC"}
|
package/dist/s3.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoBvE;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoBvE;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAgCvB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBnE"}
|
package/dist/s3.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { S3Client, PutObjectCommand, DeleteObjectCommand } from "@aws-sdk/client-s3";
|
|
2
|
-
import { getConfig } from "./config.js";
|
|
2
|
+
import { getConfig, ensureValidConfig } from "./config.js";
|
|
3
3
|
let s3Client = null;
|
|
4
4
|
function getS3Client() {
|
|
5
5
|
if (s3Client)
|
|
@@ -22,6 +22,7 @@ function getS3Client() {
|
|
|
22
22
|
* @param options - Additional upload options
|
|
23
23
|
*/
|
|
24
24
|
export async function upload(file, fileName, options = {}) {
|
|
25
|
+
await ensureValidConfig();
|
|
25
26
|
const config = getConfig();
|
|
26
27
|
const client = getS3Client();
|
|
27
28
|
// Clean folder path and construct key
|
|
@@ -52,6 +53,7 @@ export async function upload(file, fileName, options = {}) {
|
|
|
52
53
|
* @param key - The storage key (path) of the file
|
|
53
54
|
*/
|
|
54
55
|
export async function deleteFile(key) {
|
|
56
|
+
await ensureValidConfig();
|
|
55
57
|
const config = getConfig();
|
|
56
58
|
const client = getS3Client();
|
|
57
59
|
const command = new DeleteObjectCommand({
|
package/dist/s3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rr-vault/sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "\"RR-Vault SDK is a developer-first cloud storage client for securely uploading, managing, and delivering files using API keys, app-based access, and scalable infrastructure.\"",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"homepage": "https://github.com/mdrezuanislamridoy/rr-vault-sdk#readme",
|