@contember/engine-s3-plugin 2.2.0-alpha.3 → 2.2.0-alpha.5

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.
Files changed (68) hide show
  1. package/dist/development/src/Config.cjs.map +1 -1
  2. package/dist/development/src/Config.js.map +1 -1
  3. package/dist/development/src/S3ObjectAuthorizator.cjs +12 -1
  4. package/dist/development/src/S3ObjectAuthorizator.cjs.map +1 -1
  5. package/dist/development/src/S3ObjectAuthorizator.js +12 -1
  6. package/dist/development/src/S3ObjectAuthorizator.js.map +1 -1
  7. package/dist/development/src/S3SchemaContributor.cjs +27 -3
  8. package/dist/development/src/S3SchemaContributor.cjs.map +1 -1
  9. package/dist/development/src/S3SchemaContributor.js +28 -4
  10. package/dist/development/src/S3SchemaContributor.js.map +1 -1
  11. package/dist/development/src/S3SchemaTypes.cjs +8 -0
  12. package/dist/development/src/S3SchemaTypes.cjs.map +1 -1
  13. package/dist/development/src/S3SchemaTypes.js +8 -0
  14. package/dist/development/src/S3SchemaTypes.js.map +1 -1
  15. package/dist/development/src/S3Service.cjs +44 -14
  16. package/dist/development/src/S3Service.cjs.map +1 -1
  17. package/dist/development/src/S3Service.js +44 -14
  18. package/dist/development/src/S3Service.js.map +1 -1
  19. package/dist/development/src/S3Signer.cjs +6 -1
  20. package/dist/development/src/S3Signer.cjs.map +1 -1
  21. package/dist/development/src/S3Signer.js +6 -1
  22. package/dist/development/src/S3Signer.js.map +1 -1
  23. package/dist/production/src/Config.cjs.map +1 -1
  24. package/dist/production/src/Config.js.map +1 -1
  25. package/dist/production/src/S3ObjectAuthorizator.cjs +12 -1
  26. package/dist/production/src/S3ObjectAuthorizator.cjs.map +1 -1
  27. package/dist/production/src/S3ObjectAuthorizator.js +12 -1
  28. package/dist/production/src/S3ObjectAuthorizator.js.map +1 -1
  29. package/dist/production/src/S3SchemaContributor.cjs +27 -3
  30. package/dist/production/src/S3SchemaContributor.cjs.map +1 -1
  31. package/dist/production/src/S3SchemaContributor.js +28 -4
  32. package/dist/production/src/S3SchemaContributor.js.map +1 -1
  33. package/dist/production/src/S3SchemaTypes.cjs +8 -0
  34. package/dist/production/src/S3SchemaTypes.cjs.map +1 -1
  35. package/dist/production/src/S3SchemaTypes.js +8 -0
  36. package/dist/production/src/S3SchemaTypes.js.map +1 -1
  37. package/dist/production/src/S3Service.cjs +44 -14
  38. package/dist/production/src/S3Service.cjs.map +1 -1
  39. package/dist/production/src/S3Service.js +44 -14
  40. package/dist/production/src/S3Service.js.map +1 -1
  41. package/dist/production/src/S3Signer.cjs +6 -1
  42. package/dist/production/src/S3Signer.cjs.map +1 -1
  43. package/dist/production/src/S3Signer.js +6 -1
  44. package/dist/production/src/S3Signer.js.map +1 -1
  45. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  46. package/dist/types/Config.d.ts.map +1 -1
  47. package/dist/types/S3ConfigProcessor.d.ts.map +1 -1
  48. package/dist/types/S3ObjectAuthorizator.d.ts +9 -1
  49. package/dist/types/S3ObjectAuthorizator.d.ts.map +1 -1
  50. package/dist/types/S3SchemaContributor.d.ts +2 -0
  51. package/dist/types/S3SchemaContributor.d.ts.map +1 -1
  52. package/dist/types/S3SchemaTypes.d.ts +1 -0
  53. package/dist/types/S3SchemaTypes.d.ts.map +1 -1
  54. package/dist/types/S3Service.d.ts +22 -1
  55. package/dist/types/S3Service.d.ts.map +1 -1
  56. package/dist/types/S3Signer.d.ts +1 -1
  57. package/dist/types/S3Signer.d.ts.map +1 -1
  58. package/dist/types/index.d.ts.map +1 -1
  59. package/dist/types/tsconfig.tsbuildinfo +1 -1
  60. package/package.json +4 -4
  61. package/src/Config.ts +1 -0
  62. package/src/S3ObjectAuthorizator.ts +20 -0
  63. package/src/S3SchemaContributor.ts +29 -3
  64. package/src/S3SchemaTypes.ts +8 -0
  65. package/src/S3Service.ts +64 -14
  66. package/src/S3Signer.ts +8 -2
  67. package/tests/cases/authorizator.test.ts +11 -0
  68. package/tests/cases/signRequest.test.ts +81 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,oBAAY,WAAW;IACtB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,WAAW,gBAAgB;CAC3B;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;EAgB1B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAExD,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAA;AAK9C,eAAO,MAAM,eAAe,GAAI,QAAQ,QAAQ,KAAG,QAKlD,CAAA;AAID,eAAO,MAAM,iBAAiB,GAC7B,QAAQ,QAAQ,KACd;IACF,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CAOhB,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,QAAQ,QAAQ,KAAG,MAMzD,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,oBAAY,WAAW;IACtB,GAAG,QAAQ;IAEX,KAAK,UAAU;IACf,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,WAAW,gBAAgB;CAC3B;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;EAgB1B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAExD,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAA;AAK9C,eAAO,MAAM,eAAe,WAAY,QAAQ,KAAG,QAKlD,CAAA;AAID,eAAO,MAAM,iBAAiB,WACrB,QAAQ,KACd;IACF,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CAOhB,CAAA;AAED,eAAO,MAAM,sBAAsB,WAAY,QAAQ,KAAG,MAMzD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"S3ConfigProcessor.d.ts","sourceRoot":"","sources":["../../src/S3ConfigProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAClG,OAAO,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAC5D,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,qBAAa,iBAAkB,YAAW,eAAe,CAAC,cAAc,CAAC;IACxE,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQvC,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,EAAE,qBAAqB;IAqB9E,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAQxE"}
1
+ {"version":3,"file":"S3ConfigProcessor.d.ts","sourceRoot":"","sources":["../../src/S3ConfigProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAClG,OAAO,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAC5D,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,qBAAa,iBAAkB,YAAW,eAAe,CAAC,cAAc,CAAC;IACxE,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMtC;IAED,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,EAAE,qBAAqB,OAmB7E;IAED,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAOvE;CACD"}
@@ -7,13 +7,21 @@ export type S3ObjectReadRule = {
7
7
  pattern: string;
8
8
  matcher?: (key: string) => boolean;
9
9
  };
10
+ export type S3ObjectDeleteRule = {
11
+ pattern: string;
12
+ matcher?: (key: string) => boolean;
13
+ };
10
14
  export declare class S3ObjectAuthorizator {
11
15
  private readonly uploadRules;
12
16
  private readonly readRules;
13
- constructor(uploadRules: Omit<S3ObjectUploadRule, 'matcher'>[], readRules: Omit<S3ObjectReadRule, 'matcher'>[]);
17
+ private readonly deleteRules;
18
+ constructor(uploadRules: Omit<S3ObjectUploadRule, 'matcher'>[], readRules: Omit<S3ObjectReadRule, 'matcher'>[], deleteRules?: Omit<S3ObjectDeleteRule, 'matcher'>[]);
14
19
  verifyReadAccess({ key }: {
15
20
  key: string;
16
21
  }): void;
22
+ verifyDeleteAccess({ key }: {
23
+ key: string;
24
+ }): void;
17
25
  verifyUploadAccess({ key, size }: {
18
26
  key: string;
19
27
  size: number | null;
@@ -1 +1 @@
1
- {"version":3,"file":"S3ObjectAuthorizator.d.ts","sourceRoot":"","sources":["../../src/S3ObjectAuthorizator.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAClC,CAAA;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;gBAG7C,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,EAClD,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE;IAMxC,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAYhD,kBAAkB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;CAwBpF"}
1
+ {"version":3,"file":"S3ObjectAuthorizator.d.ts","sourceRoot":"","sources":["../../src/S3ObjectAuthorizator.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAClC,CAAA;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAElD,YACC,WAAW,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAE,EAClD,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAC9C,WAAW,GAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,EAAO,EAKvD;IAEM,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAUtD;IAEM,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAUxD;IAEM,kBAAkB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAuBnF;CACD"}
@@ -8,6 +8,7 @@ export type S3SchemaAcl = Record<string, // public/*.jpg
8
8
  {
9
9
  read?: boolean;
10
10
  upload?: S3SchemaUploadAcl;
11
+ delete?: boolean;
11
12
  }>;
12
13
  export declare class S3SchemaContributor implements GraphQLSchemaContributor {
13
14
  private readonly s3Factory;
@@ -16,6 +17,7 @@ export declare class S3SchemaContributor implements GraphQLSchemaContributor {
16
17
  getCacheKey?({ project }: GraphQLSchemaContributorContext): string;
17
18
  createSchema(context: GraphQLSchemaContributorContext): GraphQLSchemaConfig | undefined;
18
19
  private createReadMutation;
20
+ private createDeleteMutation;
19
21
  private createUploadMutation;
20
22
  }
21
23
  //# sourceMappingURL=S3SchemaContributor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"S3SchemaContributor.d.ts","sourceRoot":"","sources":["../../src/S3SchemaContributor.ts"],"names":[],"mappings":"AAAA,OAAO,EAON,mBAAmB,EAEnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAa,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE5D,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAShH,MAAM,MAAM,iBAAiB,GAC1B,OAAO,GACP;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAC/B,MAAM,EAAE,eAAe;AACvB;IACC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC1B,CACD,CAAA;AAED,qBAAa,mBAAoB,YAAW,wBAAwB;IAElE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,SAAS;IAGtC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,+BAA+B,GAAG,MAAM;IAIlE,YAAY,CAAC,OAAO,EAAE,+BAA+B,GAAG,mBAAmB,GAAG,SAAS;IAyCvF,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,oBAAoB;CAkC5B"}
1
+ {"version":3,"file":"S3SchemaContributor.d.ts","sourceRoot":"","sources":["../../src/S3SchemaContributor.ts"],"names":[],"mappings":"AAAA,OAAO,EAON,mBAAmB,EAEnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAa,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAE5D,OAAO,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAShH,MAAM,MAAM,iBAAiB,GAC1B,OAAO,GACP;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAC/B,MAAM,EAAE,eAAe;AACvB;IACC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB,CACD,CAAA;AAED,qBAAa,mBAAoB,YAAW,wBAAwB;IAElE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAF3B,YACkB,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,SAAS,EAClC;IAEJ,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,+BAA+B,GAAG,MAAM,CAEjE;IAED,YAAY,CAAC,OAAO,EAAE,+BAA+B,GAAG,mBAAmB,GAAG,SAAS,CA6CtF;IAED,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,oBAAoB;CAkC5B"}
@@ -4,6 +4,7 @@ export declare const S3ContentDisposition: GraphQLEnumType;
4
4
  export type S3ContentDisposition = 'ATTACHMENT' | 'INLINE';
5
5
  export declare const S3SignedRead: GraphQLObjectType<any, any>;
6
6
  export declare const S3SignedUpload: GraphQLObjectType<any, any>;
7
+ export declare const S3DeletedObject: GraphQLObjectType<any, any>;
7
8
  export declare const S3Acl: GraphQLEnumType;
8
9
  export type S3Acl = 'PUBLIC_READ' | 'PRIVATE' | 'NONE';
9
10
  export declare const S3GenerateSignedUploadInput: GraphQLInputObjectType;
@@ -1 +1 @@
1
- {"version":3,"file":"S3SchemaTypes.d.ts","sourceRoot":"","sources":["../../src/S3SchemaTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAA2C,iBAAiB,EAAiB,MAAM,SAAS,CAAA;AAE5I,eAAO,MAAM,QAAQ,6BAMnB,CAAA;AAEF,eAAO,MAAM,oBAAoB,iBAM/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,QAAQ,CAAA;AAE1D,eAAO,MAAM,YAAY,6BAWvB,CAAA;AAEF,eAAO,MAAM,cAAc,6BAYzB,CAAA;AAEF,eAAO,MAAM,KAAK,iBAOhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAA;AAEtD,eAAO,MAAM,2BAA2B,wBAatC,CAAA;AACF,MAAM,WAAW,2BAA2B;IAC3C,WAAW,EAAE,IAAI,GAAG,MAAM,CAAA;IAC1B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,kBAAkB,EAAE,IAAI,GAAG,oBAAoB,CAAA;IAC/C,GAAG,EAAE,IAAI,GAAG,KAAK,CAAA;CACjB"}
1
+ {"version":3,"file":"S3SchemaTypes.d.ts","sourceRoot":"","sources":["../../src/S3SchemaTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAA2C,iBAAiB,EAAiB,MAAM,SAAS,CAAA;AAE5I,eAAO,MAAM,QAAQ,6BAMnB,CAAA;AAEF,eAAO,MAAM,oBAAoB,iBAM/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,QAAQ,CAAA;AAE1D,eAAO,MAAM,YAAY,6BAWvB,CAAA;AAEF,eAAO,MAAM,cAAc,6BAYzB,CAAA;AAEF,eAAO,MAAM,eAAe,6BAM1B,CAAA;AAEF,eAAO,MAAM,KAAK,iBAOhB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,CAAA;AAEtD,eAAO,MAAM,2BAA2B,wBAatC,CAAA;AACF,MAAM,WAAW,2BAA2B;IAC3C,WAAW,EAAE,IAAI,GAAG,MAAM,CAAA;IAC1B,SAAS,EAAE,IAAI,GAAG,MAAM,CAAA;IACxB,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,IAAI,EAAE,IAAI,GAAG,MAAM,CAAA;IACnB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAA;IACrB,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,kBAAkB,EAAE,IAAI,GAAG,oBAAoB,CAAA;IAC/C,GAAG,EAAE,IAAI,GAAG,KAAK,CAAA;CACjB"}
@@ -23,19 +23,40 @@ type SignedUploadUrl = {
23
23
  }[];
24
24
  method: string;
25
25
  };
26
+ type DeletedObject = {
27
+ bucket: string;
28
+ objectKey: string;
29
+ };
30
+ export type S3FetchResponse = {
31
+ readonly ok: boolean;
32
+ readonly status: number;
33
+ text(): Promise<string>;
34
+ };
35
+ export type S3Fetch = (url: string, init: {
36
+ method: string;
37
+ signal: AbortSignal;
38
+ }) => Promise<S3FetchResponse>;
26
39
  export declare class S3Service {
27
40
  readonly config: S3Config;
28
41
  private readonly providers;
29
42
  private readonly authorizator;
43
+ private readonly fetch;
30
44
  private readonly publicBaseUrl;
31
45
  private readonly signer;
32
- constructor(config: S3Config, providers: Pick<Providers, 'uuid' | 'now'>, authorizator: S3ObjectAuthorizator);
46
+ constructor(config: S3Config, providers: Pick<Providers, 'uuid' | 'now'>, authorizator: S3ObjectAuthorizator, fetch?: S3Fetch);
33
47
  getSignedUploadUrl({ acl, contentDisposition, contentType, expiration, prefix, suffix, fileName, extension, size }: S3GenerateSignedUploadInput): SignedUploadUrl;
34
48
  getSignedReadUrl({ objectKey, expiration }: {
35
49
  objectKey: string;
36
50
  expiration: number | null;
37
51
  }): SignedReadUrl;
52
+ /**
53
+ * Unlike an upload or a read, a delete carries no payload, so the signed URL never leaves the server.
54
+ */
55
+ deleteObject({ objectKey }: {
56
+ objectKey: string;
57
+ }): Promise<DeletedObject>;
38
58
  formatPublicUrl(key: string): string;
59
+ private resolveObjectKey;
39
60
  }
40
61
  export declare class S3ServiceFactory {
41
62
  create(config: S3Config, providers: Providers, authorizator: S3ObjectAuthorizator): S3Service;
@@ -1 +1 @@
1
- {"version":3,"file":"S3Service.d.ts","sourceRoot":"","sources":["../../src/S3Service.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,KAAK,aAAa,GAAG;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,eAAe,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,qBAAa,SAAS;aAMJ,MAAM,EAAE,QAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAP9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IAEtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAGhB,MAAM,EAAE,QAAQ,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,EAC1C,YAAY,EAAE,oBAAoB;IAM7C,kBAAkB,CACxB,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,2BAA2B,GAC1H,eAAe;IAwDX,gBAAgB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,aAAa;IA+B5G,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG3C;AAED,qBAAa,gBAAgB;IACrB,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB;CAGxF"}
1
+ {"version":3,"file":"S3Service.d.ts","sourceRoot":"","sources":["../../src/S3Service.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAErD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,KAAK,aAAa,GAAG;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,eAAe,GAAG;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzC,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,aAAa,GAAG;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;AAK9G,qBAAa,SAAS;aAMJ,MAAM,EAAE,QAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK;IARvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IAEtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IAEjC,YACiB,MAAM,EAAE,QAAQ,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAAC,EAC1C,YAAY,EAAE,oBAAoB,EAClC,KAAK,GAAE,OAAoD,EAI5E;IAEM,kBAAkB,CACxB,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,2BAA2B,GAC1H,eAAe,CAsDjB;IAEM,gBAAgB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,aAAa,CAmBlH;IAED;;OAEG;IACU,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAqBtF;IAEM,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C;IAED,OAAO,CAAC,gBAAgB;CAgBxB;AAED,qBAAa,gBAAgB;IACrB,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,aAEvF;CACD"}
@@ -1,7 +1,7 @@
1
1
  import { S3Config } from './Config.js';
2
2
  import { Providers } from '@contember/engine-plugins';
3
3
  interface S3Request {
4
- action: 'read' | 'upload';
4
+ action: 'read' | 'upload' | 'delete';
5
5
  key: string;
6
6
  expiration: number;
7
7
  headers: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"S3Signer.d.ts","sourceRoot":"","sources":["../../src/S3Signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAIrD,UAAU,SAAS;IAClB,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAA;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAWD,qBAAa,QAAQ;IAGR,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAY,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFzE,OAAO,CAAC,MAAM,CAAQ;gBAEO,MAAM,EAAE,QAAQ,EAAmB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC;IAI1F,IAAI,CAAC,OAAO,EAAE,SAAS;IA2B9B,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;CAO5B"}
1
+ {"version":3,"file":"S3Signer.d.ts","sourceRoot":"","sources":["../../src/S3Signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAIrD,UAAU,SAAS;IAClB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B;AAiBD,qBAAa,QAAQ;IAGR,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAY,OAAO,CAAC,QAAQ,CAAC,SAAS;IAFzE,OAAO,CAAC,MAAM,CAAQ;IAEtB,YAA6B,MAAM,EAAE,QAAQ,EAAmB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAEhG;IAEM,IAAI,CAAC,OAAO,EAAE,SAAS,UAyB7B;IAED,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;CAO5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,EAAG,YAAW,MAAM,CAAC,cAAc,CAAC;IACxD,IAAI,SAAiB;IAErB,kBAAkB;IAIlB,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,qBAAqB;CAIzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAE9B,MAAM,CAAC,OAAO,OAAO,EAAG,YAAW,MAAM,CAAC,cAAc,CAAC;IACxD,IAAI,SAAiB;IAErB,kBAAkB,sBAEjB;IAED,oBAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,qBAAqB,uBAGxD;CACD"}