@super-protocol/sdk-js 2.2.0-beta.55 → 2.2.0-beta.56
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/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +5 -2
- package/dist/cjs/providers/storage/StorjCredentialsManager.d.ts +25 -0
- package/dist/cjs/providers/storage/StorjCredentialsManager.js +107 -0
- package/dist/mjs/index.d.ts +1 -0
- package/dist/mjs/index.js +2 -1
- package/dist/mjs/providers/storage/StorjCredentialsManager.d.ts +25 -0
- package/dist/mjs/providers/storage/StorjCredentialsManager.js +80 -0
- package/package.json +1 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -65,6 +65,7 @@ export { default as StorageAccess } from './types/storage/StorageAccess.js';
|
|
|
65
65
|
export { default as getStorageProvider } from './providers/storage/getStorageProvider.js';
|
|
66
66
|
export { default as IStorageProvider } from './providers/storage/IStorageProvider.js';
|
|
67
67
|
export { parseStorageCredentials } from './providers/storage/parseStorageCredentials.js';
|
|
68
|
+
export { CredentialsPermissions, StorjCredentialsManager, } from './providers/storage/StorjCredentialsManager.js';
|
|
68
69
|
export * from './utils/CryptoKeysTransformer.js';
|
|
69
70
|
export * as helpers from './utils/helpers/index.js';
|
|
70
71
|
export * as constants from './constants.js';
|
package/dist/cjs/index.js
CHANGED
|
@@ -29,7 +29,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
29
29
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
exports.FetchTransport = exports.AxiosTransport = exports.BrowserEventProvider = exports.NodeEventProvider = exports.Analytics = exports.TeeBlockVerifier = exports.QuoteValidator = exports.TeeSgxParser = exports.Web3TransactionRevertedByEvmError = exports.constants = exports.helpers = exports.parseStorageCredentials = exports.getStorageProvider = exports.ContentWriterType = exports.StorageContentWriter = exports.CacheEvents = exports.StorageAdapter = exports.StorageKeyValueAdapter = exports.StorageMetadataReader = exports.StorjAdapter = exports.ChunkedStorageProvider = exports.TCB = exports.Offer = exports.TeeOffer = exports.Provider = exports.Order = exports.SecretRequests = exports.OffersStorageRequests = exports.OffersStorageAllocated = exports.OfferResources = exports.LoaderSecretsPublicKeys = exports.LoaderSessions = exports.Deposits = exports.Marks = exports.Superpro = exports.SuperproToken = exports.ProviderRegistry = exports.TeeOffers = exports.Offers = exports.ActiveOffers = exports.ActiveOrders = exports.Orders = exports.Consensus = exports.RIGenerator = exports.TIIGenerator = exports.Crypto = exports.BlockchainEventsListener = exports.BlockchainConnector = void 0;
|
|
32
|
+
exports.FetchTransport = exports.AxiosTransport = exports.BrowserEventProvider = exports.NodeEventProvider = exports.Analytics = exports.TeeBlockVerifier = exports.QuoteValidator = exports.TeeSgxParser = exports.Web3TransactionRevertedByEvmError = exports.constants = exports.helpers = exports.StorjCredentialsManager = exports.CredentialsPermissions = exports.parseStorageCredentials = exports.getStorageProvider = exports.ContentWriterType = exports.StorageContentWriter = exports.CacheEvents = exports.StorageAdapter = exports.StorageKeyValueAdapter = exports.StorageMetadataReader = exports.StorjAdapter = exports.ChunkedStorageProvider = exports.TCB = exports.Offer = exports.TeeOffer = exports.Provider = exports.Order = exports.SecretRequests = exports.OffersStorageRequests = exports.OffersStorageAllocated = exports.OfferResources = exports.LoaderSecretsPublicKeys = exports.LoaderSessions = exports.Deposits = exports.Marks = exports.Superpro = exports.SuperproToken = exports.ProviderRegistry = exports.TeeOffers = exports.Offers = exports.ActiveOffers = exports.ActiveOrders = exports.Orders = exports.Consensus = exports.RIGenerator = exports.TIIGenerator = exports.Crypto = exports.BlockchainEventsListener = exports.BlockchainConnector = void 0;
|
|
33
33
|
var BlockchainConnector_js_1 = require("./connectors/BlockchainConnector.js");
|
|
34
34
|
Object.defineProperty(exports, "BlockchainConnector", { enumerable: true, get: function () { return __importDefault(BlockchainConnector_js_1).default; } });
|
|
35
35
|
__exportStar(require("./connectors/BlockchainConnector.js"), exports);
|
|
@@ -128,6 +128,9 @@ var getStorageProvider_js_1 = require("./providers/storage/getStorageProvider.js
|
|
|
128
128
|
Object.defineProperty(exports, "getStorageProvider", { enumerable: true, get: function () { return __importDefault(getStorageProvider_js_1).default; } });
|
|
129
129
|
var parseStorageCredentials_js_1 = require("./providers/storage/parseStorageCredentials.js");
|
|
130
130
|
Object.defineProperty(exports, "parseStorageCredentials", { enumerable: true, get: function () { return parseStorageCredentials_js_1.parseStorageCredentials; } });
|
|
131
|
+
var StorjCredentialsManager_js_1 = require("./providers/storage/StorjCredentialsManager.js");
|
|
132
|
+
Object.defineProperty(exports, "CredentialsPermissions", { enumerable: true, get: function () { return StorjCredentialsManager_js_1.CredentialsPermissions; } });
|
|
133
|
+
Object.defineProperty(exports, "StorjCredentialsManager", { enumerable: true, get: function () { return StorjCredentialsManager_js_1.StorjCredentialsManager; } });
|
|
131
134
|
__exportStar(require("./utils/CryptoKeysTransformer.js"), exports);
|
|
132
135
|
exports.helpers = __importStar(require("./utils/helpers/index.js"));
|
|
133
136
|
exports.constants = __importStar(require("./constants.js"));
|
|
@@ -153,4 +156,4 @@ Object.defineProperty(exports, "AxiosTransport", { enumerable: true, get: functi
|
|
|
153
156
|
var FetchTransport_js_1 = require("./analytics/transports/FetchTransport.js");
|
|
154
157
|
Object.defineProperty(exports, "FetchTransport", { enumerable: true, get: function () { return __importDefault(FetchTransport_js_1).default; } });
|
|
155
158
|
__exportStar(require("./utils/cache/index.js"), exports);
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4RUFBcUY7QUFBNUUsOElBQUEsT0FBTyxPQUF1QjtBQUV2QyxzRUFBb0Q7QUFJcEQsd0ZBQStGO0FBQXRGLHdKQUFBLE9BQU8sT0FBNEI7QUFFNUMsOENBQXNEO0FBQTdDLG1IQUFBLE9BQU8sT0FBVTtBQUMxQixvREFBa0M7QUFFbEMscURBQTREO0FBQW5ELGdJQUFBLE9BQU8sT0FBZ0I7QUFDaEMsb0RBQWtDO0FBRWxDLG1EQUEwRDtBQUFqRCw4SEFBQSxPQUFPLE9BQWU7QUFDL0Isb0RBQWtDO0FBRWxDLDREQUFtRTtBQUExRCwwSEFBQSxPQUFPLE9BQWE7QUFDN0IsOERBQTRDO0FBRTVDLHNEQUE2RDtBQUFwRCxvSEFBQSxPQUFPLE9BQVU7QUFDMUIsMkRBQXlDO0FBRXpDLGtFQUF5RTtBQUFoRSxnSUFBQSxPQUFPLE9BQWdCO0FBQ2hDLGlFQUErQztBQUUvQyxrRUFBeUU7QUFBaEUsZ0lBQUEsT0FBTyxPQUFnQjtBQUNoQyxpRUFBK0M7QUFFL0Msc0RBQTZEO0FBQXBELG9IQUFBLE9BQU8sT0FBVTtBQUMxQiwyREFBeUM7QUFFekMsNERBQW1FO0FBQTFELDBIQUFBLE9BQU8sT0FBYTtBQUM3Qiw4REFBNEM7QUFFNUMsMEVBQWlGO0FBQXhFLHdJQUFBLE9BQU8sT0FBb0I7QUFDcEMscUVBQW1EO0FBRW5ELG9FQUEyRTtBQUFsRSxrSUFBQSxPQUFPLE9BQWlCO0FBQ2pDLGtFQUFnRDtBQUVoRCwwREFBaUU7QUFBeEQsd0hBQUEsT0FBTyxPQUFZO0FBQzVCLDZEQUEyQztBQUUzQyxvREFBMkQ7QUFBbEQsa0hBQUEsT0FBTyxPQUFTO0FBQ3pCLDBEQUF3QztBQUV4QywwREFBaUU7QUFBeEQsd0hBQUEsT0FBTyxPQUFZO0FBQzVCLDZEQUEyQztBQUUzQyxzRUFBNkU7QUFBcEUsb0lBQUEsT0FBTyxPQUFrQjtBQUNsQyxtRUFBaUQ7QUFFakQsd0ZBQStGO0FBQXRGLHNKQUFBLE9BQU8sT0FBMkI7QUFDM0MsNEVBQTBEO0FBRTFELHNFQUE2RTtBQUFwRSxvSUFBQSxPQUFPLE9BQWtCO0FBQ2xDLG1FQUFpRDtBQUVqRCxzRkFBNkY7QUFBcEYsb0pBQUEsT0FBTyxPQUEwQjtBQUMxQywyRUFBeUQ7QUFFekQsb0ZBQTJGO0FBQWxGLGtKQUFBLE9BQU8sT0FBeUI7QUFDekMsMEVBQXdEO0FBRXhELHNFQUE2RTtBQUFwRSxvSUFBQSxPQUFPLE9BQWtCO0FBQ2xDLG1FQUFpRDtBQUVqRCw4Q0FBcUQ7QUFBNUMsa0hBQUEsT0FBTyxPQUFTO0FBQ3pCLG9EQUFrQztBQUVsQyxvREFBMkQ7QUFBbEQsd0hBQUEsT0FBTyxPQUFZO0FBQzVCLHVEQUFxQztBQUVyQyxvREFBMkQ7QUFBbEQsd0hBQUEsT0FBTyxPQUFZO0FBQzVCLHVEQUFxQztBQUVyQyw4Q0FBcUQ7QUFBNUMsa0hBQUEsT0FBTyxPQUFTO0FBQ3pCLG9EQUFrQztBQUVsQywwQ0FBaUQ7QUFBeEMsOEdBQUEsT0FBTyxPQUFPO0FBQ3ZCLGtEQUFnQztBQUVoQyxtREFBaUM7QUFFakMseUdBQXlGO0FBQ3pGLHVFQUEyRjtBQUFsRixnSUFBQSxPQUFPLE9BQWdCO0FBQ2hDLHlGQUdzRDtBQUZwRCxrSkFBQSxPQUFPLE9BQXlCO0FBR2xDLDJGQUFrRztBQUF6RixvSkFBQSxPQUFPLE9BQTBCO0FBQzFDLDJFQUkrQztBQUg3QyxvSUFBQSxPQUFPLE9BQWtCO0FBQ3pCLGdIQUFBLFdBQVcsT0FBQTtBQUdiLHVGQUlxRDtBQUhuRCxnSkFBQSxPQUFPLE9BQXdCO0FBRS9CLDRIQUFBLGlCQUFpQixPQUFBO0FBTW5CLG1GQUEwRjtBQUFqRiw0SUFBQSxPQUFPLE9BQXNCO0FBRXRDLDZGQUF5RjtBQUFoRixxSUFBQSx1QkFBdUIsT0FBQTtBQUNoQyw2RkFHd0Q7QUFGdEQsb0lBQUEsc0JBQXNCLE9BQUE7QUFDdEIscUlBQUEsdUJBQXVCLE9BQUE7QUFHekIsbUVBQWlEO0FBQ2pELG9FQUFvRDtBQUNwRCw0REFBNEM7QUFFNUMscURBQXlFO0FBQWhFLGlJQUFBLGlDQUFpQyxPQUFBO0FBRTFDLDBCQUF3QjtBQUV4Qix1REFBb0Q7QUFBM0MsOEdBQUEsWUFBWSxPQUFBO0FBQ3JCLDZEQUF5RDtBQUFoRCxtSEFBQSxjQUFjLE9BQUE7QUFDdkIsb0RBQWtDO0FBQ2xDLGlFQUE2RDtBQUFwRCx1SEFBQSxnQkFBZ0IsT0FBQTtBQUV6Qix1REFBcUM7QUFDckMseURBQWdFO0FBQXZELDBIQUFBLE9BQU8sT0FBYTtBQUM3Qix3RkFBK0Y7QUFBdEYsMElBQUEsT0FBTyxPQUFxQjtBQUNyQyw4RkFBcUc7QUFBNUYsZ0pBQUEsT0FBTyxPQUF3QjtBQUN4Qyw4RUFBcUY7QUFBNUUsb0lBQUEsT0FBTyxPQUFrQjtBQUNsQyw4RUFBcUY7QUFBNUUsb0lBQUEsT0FBTyxPQUFrQjtBQUNsQyx5REFBdUMifQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { S3Credentials, StorjCredentials, StringifiedCredentials } from '@super-protocol/dto-js';
|
|
2
|
+
export declare enum CredentialsPermissions {
|
|
3
|
+
read = 0,
|
|
4
|
+
write = 1,
|
|
5
|
+
list = 2,
|
|
6
|
+
delete = 3
|
|
7
|
+
}
|
|
8
|
+
export declare class StorjCredentialsManager {
|
|
9
|
+
private accessToken;
|
|
10
|
+
private bucket;
|
|
11
|
+
private _uplink;
|
|
12
|
+
private _access?;
|
|
13
|
+
private _project?;
|
|
14
|
+
constructor(storageConfig: Pick<StorjCredentials, 'token' | 'bucket'>);
|
|
15
|
+
getStorageId(entity: string, entityId: string): string;
|
|
16
|
+
create(): Promise<void>;
|
|
17
|
+
acquireCredentials(permissions: CredentialsPermissions[], prefix: string): Promise<StringifiedCredentials<StorjCredentials>>;
|
|
18
|
+
acquireS3Credentials(permissions: CredentialsPermissions[], prefix: string): Promise<S3Credentials>;
|
|
19
|
+
getS3Credentials(stringifiedCredentials: StringifiedCredentials): Promise<S3Credentials>;
|
|
20
|
+
getS3Credentials(storjCredentials: StorjCredentials): Promise<S3Credentials>;
|
|
21
|
+
revokeCredentials(credentialString: StringifiedCredentials<StorjCredentials>): Promise<void>;
|
|
22
|
+
private parseAccess;
|
|
23
|
+
private lazyAccess;
|
|
24
|
+
private lazyProject;
|
|
25
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.StorjCredentialsManager = exports.CredentialsPermissions = void 0;
|
|
27
|
+
const storj = __importStar(require("@super-protocol/uplink-nodejs"));
|
|
28
|
+
var CredentialsPermissions;
|
|
29
|
+
(function (CredentialsPermissions) {
|
|
30
|
+
CredentialsPermissions[CredentialsPermissions["read"] = 0] = "read";
|
|
31
|
+
CredentialsPermissions[CredentialsPermissions["write"] = 1] = "write";
|
|
32
|
+
CredentialsPermissions[CredentialsPermissions["list"] = 2] = "list";
|
|
33
|
+
CredentialsPermissions[CredentialsPermissions["delete"] = 3] = "delete";
|
|
34
|
+
})(CredentialsPermissions || (exports.CredentialsPermissions = CredentialsPermissions = {}));
|
|
35
|
+
class StorjCredentialsManager {
|
|
36
|
+
accessToken;
|
|
37
|
+
bucket;
|
|
38
|
+
_uplink;
|
|
39
|
+
_access;
|
|
40
|
+
_project;
|
|
41
|
+
constructor(storageConfig) {
|
|
42
|
+
this.accessToken = storageConfig.token;
|
|
43
|
+
this.bucket = storageConfig.bucket;
|
|
44
|
+
this._uplink = new storj.Uplink();
|
|
45
|
+
}
|
|
46
|
+
getStorageId(entity, entityId) {
|
|
47
|
+
return `${entity}_${entityId}`;
|
|
48
|
+
}
|
|
49
|
+
async create() {
|
|
50
|
+
const project = await this.lazyProject();
|
|
51
|
+
await project.ensureBucket(this.bucket);
|
|
52
|
+
}
|
|
53
|
+
async acquireCredentials(permissions, prefix) {
|
|
54
|
+
const readPerm = permissions.includes(CredentialsPermissions.read), writePerm = permissions.includes(CredentialsPermissions.write), listPerm = permissions.includes(CredentialsPermissions.list), deletePerm = permissions.includes(CredentialsPermissions.delete);
|
|
55
|
+
const perm = new storj.Permission(readPerm, writePerm, deletePerm, listPerm, 0, 0);
|
|
56
|
+
const sharePrefix = new storj.SharePrefix(this.bucket, prefix + '/');
|
|
57
|
+
const access = await this.lazyAccess();
|
|
58
|
+
const share = await access.share(perm, [sharePrefix], 1);
|
|
59
|
+
return JSON.stringify({
|
|
60
|
+
bucket: this.bucket,
|
|
61
|
+
prefix: prefix + '/',
|
|
62
|
+
token: await share.serialize(),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
async acquireS3Credentials(permissions, prefix) {
|
|
66
|
+
const storjCreds = await this.acquireCredentials(permissions, prefix);
|
|
67
|
+
return this.getS3Credentials(storjCreds);
|
|
68
|
+
}
|
|
69
|
+
async getS3Credentials(creds) {
|
|
70
|
+
const storjCredentials = typeof creds === 'string' ? JSON.parse(creds) : creds;
|
|
71
|
+
const access = await this.lazyAccess();
|
|
72
|
+
const s3Credentials = await access.registerS3Credentials(storjCredentials.token);
|
|
73
|
+
return {
|
|
74
|
+
accessKeyId: s3Credentials.accessKeyId,
|
|
75
|
+
secretKey: s3Credentials.secretKey,
|
|
76
|
+
endpoint: s3Credentials.endpoint,
|
|
77
|
+
bucket: storjCredentials.bucket,
|
|
78
|
+
prefix: storjCredentials.prefix,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
async revokeCredentials(credentialString) {
|
|
82
|
+
const credentials = JSON.parse(credentialString);
|
|
83
|
+
const access = await this.parseAccess(credentials.token);
|
|
84
|
+
const project = await this.lazyProject();
|
|
85
|
+
await project.revokeAccess(access);
|
|
86
|
+
}
|
|
87
|
+
parseAccess(access) {
|
|
88
|
+
return this._uplink.parseAccess(access);
|
|
89
|
+
}
|
|
90
|
+
async lazyAccess() {
|
|
91
|
+
if (this._access) {
|
|
92
|
+
return this._access;
|
|
93
|
+
}
|
|
94
|
+
this._access = await this.parseAccess(this.accessToken);
|
|
95
|
+
return this._access;
|
|
96
|
+
}
|
|
97
|
+
async lazyProject() {
|
|
98
|
+
if (this._project) {
|
|
99
|
+
return this._project;
|
|
100
|
+
}
|
|
101
|
+
const access = await this.lazyAccess();
|
|
102
|
+
this._project = await access.openProject();
|
|
103
|
+
return this._project;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.StorjCredentialsManager = StorjCredentialsManager;
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmpDcmVkZW50aWFsc01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvU3RvcmpDcmVkZW50aWFsc01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLQSxxRUFBdUQ7QUFFdkQsSUFBWSxzQkFLWDtBQUxELFdBQVksc0JBQXNCO0lBQ2hDLG1FQUFJLENBQUE7SUFDSixxRUFBSyxDQUFBO0lBQ0wsbUVBQUksQ0FBQTtJQUNKLHVFQUFNLENBQUE7QUFDUixDQUFDLEVBTFcsc0JBQXNCLHNDQUF0QixzQkFBc0IsUUFLakM7QUFFRCxNQUFhLHVCQUF1QjtJQUMxQixXQUFXLENBQVM7SUFDcEIsTUFBTSxDQUFTO0lBQ2YsT0FBTyxDQUFlO0lBQ3RCLE9BQU8sQ0FBVTtJQUNqQixRQUFRLENBQVc7SUFFM0IsWUFBWSxhQUF5RDtRQUNuRSxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7UUFDM0MsT0FBTyxHQUFHLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQU07UUFDVixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxNQUFNLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQ3RCLFdBQXFDLEVBQ3JDLE1BQWM7UUFFZCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxFQUNoRSxTQUFTLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsRUFDOUQsUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQzVELFVBQVUsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5FLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNyRSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2QyxNQUFNLEtBQUssR0FBRyxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFekQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixNQUFNLEVBQUUsTUFBTSxHQUFHLEdBQUc7WUFDcEIsS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFDLFNBQVMsRUFBRTtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUN4QixXQUFxQyxFQUNyQyxNQUFjO1FBRWQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFJRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBZ0Q7UUFDckUsTUFBTSxnQkFBZ0IsR0FDcEIsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkMsTUFBTSxhQUFhLEdBQUcsTUFBTSxNQUFNLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakYsT0FBTztZQUNMLFdBQVcsRUFBRSxhQUFhLENBQUMsV0FBVztZQUN0QyxTQUFTLEVBQUUsYUFBYSxDQUFDLFNBQVM7WUFDbEMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxRQUFRO1lBQ2hDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNO1lBQy9CLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNO1NBQ2hDLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUNyQixnQkFBMEQ7UUFFMUQsTUFBTSxXQUFXLEdBQXFCLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRSxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXpDLE1BQU0sT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sV0FBVyxDQUFDLE1BQWM7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVU7UUFDdEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEQsT0FBTyxJQUFJLENBQUMsT0FBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxLQUFLLENBQUMsV0FBVztRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkIsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQXRHRCwwREFzR0MifQ==
|
package/dist/mjs/index.d.ts
CHANGED
|
@@ -65,6 +65,7 @@ export { default as StorageAccess } from './types/storage/StorageAccess.js';
|
|
|
65
65
|
export { default as getStorageProvider } from './providers/storage/getStorageProvider.js';
|
|
66
66
|
export { default as IStorageProvider } from './providers/storage/IStorageProvider.js';
|
|
67
67
|
export { parseStorageCredentials } from './providers/storage/parseStorageCredentials.js';
|
|
68
|
+
export { CredentialsPermissions, StorjCredentialsManager, } from './providers/storage/StorjCredentialsManager.js';
|
|
68
69
|
export * from './utils/CryptoKeysTransformer.js';
|
|
69
70
|
export * as helpers from './utils/helpers/index.js';
|
|
70
71
|
export * as constants from './constants.js';
|
package/dist/mjs/index.js
CHANGED
|
@@ -60,6 +60,7 @@ export { default as StorageAdapter, CacheEvents, } from './providers/storage/Sto
|
|
|
60
60
|
export { default as StorageContentWriter, ContentWriterType, } from './providers/storage/StorageContentWriter.js';
|
|
61
61
|
export { default as getStorageProvider } from './providers/storage/getStorageProvider.js';
|
|
62
62
|
export { parseStorageCredentials } from './providers/storage/parseStorageCredentials.js';
|
|
63
|
+
export { CredentialsPermissions, StorjCredentialsManager, } from './providers/storage/StorjCredentialsManager.js';
|
|
63
64
|
export * from './utils/CryptoKeysTransformer.js';
|
|
64
65
|
export * as helpers from './utils/helpers/index.js';
|
|
65
66
|
export * as constants from './constants.js';
|
|
@@ -76,4 +77,4 @@ export { default as BrowserEventProvider } from './analytics/eventProviders/Brow
|
|
|
76
77
|
export { default as AxiosTransport } from './analytics/transports/AxiosTransport.js';
|
|
77
78
|
export { default as FetchTransport } from './analytics/transports/FetchTransport.js';
|
|
78
79
|
export * from './utils/cache/index.js';
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJGLGNBQWMscUNBQXFDLENBQUM7QUFJcEQsT0FBTyxFQUFFLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxPQUFPLElBQUksTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsT0FBTyxJQUFJLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxPQUFPLElBQUksU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELGNBQWMsMEJBQTBCLENBQUM7QUFFekMsT0FBTyxFQUFFLE9BQU8sSUFBSSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxPQUFPLElBQUksWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxJQUFJLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELGNBQWMsMEJBQTBCLENBQUM7QUFFekMsT0FBTyxFQUFFLE9BQU8sSUFBSSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNu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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { S3Credentials, StorjCredentials, StringifiedCredentials } from '@super-protocol/dto-js';
|
|
2
|
+
export declare enum CredentialsPermissions {
|
|
3
|
+
read = 0,
|
|
4
|
+
write = 1,
|
|
5
|
+
list = 2,
|
|
6
|
+
delete = 3
|
|
7
|
+
}
|
|
8
|
+
export declare class StorjCredentialsManager {
|
|
9
|
+
private accessToken;
|
|
10
|
+
private bucket;
|
|
11
|
+
private _uplink;
|
|
12
|
+
private _access?;
|
|
13
|
+
private _project?;
|
|
14
|
+
constructor(storageConfig: Pick<StorjCredentials, 'token' | 'bucket'>);
|
|
15
|
+
getStorageId(entity: string, entityId: string): string;
|
|
16
|
+
create(): Promise<void>;
|
|
17
|
+
acquireCredentials(permissions: CredentialsPermissions[], prefix: string): Promise<StringifiedCredentials<StorjCredentials>>;
|
|
18
|
+
acquireS3Credentials(permissions: CredentialsPermissions[], prefix: string): Promise<S3Credentials>;
|
|
19
|
+
getS3Credentials(stringifiedCredentials: StringifiedCredentials): Promise<S3Credentials>;
|
|
20
|
+
getS3Credentials(storjCredentials: StorjCredentials): Promise<S3Credentials>;
|
|
21
|
+
revokeCredentials(credentialString: StringifiedCredentials<StorjCredentials>): Promise<void>;
|
|
22
|
+
private parseAccess;
|
|
23
|
+
private lazyAccess;
|
|
24
|
+
private lazyProject;
|
|
25
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import * as storj from '@super-protocol/uplink-nodejs';
|
|
2
|
+
export var CredentialsPermissions;
|
|
3
|
+
(function (CredentialsPermissions) {
|
|
4
|
+
CredentialsPermissions[CredentialsPermissions["read"] = 0] = "read";
|
|
5
|
+
CredentialsPermissions[CredentialsPermissions["write"] = 1] = "write";
|
|
6
|
+
CredentialsPermissions[CredentialsPermissions["list"] = 2] = "list";
|
|
7
|
+
CredentialsPermissions[CredentialsPermissions["delete"] = 3] = "delete";
|
|
8
|
+
})(CredentialsPermissions || (CredentialsPermissions = {}));
|
|
9
|
+
export class StorjCredentialsManager {
|
|
10
|
+
accessToken;
|
|
11
|
+
bucket;
|
|
12
|
+
_uplink;
|
|
13
|
+
_access;
|
|
14
|
+
_project;
|
|
15
|
+
constructor(storageConfig) {
|
|
16
|
+
this.accessToken = storageConfig.token;
|
|
17
|
+
this.bucket = storageConfig.bucket;
|
|
18
|
+
this._uplink = new storj.Uplink();
|
|
19
|
+
}
|
|
20
|
+
getStorageId(entity, entityId) {
|
|
21
|
+
return `${entity}_${entityId}`;
|
|
22
|
+
}
|
|
23
|
+
async create() {
|
|
24
|
+
const project = await this.lazyProject();
|
|
25
|
+
await project.ensureBucket(this.bucket);
|
|
26
|
+
}
|
|
27
|
+
async acquireCredentials(permissions, prefix) {
|
|
28
|
+
const readPerm = permissions.includes(CredentialsPermissions.read), writePerm = permissions.includes(CredentialsPermissions.write), listPerm = permissions.includes(CredentialsPermissions.list), deletePerm = permissions.includes(CredentialsPermissions.delete);
|
|
29
|
+
const perm = new storj.Permission(readPerm, writePerm, deletePerm, listPerm, 0, 0);
|
|
30
|
+
const sharePrefix = new storj.SharePrefix(this.bucket, prefix + '/');
|
|
31
|
+
const access = await this.lazyAccess();
|
|
32
|
+
const share = await access.share(perm, [sharePrefix], 1);
|
|
33
|
+
return JSON.stringify({
|
|
34
|
+
bucket: this.bucket,
|
|
35
|
+
prefix: prefix + '/',
|
|
36
|
+
token: await share.serialize(),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async acquireS3Credentials(permissions, prefix) {
|
|
40
|
+
const storjCreds = await this.acquireCredentials(permissions, prefix);
|
|
41
|
+
return this.getS3Credentials(storjCreds);
|
|
42
|
+
}
|
|
43
|
+
async getS3Credentials(creds) {
|
|
44
|
+
const storjCredentials = typeof creds === 'string' ? JSON.parse(creds) : creds;
|
|
45
|
+
const access = await this.lazyAccess();
|
|
46
|
+
const s3Credentials = await access.registerS3Credentials(storjCredentials.token);
|
|
47
|
+
return {
|
|
48
|
+
accessKeyId: s3Credentials.accessKeyId,
|
|
49
|
+
secretKey: s3Credentials.secretKey,
|
|
50
|
+
endpoint: s3Credentials.endpoint,
|
|
51
|
+
bucket: storjCredentials.bucket,
|
|
52
|
+
prefix: storjCredentials.prefix,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
async revokeCredentials(credentialString) {
|
|
56
|
+
const credentials = JSON.parse(credentialString);
|
|
57
|
+
const access = await this.parseAccess(credentials.token);
|
|
58
|
+
const project = await this.lazyProject();
|
|
59
|
+
await project.revokeAccess(access);
|
|
60
|
+
}
|
|
61
|
+
parseAccess(access) {
|
|
62
|
+
return this._uplink.parseAccess(access);
|
|
63
|
+
}
|
|
64
|
+
async lazyAccess() {
|
|
65
|
+
if (this._access) {
|
|
66
|
+
return this._access;
|
|
67
|
+
}
|
|
68
|
+
this._access = await this.parseAccess(this.accessToken);
|
|
69
|
+
return this._access;
|
|
70
|
+
}
|
|
71
|
+
async lazyProject() {
|
|
72
|
+
if (this._project) {
|
|
73
|
+
return this._project;
|
|
74
|
+
}
|
|
75
|
+
const access = await this.lazyAccess();
|
|
76
|
+
this._project = await access.openProject();
|
|
77
|
+
return this._project;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmpDcmVkZW50aWFsc01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3N0b3JhZ2UvU3RvcmpDcmVkZW50aWFsc01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLEtBQUssTUFBTSwrQkFBK0IsQ0FBQztBQUV2RCxNQUFNLENBQU4sSUFBWSxzQkFLWDtBQUxELFdBQVksc0JBQXNCO0lBQ2hDLG1FQUFJLENBQUE7SUFDSixxRUFBSyxDQUFBO0lBQ0wsbUVBQUksQ0FBQTtJQUNKLHVFQUFNLENBQUE7QUFDUixDQUFDLEVBTFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUtqQztBQUVELE1BQU0sT0FBTyx1QkFBdUI7SUFDMUIsV0FBVyxDQUFTO0lBQ3BCLE1BQU0sQ0FBUztJQUNmLE9BQU8sQ0FBZTtJQUN0QixPQUFPLENBQVU7SUFDakIsUUFBUSxDQUFXO0lBRTNCLFlBQVksYUFBeUQ7UUFDbkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYyxFQUFFLFFBQWdCO1FBQzNDLE9BQU8sR0FBRyxNQUFNLElBQUksUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNO1FBQ1YsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekMsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixXQUFxQyxFQUNyQyxNQUFjO1FBRWQsTUFB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
|