@memberjunction/storage 1.2.2 → 1.3.0

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.
@@ -6,6 +6,7 @@ export declare class AWSFileStorage extends FileStorageBase {
6
6
  constructor();
7
7
  CreatePreAuthUploadUrl(objectName: string): Promise<CreatePreAuthUploadUrlPayload>;
8
8
  CreatePreAuthDownloadUrl(objectName: string): Promise<string>;
9
+ MoveObject(oldObjectName: string, newObjectName: string): Promise<boolean>;
9
10
  DeleteObject(objectName: string): Promise<boolean>;
10
11
  }
11
12
  //# sourceMappingURL=AWSFileStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AWSFileStorage.d.ts","sourceRoot":"","sources":["../../src/drivers/AWSFileStorage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE5F,qBACa,cAAe,SAAQ,eAAe;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAW;;IAmBb,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQxF,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOvD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAYhE"}
1
+ {"version":3,"file":"AWSFileStorage.d.ts","sourceRoot":"","sources":["../../src/drivers/AWSFileStorage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE5F,qBACa,cAAe,SAAQ,eAAe;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAW;;IAmBb,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQxF,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOvD,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAoBvD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAYhE"}
@@ -62,6 +62,24 @@ let AWSFileStorage = class AWSFileStorage extends FileStorageBase_1.FileStorageB
62
62
  const command = new client_s3_1.GetObjectCommand({ Bucket: this._bucket, Key: key });
63
63
  return (0, s3_request_presigner_1.getSignedUrl)(this._client, command, { expiresIn: 10 * 60 }); // 10 minutes
64
64
  }
65
+ async MoveObject(oldObjectName, newObjectName) {
66
+ const oldKey = `${this._keyPrefix}${oldObjectName}`;
67
+ const newKey = `${this._keyPrefix}${newObjectName}`;
68
+ const copyCommand = new client_s3_1.CopyObjectCommand({
69
+ Bucket: this._bucket,
70
+ CopySource: `/${this._bucket}/${oldKey}`,
71
+ Key: newKey,
72
+ });
73
+ try {
74
+ await this._client.send(copyCommand);
75
+ }
76
+ catch (e) {
77
+ console.error('Error copying object in S3 storage', { oldKey, newKey, bucket: this._bucket });
78
+ console.error(e);
79
+ return false;
80
+ }
81
+ return this.DeleteObject(oldObjectName);
82
+ }
65
83
  async DeleteObject(objectName) {
66
84
  const key = `${this._keyPrefix}${objectName}`;
67
85
  const command = new client_s3_1.DeleteObjectCommand({ Bucket: this._bucket, Key: key });
@@ -1 +1 @@
1
- {"version":3,"file":"AWSFileStorage.js","sourceRoot":"","sources":["../../src/drivers/AWSFileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AWSFileStorage.js","sourceRoot":"","sources":["../../src/drivers/AWSFileStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0H;AAC1H,wEAA6D;AAC7D,mDAAuD;AACvD,6CAA+B;AAC/B,gEAA4F;AAGrF,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,iCAAe;IAKjD;QACE,KAAK,EAAE,CAAC;QAER,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QAExE,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5E,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC;QAExE,MAAM,WAAW,GAAG;YAClB,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YACvE,eAAe,EAAE,GAAG,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;SAChF,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QACpD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAEzE,MAAM,SAAS,GAAG,MAAM,IAAA,mCAAY,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa;QAClG,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,wBAAwB,CAAC,UAAkB;QAChD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,4BAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAEzE,OAAO,IAAA,mCAAY,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa;IACnF,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,aAAqB,EAAE,aAAqB;QAClE,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,IAAI,6BAAiB,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,UAAU,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE;YACxC,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,+BAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;AArEY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,sBAAa,EAAC,iCAAe,EAAE,gBAAgB,CAAC;;GACpC,cAAc,CAqE1B"}
@@ -6,6 +6,7 @@ export declare class AzureFileStorage extends FileStorageBase {
6
6
  constructor();
7
7
  CreatePreAuthUploadUrl(objectName: string): Promise<CreatePreAuthUploadUrlPayload>;
8
8
  CreatePreAuthDownloadUrl(objectName: string): Promise<string>;
9
+ MoveObject(oldObjectName: string, newObjectName: string): Promise<boolean>;
9
10
  DeleteObject(objectName: string): Promise<boolean>;
10
11
  }
11
12
  //# sourceMappingURL=AzureFileStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AzureFileStorage.d.ts","sourceRoot":"","sources":["../../src/drivers/AzureFileStorage.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE5F,qBACa,gBAAiB,SAAQ,eAAe;IACnD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;;IAYtB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAoBlF,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBvD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAMhE"}
1
+ {"version":3,"file":"AzureFileStorage.d.ts","sourceRoot":"","sources":["../../src/drivers/AzureFileStorage.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE5F,qBACa,gBAAiB,SAAQ,eAAe;IACnD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;;IAYtB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAoBlF,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBvD,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAsBvD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAMhE"}
@@ -75,6 +75,24 @@ let AzureFileStorage = class AzureFileStorage extends FileStorageBase_1.FileStor
75
75
  const url = `https://${this._accountName}.blob.core.windows.net/${this._container}/${objectName}${queryString}`;
76
76
  return Promise.resolve(url);
77
77
  }
78
+ async MoveObject(oldObjectName, newObjectName) {
79
+ const sasOptions = {
80
+ permissions: storage_blob_1.BlobSASPermissions.parse('r'), // read-only permissions
81
+ expiresOn: new Date(new Date().valueOf() + 10 * 60 * 1000), // 10 minutes
82
+ protocol: storage_blob_1.SASProtocol.Https,
83
+ };
84
+ const oldUrl = `https://${this._accountName}.blob.core.windows.net/${this._container}/${oldObjectName}`;
85
+ const oldBlobClient = new storage_blob_1.BlobClient(oldUrl, this._sharedKeyCredential);
86
+ const sasUrl = await oldBlobClient.generateSasUrl(sasOptions);
87
+ const newUrl = `https://${this._accountName}.blob.core.windows.net/${this._container}/${newObjectName}`;
88
+ const newBlobClient = new storage_blob_1.BlobClient(newUrl, this._sharedKeyCredential);
89
+ const { copyStatus, errorCode } = await newBlobClient.syncCopyFromURL(sasUrl);
90
+ if (copyStatus !== 'success') {
91
+ throw new Error(`Failed to move the object. Error code: ${errorCode}`);
92
+ }
93
+ const { succeeded } = await oldBlobClient.deleteIfExists();
94
+ return succeeded;
95
+ }
78
96
  async DeleteObject(objectName) {
79
97
  const url = `https://${this._accountName}.blob.core.windows.net/${this._container}/${objectName}`;
80
98
  const blobClient = new storage_blob_1.BlobClient(url, this._sharedKeyCredential);
@@ -1 +1 @@
1
- {"version":3,"file":"AzureFileStorage.js","sourceRoot":"","sources":["../../src/drivers/AzureFileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AzureFileStorage.js","sourceRoot":"","sources":["../../src/drivers/AzureFileStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAW6B;AAC7B,mDAAuD;AACvD,6CAA+B;AAC/B,gEAA4F;AAGrF,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,iCAAe;IAKnD;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChF,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE9E,IAAI,CAAC,oBAAoB,GAAG,IAAI,yCAA0B,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5F,CAAC;IAEM,sBAAsB,CAAC,UAAkB;QAC9C,MAAM,UAAU,GAA8B;YAC5C,QAAQ,EAAE,iCAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ;YAC5D,aAAa,EAAE,sCAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS;YACvE,WAAW,EAAE,oCAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,yBAAyB;YACxE,QAAQ,EAAE,0BAAW,CAAC,KAAK;YAC3B,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,aAAa;SAC1E,CAAC;QAEF,mCAAmC;QACnC,+RAA+R;QAE/R,MAAM,QAAQ,GAAG,IAAA,gDAAiC,EAAC,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrG,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,YAAY,0BAA0B,IAAI,CAAC,UAAU,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAEtH,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,wBAAwB,CAAC,UAAkB;QAChD,MAAM,UAAU,GAA8B;YAC5C,QAAQ,EAAE,iCAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ;YAC5D,aAAa,EAAE,sCAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS;YACvE,WAAW,EAAE,oCAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,wBAAwB;YACvE,QAAQ,EAAE,0BAAW,CAAC,KAAK;YAC3B,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,aAAa;SAC1E,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAA,gDAAiC,EAAC,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrG,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;QACpE,MAAM,GAAG,GAAG,WAAW,IAAI,CAAC,YAAY,0BAA0B,IAAI,CAAC,UAAU,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAEhH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,aAAqB,EAAE,aAAqB;QAClE,MAAM,UAAU,GAA8B;YAC5C,WAAW,EAAE,iCAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,wBAAwB;YACpE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,aAAa;YACzE,QAAQ,EAAE,0BAAW,CAAC,KAAK;SAC5B,CAAC;QAEF,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,YAAY,0BAA0B,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;QACxG,MAAM,aAAa,GAAG,IAAI,yBAAU,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,WAAW,IAAI,CAAC,YAAY,0BAA0B,IAAI,CAAC,UAAU,IAAI,aAAa,EAAE,CAAC;QACxG,MAAM,aAAa,GAAG,IAAI,yBAAU,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAExE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IACM,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,MAAM,GAAG,GAAG,WAAW,IAAI,CAAC,YAAY,0BAA0B,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;QAClG,MAAM,UAAU,GAAG,IAAI,yBAAU,CAAC,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;AAhFY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,sBAAa,EAAC,iCAAe,EAAE,oBAAoB,CAAC;;GACxC,gBAAgB,CAgF5B"}
@@ -5,6 +5,7 @@ export declare class GoogleFileStorage extends FileStorageBase {
5
5
  constructor();
6
6
  CreatePreAuthUploadUrl(objectName: string): Promise<CreatePreAuthUploadUrlPayload>;
7
7
  CreatePreAuthDownloadUrl(objectName: string): Promise<string>;
8
+ MoveObject(oldObjectName: string, newObjectName: string): Promise<boolean>;
8
9
  DeleteObject(objectName: string): Promise<boolean>;
9
10
  }
10
11
  //# sourceMappingURL=GoogleFileStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleFileStorage.d.ts","sourceRoot":"","sources":["../../src/drivers/GoogleFileStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAI5F,qBACa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAU;;IASZ,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAalF,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa7D,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAUhE"}
1
+ {"version":3,"file":"GoogleFileStorage.d.ts","sourceRoot":"","sources":["../../src/drivers/GoogleFileStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE5F,qBACa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAU;;IASZ,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAalF,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa7D,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAWvD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAUhE"}
@@ -64,6 +64,17 @@ let GoogleFileStorage = class GoogleFileStorage extends FileStorageBase_1.FileSt
64
64
  const [url] = await file.getSignedUrl(options);
65
65
  return url;
66
66
  }
67
+ async MoveObject(oldObjectName, newObjectName) {
68
+ try {
69
+ const response = await this._client.bucket(this._bucket).file(oldObjectName).rename(newObjectName);
70
+ return true;
71
+ }
72
+ catch (e) {
73
+ console.error('Error renaming file in Google storage', { oldObjectName, newObjectName, bucket: this._bucket });
74
+ console.error(e);
75
+ return false;
76
+ }
77
+ }
67
78
  async DeleteObject(objectName) {
68
79
  try {
69
80
  const [response] = await this._client.bucket(this._bucket).file(objectName).delete();
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleFileStorage.js","sourceRoot":"","sources":["../../src/drivers/GoogleFileStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAgD;AAChD,mDAAuD;AACvD,6CAA+B;AAC/B,gEAA4F;AAKrF,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,iCAAe;IAIpD;QACE,KAAK,EAAE,CAAC;QACR,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC;QACjF,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU;SACxC,CAAC;QAEV,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO,EAAE,SAAS,EAAE,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,UAAkB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU;SACxC,CAAC;QAEX,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE/C,OAAO,GAAG,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;YACrF,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACvG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF,CAAA;AA/CY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,sBAAa,EAAC,iCAAe,EAAE,sBAAsB,CAAC;;GAC1C,iBAAiB,CA+C7B"}
1
+ {"version":3,"file":"GoogleFileStorage.js","sourceRoot":"","sources":["../../src/drivers/GoogleFileStorage.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,18 @@ export declare abstract class FileStorageBase {
80
80
  * immediately for downloading the file without further authentication.
81
81
  */
82
82
  abstract CreatePreAuthDownloadUrl(objectName: string): Promise<string>;
83
+ /**
84
+ * This abstract method is designed to move an object or file from one location to another within a storage provider's system. Being abstract, it requires concrete implementation in subclasses that are tailored to interact with specific storage providers. The method aims to provide a unified interface for moving objects across different storage providers, simplifying the process regardless of the underlying provider's specifics.
85
+ *
86
+ * When invoking this method, you need to specify the name of the object you wish to move (`oldObjectName`) and the new name or location where you want to move the object (`newObjectName`). These names should match exactly as they are known to the storage provider, ensuring the correct object is targeted for the move operation.
87
+ *
88
+ * The method returns a Promise that, when resolved, indicates the success or failure of the move operation. A resolved value of `true` means the object was successfully moved, while `false` indicates a failure to move the object. It's important to handle both outcomes to ensure your application can respond appropriately to the move operation's result.
89
+ *
90
+ * @param oldObjectName - The name of the object or file to be moved. This is the identifier used by the storage provider to locate the object for moving.
91
+ * @param newObjectName - The new name or location where you want to move the object. This name should match exactly as it is known to the storage provider.
92
+ * @returns A Promise that resolves to a boolean value. `true` indicates that the object was successfully moved, while `false` indicates a failure in the move process.
93
+ */
94
+ abstract MoveObject(oldObjectName: string, newObjectName: string): Promise<boolean>;
83
95
  /**
84
96
  * This abstract method is designed for deleting an object or file from a storage provider's system. Being abstract, it requires concrete implementation in
85
97
  * subclasses that are tailored to interact with specific storage providers. The method aims to provide a unified interface for object deletion across
@@ -1 +1 @@
1
- {"version":3,"file":"FileStorageBase.d.ts","sourceRoot":"","sources":["../../src/generic/FileStorageBase.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,8BAAsB,eAAe;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;aACa,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAElG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;aACa,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;aACa,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CACnE"}
1
+ {"version":3,"file":"FileStorageBase.d.ts","sourceRoot":"","sources":["../../src/generic/FileStorageBase.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,8BAAsB,eAAe;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;aACa,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAElG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;aACa,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE7E;;;;;;;;;;OAUG;aACa,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;aACa,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CACnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileStorageBase.js","sourceRoot":"","sources":["../../src/generic/FileStorageBase.ts"],"names":[],"mappings":";;;AAKA;;;GAGG;AACH,MAAsB,eAAe;CA4HpC;AA5HD,0CA4HC"}
1
+ {"version":3,"file":"FileStorageBase.js","sourceRoot":"","sources":["../../src/generic/FileStorageBase.ts"],"names":[],"mappings":";;;AAKA;;;GAGG;AACH,MAAsB,eAAe;CAyIpC;AAzID,0CAyIC"}
package/dist/util.d.ts CHANGED
@@ -24,16 +24,25 @@ export declare const createUploadUrl: <TInput extends {
24
24
  * Creates a pre-authorized download URL for a file from the specified file storage provider.
25
25
  *
26
26
  * @param {FileStorageProviderEntity} providerEntity - The file storage provider entity.
27
- * @param {string | number} providerKeyOrID - The provider key or ID for the file to download.
27
+ * @param {string} providerKeyOrName - The provider key or Name for the file to download.
28
28
  * @returns {Promise<string>} - The pre-authorized download URL.
29
29
  */
30
- export declare const createDownloadUrl: (providerEntity: FileStorageProviderEntity, providerKeyOrID: string | number) => Promise<string>;
30
+ export declare const createDownloadUrl: (providerEntity: FileStorageProviderEntity, providerKeyOrName: string) => Promise<string>;
31
+ /**
32
+ * Moves an object from one location to another within the file storage provider.
33
+ *
34
+ * @param providerEntity - The file storage provider entity.
35
+ * @param oldProviderKeyOrName - The key or name of the old location of the object.
36
+ * @param newProviderKeyOrName - The key or name of the new location to move the object to.
37
+ * @returns A promise that resolves to a boolean indicating whether the object was successfully moved.
38
+ */
39
+ export declare const moveObject: (providerEntity: FileStorageProviderEntity, oldProviderKeyOrName: string, newProviderKeyOrName: string) => Promise<boolean>;
31
40
  /**
32
41
  * Delete a previously uploaded file from the specified file storage provider.
33
42
  *
34
43
  * @param {FileStorageProviderEntity} providerEntity - The file storage provider entity.
35
- * @param {string | number} providerKeyOrID - The provider key or ID for the file to delete.
44
+ * @param {string} providerKeyOrName - The provider key or Name of the file to delete.
36
45
  * @returns {Promise<boolean>} - The success of he delete operation.
37
46
  */
38
- export declare const deleteObject: (providerEntity: FileStorageProviderEntity, providerKeyOrID: string | number) => Promise<boolean>;
47
+ export declare const deleteObject: (providerEntity: FileStorageProviderEntity, providerKeyOrName: string) => Promise<boolean>;
39
48
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAK1E;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;QACL,MAAM;UAAQ,MAAM;gBAAc,MAAM;kBAAgB,MAAM;kBAAgB,MAAM;mBAEzF,yBAAyB;;gBAGR,MAAM;qBAAe,MAAM;;eACjD,MAAM;EAclB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,mBAA0B,yBAAyB,mBAAmB,MAAM,GAAG,MAAM,KAAG,QAAQ,MAAM,CAGnI,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,mBAAoB,yBAAyB,mBAAmB,MAAM,GAAG,MAAM,qBAGvG,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAK1E;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;QACL,MAAM;UAAQ,MAAM;gBAAc,MAAM;kBAAgB,MAAM;kBAAgB,MAAM;mBAEzF,yBAAyB;;gBAGR,MAAM;qBAAe,MAAM;;eACjD,MAAM;EAclB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,mBAA0B,yBAAyB,qBAAqB,MAAM,KAAG,QAAQ,MAAM,CAG5H,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,mBAA0B,yBAAyB,wBAAwB,MAAM,wBAAwB,MAAM,qBAGrI,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,mBAAoB,yBAAyB,qBAAqB,MAAM,qBAGhG,CAAC"}
package/dist/util.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.deleteObject = exports.createDownloadUrl = exports.createUploadUrl = void 0;
6
+ exports.deleteObject = exports.moveObject = exports.createDownloadUrl = exports.createUploadUrl = void 0;
7
7
  const global_1 = require("@memberjunction/global");
8
8
  const mime_types_1 = __importDefault(require("mime-types"));
9
9
  const FileStorageBase_1 = require("./generic/FileStorageBase");
@@ -16,12 +16,12 @@ const FileStorageBase_1 = require("./generic/FileStorageBase");
16
16
  * @returns A promise that resolves to an object with the updated input and the upload URL.
17
17
  */
18
18
  const createUploadUrl = async (providerEntity, input) => {
19
- const { ID, ProviderID } = input;
19
+ const { Name, ProviderID } = input;
20
20
  const ContentType = input.ContentType ?? mime_types_1.default.lookup(input.Name) ?? 'application/octet-stream';
21
21
  const Status = 'Uploading';
22
22
  await providerEntity.Load(ProviderID);
23
23
  const driver = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(FileStorageBase_1.FileStorageBase, providerEntity.ServerDriverKey);
24
- const { UploadUrl, ...maybeProviderKey } = await driver.CreatePreAuthUploadUrl(String(ID));
24
+ const { UploadUrl, ...maybeProviderKey } = await driver.CreatePreAuthUploadUrl(Name);
25
25
  const updatedInput = { ...input, ...maybeProviderKey, ContentType, Status };
26
26
  return { updatedInput, UploadUrl };
27
27
  };
@@ -30,24 +30,37 @@ exports.createUploadUrl = createUploadUrl;
30
30
  * Creates a pre-authorized download URL for a file from the specified file storage provider.
31
31
  *
32
32
  * @param {FileStorageProviderEntity} providerEntity - The file storage provider entity.
33
- * @param {string | number} providerKeyOrID - The provider key or ID for the file to download.
33
+ * @param {string} providerKeyOrName - The provider key or Name for the file to download.
34
34
  * @returns {Promise<string>} - The pre-authorized download URL.
35
35
  */
36
- const createDownloadUrl = async (providerEntity, providerKeyOrID) => {
36
+ const createDownloadUrl = async (providerEntity, providerKeyOrName) => {
37
37
  const driver = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(FileStorageBase_1.FileStorageBase, providerEntity.ServerDriverKey);
38
- return driver.CreatePreAuthDownloadUrl(String(providerKeyOrID));
38
+ return driver.CreatePreAuthDownloadUrl(providerKeyOrName);
39
39
  };
40
40
  exports.createDownloadUrl = createDownloadUrl;
41
+ /**
42
+ * Moves an object from one location to another within the file storage provider.
43
+ *
44
+ * @param providerEntity - The file storage provider entity.
45
+ * @param oldProviderKeyOrName - The key or name of the old location of the object.
46
+ * @param newProviderKeyOrName - The key or name of the new location to move the object to.
47
+ * @returns A promise that resolves to a boolean indicating whether the object was successfully moved.
48
+ */
49
+ const moveObject = async (providerEntity, oldProviderKeyOrName, newProviderKeyOrName) => {
50
+ const driver = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(FileStorageBase_1.FileStorageBase, providerEntity.ServerDriverKey);
51
+ return driver.MoveObject(oldProviderKeyOrName, newProviderKeyOrName);
52
+ };
53
+ exports.moveObject = moveObject;
41
54
  /**
42
55
  * Delete a previously uploaded file from the specified file storage provider.
43
56
  *
44
57
  * @param {FileStorageProviderEntity} providerEntity - The file storage provider entity.
45
- * @param {string | number} providerKeyOrID - The provider key or ID for the file to delete.
58
+ * @param {string} providerKeyOrName - The provider key or Name of the file to delete.
46
59
  * @returns {Promise<boolean>} - The success of he delete operation.
47
60
  */
48
- const deleteObject = (providerEntity, providerKeyOrID) => {
61
+ const deleteObject = (providerEntity, providerKeyOrName) => {
49
62
  const driver = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(FileStorageBase_1.FileStorageBase, providerEntity.ServerDriverKey);
50
- return driver.DeleteObject(String(providerKeyOrID));
63
+ return driver.DeleteObject(providerKeyOrName);
51
64
  };
52
65
  exports.deleteObject = deleteObject;
53
66
  //# sourceMappingURL=util.js.map
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AACA,mDAAkD;AAClD,4DAA8B;AAC9B,+DAA4D;AAE5D;;;;;;;GAOG;AACI,MAAM,eAAe,GAAG,KAAK,EAGlC,cAAyC,EACzC,KAAa,EAIZ,EAAE;IACH,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEjC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,oBAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC;IAC/F,MAAM,MAAM,GAAG,WAAW,CAAC;IAE3B,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAkB,iCAAe,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAE/H,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAE5E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC,CAAC;AArBW,QAAA,eAAe,mBAqB1B;AAEF;;;;;;GAMG;AACI,MAAM,iBAAiB,GAAG,KAAK,EAAE,cAAyC,EAAE,eAAgC,EAAmB,EAAE;IACtI,MAAM,MAAM,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAkB,iCAAe,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/H,OAAO,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEF;;;;;;GAMG;AACI,MAAM,YAAY,GAAG,CAAC,cAAyC,EAAE,eAAgC,EAAE,EAAE;IAC1G,MAAM,MAAM,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAkB,iCAAe,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/H,OAAO,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AAHW,QAAA,YAAY,gBAGvB"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;;;;AACA,mDAAkD;AAClD,4DAA8B;AAC9B,+DAA4D;AAE5D;;;;;;;GAOG;AACI,MAAM,eAAe,GAAG,KAAK,EAGlC,cAAyC,EACzC,KAAa,EAIZ,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEnC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,oBAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC;IAC/F,MAAM,MAAM,GAAG,WAAW,CAAC;IAE3B,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAkB,iCAAe,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAE/H,MAAM,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACrF,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAE5E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;AACrC,CAAC,CAAC;AArBW,QAAA,eAAe,mBAqB1B;AAEF;;;;;;GAMG;AACI,MAAM,iBAAiB,GAAG,KAAK,EAAE,cAAyC,EAAE,iBAAyB,EAAmB,EAAE;IAC/H,MAAM,MAAM,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAkB,iCAAe,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/H,OAAO,MAAM,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;AAC5D,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEF;;;;;;;GAOG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,cAAyC,EAAE,oBAA4B,EAAE,oBAA4B,EAAE,EAAE;IACxI,MAAM,MAAM,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAkB,iCAAe,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/H,OAAO,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;AACvE,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEF;;;;;;GAMG;AACI,MAAM,YAAY,GAAG,CAAC,cAAyC,EAAE,iBAAyB,EAAE,EAAE;IACnG,MAAM,MAAM,GAAG,iBAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAkB,iCAAe,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/H,OAAO,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;AAChD,CAAC,CAAC;AAHW,QAAA,YAAY,gBAGvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/storage",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "This library provides a set of objects that handle the interface between the server-side API and various cloud storage providers.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -25,9 +25,9 @@
25
25
  "@azure/identity": "^4.0.1",
26
26
  "@azure/storage-blob": "^12.17.0",
27
27
  "@google-cloud/storage": "^7.9.0",
28
- "@memberjunction/core": "~1.2.2",
29
- "@memberjunction/core-entities": "~1.2.2",
30
- "@memberjunction/global": "~1.2.2",
28
+ "@memberjunction/core": "~1.3.0",
29
+ "@memberjunction/core-entities": "~1.3.0",
30
+ "@memberjunction/global": "~1.3.0",
31
31
  "env-var": "^7.3.0",
32
32
  "mime-types": "^2.1.35"
33
33
  }