@webiny/api-sync-system 6.0.0-rc.4 → 6.0.0-rc.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-sync-system",
3
- "version": "6.0.0-rc.4",
3
+ "version": "6.0.0-rc.6",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -11,13 +11,13 @@
11
11
  "author": "Webiny LTD",
12
12
  "license": "MIT",
13
13
  "dependencies": {
14
- "@webiny/api": "6.0.0-rc.4",
15
- "@webiny/aws-sdk": "6.0.0-rc.4",
16
- "@webiny/error": "6.0.0-rc.4",
17
- "@webiny/handler": "6.0.0-rc.4",
18
- "@webiny/handler-aws": "6.0.0-rc.4",
19
- "@webiny/plugins": "6.0.0-rc.4",
20
- "@webiny/utils": "6.0.0-rc.4",
14
+ "@webiny/api": "6.0.0-rc.6",
15
+ "@webiny/aws-sdk": "6.0.0-rc.6",
16
+ "@webiny/error": "6.0.0-rc.6",
17
+ "@webiny/handler": "6.0.0-rc.6",
18
+ "@webiny/handler-aws": "6.0.0-rc.6",
19
+ "@webiny/plugins": "6.0.0-rc.6",
20
+ "@webiny/utils": "6.0.0-rc.6",
21
21
  "bytes": "3.1.2",
22
22
  "lodash": "4.17.23",
23
23
  "semver": "7.7.4",
@@ -26,8 +26,8 @@
26
26
  "devDependencies": {
27
27
  "@faker-js/faker": "9.9.0",
28
28
  "@types/lodash": "4.17.24",
29
- "@webiny/build-tools": "6.0.0-rc.4",
30
- "@webiny/project-utils": "6.0.0-rc.4",
29
+ "@webiny/build-tools": "6.0.0-rc.6",
30
+ "@webiny/project-utils": "6.0.0-rc.6",
31
31
  "aws-sdk-client-mock": "4.1.0",
32
32
  "jest-dynalite": "3.6.1",
33
33
  "rimraf": "6.1.3",
@@ -38,5 +38,5 @@
38
38
  "access": "public",
39
39
  "directory": "dist"
40
40
  },
41
- "gitHead": "e2758ee1cfa3b9a7152e9bb995a90ccabd33266f"
41
+ "gitHead": "a2a076532809feabf674a6873464f09071d86c72"
42
42
  }
@@ -24,12 +24,6 @@ export class Deployment {
24
24
  arn: this.services.opensearchDynamodbTableArn,
25
25
  type
26
26
  };
27
- case "log":
28
- return {
29
- name: this.services.logDynamodbTableName,
30
- arn: this.services.logDynamodbTableArn,
31
- type
32
- };
33
27
  default:
34
28
  throw new Error(`Unknown table type "${type}".`);
35
29
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Deployment","constructor","params","name","env","variant","region","services","version","getTable","type","primaryDynamoDbName","arn","primaryDynamoDbArn","opensearchDynamodbTableName","opensearchDynamodbTableArn","Error","logDynamodbTableName","logDynamodbTableArn","createDeployment"],"sources":["Deployment.ts"],"sourcesContent":["import type { SemVer } from \"semver\";\nimport type { IDeployment, IDeploymentServices } from \"./types.js\";\nimport type { DynamoDBTableType } from \"~/types.js\";\nimport type { ITable } from \"~/sync/types.js\";\n\nexport type IDeploymentParams = Omit<IDeployment, \"getTable\">;\n\nexport class Deployment implements IDeployment {\n public readonly name: string;\n public readonly env: string;\n public readonly variant: string | undefined;\n public readonly region: string;\n public readonly services: IDeploymentServices;\n public readonly version: SemVer;\n\n public constructor(params: IDeploymentParams) {\n this.name = params.name;\n this.env = params.env;\n this.variant = params.variant;\n this.region = params.region;\n this.services = params.services;\n this.version = params.version;\n }\n\n public getTable(type: DynamoDBTableType): ITable {\n switch (type) {\n case \"regular\":\n return {\n name: this.services.primaryDynamoDbName,\n arn: this.services.primaryDynamoDbArn,\n type\n };\n case \"opensearch\":\n if (\n !this.services.opensearchDynamodbTableName ||\n !this.services.opensearchDynamodbTableArn\n ) {\n throw new Error(`Unknown table type \"${type}\" - no data.`);\n }\n return {\n name: this.services.opensearchDynamodbTableName,\n arn: this.services.opensearchDynamodbTableArn,\n type\n };\n case \"log\":\n return {\n name: this.services.logDynamodbTableName,\n arn: this.services.logDynamodbTableArn,\n type\n };\n default:\n throw new Error(`Unknown table type \"${type}\".`);\n }\n }\n}\n\nexport const createDeployment = (params: IDeploymentParams): IDeployment => {\n return new Deployment(params);\n};\n"],"mappings":"AAOA,OAAO,MAAMA,UAAU,CAAwB;EAQpCC,WAAWA,CAACC,MAAyB,EAAE;IAC1C,IAAI,CAACC,IAAI,GAAGD,MAAM,CAACC,IAAI;IACvB,IAAI,CAACC,GAAG,GAAGF,MAAM,CAACE,GAAG;IACrB,IAAI,CAACC,OAAO,GAAGH,MAAM,CAACG,OAAO;IAC7B,IAAI,CAACC,MAAM,GAAGJ,MAAM,CAACI,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGL,MAAM,CAACK,QAAQ;IAC/B,IAAI,CAACC,OAAO,GAAGN,MAAM,CAACM,OAAO;EACjC;EAEOC,QAAQA,CAACC,IAAuB,EAAU;IAC7C,QAAQA,IAAI;MACR,KAAK,SAAS;QACV,OAAO;UACHP,IAAI,EAAE,IAAI,CAACI,QAAQ,CAACI,mBAAmB;UACvCC,GAAG,EAAE,IAAI,CAACL,QAAQ,CAACM,kBAAkB;UACrCH;QACJ,CAAC;MACL,KAAK,YAAY;QACb,IACI,CAAC,IAAI,CAACH,QAAQ,CAACO,2BAA2B,IAC1C,CAAC,IAAI,CAACP,QAAQ,CAACQ,0BAA0B,EAC3C;UACE,MAAM,IAAIC,KAAK,CAAC,uBAAuBN,IAAI,cAAc,CAAC;QAC9D;QACA,OAAO;UACHP,IAAI,EAAE,IAAI,CAACI,QAAQ,CAACO,2BAA2B;UAC/CF,GAAG,EAAE,IAAI,CAACL,QAAQ,CAACQ,0BAA0B;UAC7CL;QACJ,CAAC;MACL,KAAK,KAAK;QACN,OAAO;UACHP,IAAI,EAAE,IAAI,CAACI,QAAQ,CAACU,oBAAoB;UACxCL,GAAG,EAAE,IAAI,CAACL,QAAQ,CAACW,mBAAmB;UACtCR;QACJ,CAAC;MACL;QACI,MAAM,IAAIM,KAAK,CAAC,uBAAuBN,IAAI,IAAI,CAAC;IACxD;EACJ;AACJ;AAEA,OAAO,MAAMS,gBAAgB,GAAIjB,MAAyB,IAAkB;EACxE,OAAO,IAAIF,UAAU,CAACE,MAAM,CAAC;AACjC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Deployment","constructor","params","name","env","variant","region","services","version","getTable","type","primaryDynamoDbName","arn","primaryDynamoDbArn","opensearchDynamodbTableName","opensearchDynamodbTableArn","Error","createDeployment"],"sources":["Deployment.ts"],"sourcesContent":["import type { SemVer } from \"semver\";\nimport type { IDeployment, IDeploymentServices } from \"./types.js\";\nimport type { DynamoDBTableType } from \"~/types.js\";\nimport type { ITable } from \"~/sync/types.js\";\n\nexport type IDeploymentParams = Omit<IDeployment, \"getTable\">;\n\nexport class Deployment implements IDeployment {\n public readonly name: string;\n public readonly env: string;\n public readonly variant: string | undefined;\n public readonly region: string;\n public readonly services: IDeploymentServices;\n public readonly version: SemVer;\n\n public constructor(params: IDeploymentParams) {\n this.name = params.name;\n this.env = params.env;\n this.variant = params.variant;\n this.region = params.region;\n this.services = params.services;\n this.version = params.version;\n }\n\n public getTable(type: DynamoDBTableType): ITable {\n switch (type) {\n case \"regular\":\n return {\n name: this.services.primaryDynamoDbName,\n arn: this.services.primaryDynamoDbArn,\n type\n };\n case \"opensearch\":\n if (\n !this.services.opensearchDynamodbTableName ||\n !this.services.opensearchDynamodbTableArn\n ) {\n throw new Error(`Unknown table type \"${type}\" - no data.`);\n }\n return {\n name: this.services.opensearchDynamodbTableName,\n arn: this.services.opensearchDynamodbTableArn,\n type\n };\n default:\n throw new Error(`Unknown table type \"${type}\".`);\n }\n }\n}\n\nexport const createDeployment = (params: IDeploymentParams): IDeployment => {\n return new Deployment(params);\n};\n"],"mappings":"AAOA,OAAO,MAAMA,UAAU,CAAwB;EAQpCC,WAAWA,CAACC,MAAyB,EAAE;IAC1C,IAAI,CAACC,IAAI,GAAGD,MAAM,CAACC,IAAI;IACvB,IAAI,CAACC,GAAG,GAAGF,MAAM,CAACE,GAAG;IACrB,IAAI,CAACC,OAAO,GAAGH,MAAM,CAACG,OAAO;IAC7B,IAAI,CAACC,MAAM,GAAGJ,MAAM,CAACI,MAAM;IAC3B,IAAI,CAACC,QAAQ,GAAGL,MAAM,CAACK,QAAQ;IAC/B,IAAI,CAACC,OAAO,GAAGN,MAAM,CAACM,OAAO;EACjC;EAEOC,QAAQA,CAACC,IAAuB,EAAU;IAC7C,QAAQA,IAAI;MACR,KAAK,SAAS;QACV,OAAO;UACHP,IAAI,EAAE,IAAI,CAACI,QAAQ,CAACI,mBAAmB;UACvCC,GAAG,EAAE,IAAI,CAACL,QAAQ,CAACM,kBAAkB;UACrCH;QACJ,CAAC;MACL,KAAK,YAAY;QACb,IACI,CAAC,IAAI,CAACH,QAAQ,CAACO,2BAA2B,IAC1C,CAAC,IAAI,CAACP,QAAQ,CAACQ,0BAA0B,EAC3C;UACE,MAAM,IAAIC,KAAK,CAAC,uBAAuBN,IAAI,cAAc,CAAC;QAC9D;QACA,OAAO;UACHP,IAAI,EAAE,IAAI,CAACI,QAAQ,CAACO,2BAA2B;UAC/CF,GAAG,EAAE,IAAI,CAACL,QAAQ,CAACQ,0BAA0B;UAC7CL;QACJ,CAAC;MACL;QACI,MAAM,IAAIM,KAAK,CAAC,uBAAuBN,IAAI,IAAI,CAAC;IACxD;EACJ;AACJ;AAEA,OAAO,MAAMO,gBAAgB,GAAIf,MAAyB,IAAkB;EACxE,OAAO,IAAIF,UAAU,CAACE,MAAM,CAAC;AACjC,CAAC","ignoreList":[]}
@@ -88,9 +88,7 @@ export class DeploymentsFetcher {
88
88
  primaryDynamoDbHashKey: item.primaryDynamoDbHashKey,
89
89
  primaryDynamoDbRangeKey: item.primaryDynamoDbRangeKey,
90
90
  opensearchDynamodbTableArn: item.opensearchDynamodbTableArn,
91
- opensearchDynamodbTableName: item.opensearchDynamodbTableName,
92
- logDynamodbTableName: item.primaryDynamoDbName,
93
- logDynamodbTableArn: item.primaryDynamoDbArn
91
+ opensearchDynamodbTableName: item.opensearchDynamodbTableName
94
92
  }
95
93
  });
96
94
  });
@@ -1 +1 @@
1
- {"version":3,"names":["QueryCommand","unmarshall","WebinyError","createDeployments","zod","createZodError","createDeployment","SemVer","deploymentsValidation","array","object","name","string","env","variant","optional","region","version","s3Id","s3Arn","cognitoUserPoolId","transform","input","primaryDynamoDbArn","primaryDynamoDbName","primaryDynamoDbHashKey","primaryDynamoDbRangeKey","opensearchDynamodbTableArn","opensearchDynamodbTableName","DeploymentsFetcher","constructor","params","client","table","fetch","deployments","load","cmd","TableName","IndexName","KeyConditionExpression","ExpressionAttributeValues","S","result","send","ex","console","error","output","items","Items","map","item","length","message","code","data","safeParse","success","services","logDynamodbTableName","logDynamodbTableArn","createDeploymentsFetcher"],"sources":["DeploymentsFetcher.ts"],"sourcesContent":["import type { IDeployment, IDeployments, IDeploymentsFetcher } from \"./types.js\";\nimport type {\n DynamoDBDocument,\n QueryCommandOutput\n} from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { QueryCommand, unmarshall } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { createDeployments } from \"./Deployments.js\";\nimport zod from \"zod\";\nimport { createZodError } from \"@webiny/utils/createZodError.js\";\nimport { createDeployment } from \"~/resolver/deployment/Deployment.js\";\nimport { SemVer } from \"semver\";\n\nconst deploymentsValidation = zod.array(\n zod.object({\n name: zod.string(),\n env: zod.string(),\n variant: zod.string().optional(),\n region: zod.string(),\n version: zod.string(),\n s3Id: zod.string(),\n s3Arn: zod.string(),\n cognitoUserPoolId: zod\n .string()\n .optional()\n .transform(input => input || \"\"),\n primaryDynamoDbArn: zod.string(),\n primaryDynamoDbName: zod.string(),\n primaryDynamoDbHashKey: zod.string(),\n primaryDynamoDbRangeKey: zod.string(),\n opensearchDynamodbTableArn: zod.string().optional(),\n opensearchDynamodbTableName: zod.string().optional()\n })\n);\n\nexport interface IDeploymentsFetcherParams {\n client: Pick<DynamoDBDocument, \"send\">;\n table: string;\n}\n\nexport class DeploymentsFetcher implements IDeploymentsFetcher {\n private readonly client: Pick<DynamoDBDocument, \"send\">;\n private deployments: IDeployments | undefined;\n private readonly table: string;\n\n public constructor(params: IDeploymentsFetcherParams) {\n this.client = params.client;\n this.table = params.table;\n }\n\n public async fetch(): Promise<IDeployments> {\n if (!this.deployments) {\n this.deployments = createDeployments({\n deployments: await this.load()\n });\n }\n return this.deployments;\n }\n\n private async load(): Promise<IDeployment[]> {\n const cmd = new QueryCommand({\n TableName: this.table,\n IndexName: \"GSI1\",\n KeyConditionExpression: `GSI1_PK = :pk`,\n ExpressionAttributeValues: {\n \":pk\": {\n S: \"DEPLOYMENTS\"\n }\n }\n });\n\n let result: QueryCommandOutput;\n try {\n result = await this.client.send(cmd);\n } catch (ex) {\n console.error(\"Error while fetching all deployments to be synced.\");\n throw ex;\n }\n return this.output(result);\n }\n\n private output(output: QueryCommandOutput): IDeployment[] {\n const items = (output.Items || []).map(item => {\n const result = unmarshall(item);\n return result.item;\n });\n if (items.length === 0) {\n throw new WebinyError({\n message: \"No deployments found which need to be synced.\",\n code: \"NO_DEPLOYMENTS\",\n data: {\n table: this.table\n }\n });\n }\n\n const result = deploymentsValidation.safeParse(items);\n if (!result.success) {\n throw createZodError(result.error);\n }\n return result.data.map(item => {\n return createDeployment({\n name: item.name,\n env: item.env,\n variant: item.variant,\n region: item.region,\n version: new SemVer(item.version),\n services: {\n s3Id: item.s3Id,\n s3Arn: item.s3Arn,\n cognitoUserPoolId: item.cognitoUserPoolId,\n primaryDynamoDbArn: item.primaryDynamoDbArn,\n primaryDynamoDbName: item.primaryDynamoDbName,\n primaryDynamoDbHashKey: item.primaryDynamoDbHashKey,\n primaryDynamoDbRangeKey: item.primaryDynamoDbRangeKey,\n opensearchDynamodbTableArn: item.opensearchDynamodbTableArn,\n opensearchDynamodbTableName: item.opensearchDynamodbTableName,\n logDynamodbTableName: item.primaryDynamoDbName,\n logDynamodbTableArn: item.primaryDynamoDbArn\n }\n });\n });\n }\n}\n\nexport const createDeploymentsFetcher = (\n params: IDeploymentsFetcherParams\n): IDeploymentsFetcher => {\n return new DeploymentsFetcher(params);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["QueryCommand","unmarshall","WebinyError","createDeployments","zod","createZodError","createDeployment","SemVer","deploymentsValidation","array","object","name","string","env","variant","optional","region","version","s3Id","s3Arn","cognitoUserPoolId","transform","input","primaryDynamoDbArn","primaryDynamoDbName","primaryDynamoDbHashKey","primaryDynamoDbRangeKey","opensearchDynamodbTableArn","opensearchDynamodbTableName","DeploymentsFetcher","constructor","params","client","table","fetch","deployments","load","cmd","TableName","IndexName","KeyConditionExpression","ExpressionAttributeValues","S","result","send","ex","console","error","output","items","Items","map","item","length","message","code","data","safeParse","success","services","createDeploymentsFetcher"],"sources":["DeploymentsFetcher.ts"],"sourcesContent":["import type { IDeployment, IDeployments, IDeploymentsFetcher } from \"./types.js\";\nimport type {\n DynamoDBDocument,\n QueryCommandOutput\n} from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { QueryCommand, unmarshall } from \"@webiny/aws-sdk/client-dynamodb/index.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { createDeployments } from \"./Deployments.js\";\nimport zod from \"zod\";\nimport { createZodError } from \"@webiny/utils/createZodError.js\";\nimport { createDeployment } from \"~/resolver/deployment/Deployment.js\";\nimport { SemVer } from \"semver\";\n\nconst deploymentsValidation = zod.array(\n zod.object({\n name: zod.string(),\n env: zod.string(),\n variant: zod.string().optional(),\n region: zod.string(),\n version: zod.string(),\n s3Id: zod.string(),\n s3Arn: zod.string(),\n cognitoUserPoolId: zod\n .string()\n .optional()\n .transform(input => input || \"\"),\n primaryDynamoDbArn: zod.string(),\n primaryDynamoDbName: zod.string(),\n primaryDynamoDbHashKey: zod.string(),\n primaryDynamoDbRangeKey: zod.string(),\n opensearchDynamodbTableArn: zod.string().optional(),\n opensearchDynamodbTableName: zod.string().optional()\n })\n);\n\nexport interface IDeploymentsFetcherParams {\n client: Pick<DynamoDBDocument, \"send\">;\n table: string;\n}\n\nexport class DeploymentsFetcher implements IDeploymentsFetcher {\n private readonly client: Pick<DynamoDBDocument, \"send\">;\n private deployments: IDeployments | undefined;\n private readonly table: string;\n\n public constructor(params: IDeploymentsFetcherParams) {\n this.client = params.client;\n this.table = params.table;\n }\n\n public async fetch(): Promise<IDeployments> {\n if (!this.deployments) {\n this.deployments = createDeployments({\n deployments: await this.load()\n });\n }\n return this.deployments;\n }\n\n private async load(): Promise<IDeployment[]> {\n const cmd = new QueryCommand({\n TableName: this.table,\n IndexName: \"GSI1\",\n KeyConditionExpression: `GSI1_PK = :pk`,\n ExpressionAttributeValues: {\n \":pk\": {\n S: \"DEPLOYMENTS\"\n }\n }\n });\n\n let result: QueryCommandOutput;\n try {\n result = await this.client.send(cmd);\n } catch (ex) {\n console.error(\"Error while fetching all deployments to be synced.\");\n throw ex;\n }\n return this.output(result);\n }\n\n private output(output: QueryCommandOutput): IDeployment[] {\n const items = (output.Items || []).map(item => {\n const result = unmarshall(item);\n return result.item;\n });\n if (items.length === 0) {\n throw new WebinyError({\n message: \"No deployments found which need to be synced.\",\n code: \"NO_DEPLOYMENTS\",\n data: {\n table: this.table\n }\n });\n }\n\n const result = deploymentsValidation.safeParse(items);\n if (!result.success) {\n throw createZodError(result.error);\n }\n return result.data.map(item => {\n return createDeployment({\n name: item.name,\n env: item.env,\n variant: item.variant,\n region: item.region,\n version: new SemVer(item.version),\n services: {\n s3Id: item.s3Id,\n s3Arn: item.s3Arn,\n cognitoUserPoolId: item.cognitoUserPoolId,\n primaryDynamoDbArn: item.primaryDynamoDbArn,\n primaryDynamoDbName: item.primaryDynamoDbName,\n primaryDynamoDbHashKey: item.primaryDynamoDbHashKey,\n primaryDynamoDbRangeKey: item.primaryDynamoDbRangeKey,\n opensearchDynamodbTableArn: item.opensearchDynamodbTableArn,\n opensearchDynamodbTableName: item.opensearchDynamodbTableName\n }\n });\n });\n }\n}\n\nexport const createDeploymentsFetcher = (\n params: IDeploymentsFetcherParams\n): IDeploymentsFetcher => {\n return new DeploymentsFetcher(params);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -10,8 +10,6 @@ export interface IDeploymentServices {
10
10
  primaryDynamoDbRangeKey: string;
11
11
  opensearchDynamodbTableArn?: string;
12
12
  opensearchDynamodbTableName?: string;
13
- logDynamodbTableArn: string;
14
- logDynamodbTableName: string;
15
13
  cognitoUserPoolId: string;
16
14
  }
17
15
  export interface IDeployment<S = IDeploymentServices> {
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { DynamoDBTableType } from \"~/types.js\";\nimport type { SemVer } from \"semver\";\nimport type { ITable } from \"~/sync/types.js\";\n\nexport interface IDeploymentServices {\n s3Id: string;\n s3Arn: string;\n primaryDynamoDbArn: string;\n primaryDynamoDbName: string;\n primaryDynamoDbHashKey: string;\n primaryDynamoDbRangeKey: string;\n opensearchDynamodbTableArn?: string;\n opensearchDynamodbTableName?: string;\n logDynamodbTableArn: string;\n logDynamodbTableName: string;\n cognitoUserPoolId: string;\n}\n\nexport interface IDeployment<S = IDeploymentServices> {\n name: string;\n env: string;\n variant: string | undefined;\n region: string;\n services: S;\n version: SemVer;\n getTable(type: DynamoDBTableType): ITable;\n}\n\nexport interface IDeployments {\n hasAny(): boolean;\n all(): IDeployment[];\n get(name: string): IDeployment | null;\n without(deployment: Pick<IDeployment, \"name\">): IDeployments;\n}\n\nexport interface IDeploymentsFetcher {\n fetch(): Promise<IDeployments>;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { DynamoDBTableType } from \"~/types.js\";\nimport type { SemVer } from \"semver\";\nimport type { ITable } from \"~/sync/types.js\";\n\nexport interface IDeploymentServices {\n s3Id: string;\n s3Arn: string;\n primaryDynamoDbArn: string;\n primaryDynamoDbName: string;\n primaryDynamoDbHashKey: string;\n primaryDynamoDbRangeKey: string;\n opensearchDynamodbTableArn?: string;\n opensearchDynamodbTableName?: string;\n cognitoUserPoolId: string;\n}\n\nexport interface IDeployment<S = IDeploymentServices> {\n name: string;\n env: string;\n variant: string | undefined;\n region: string;\n services: S;\n version: SemVer;\n getTable(type: DynamoDBTableType): ITable;\n}\n\nexport interface IDeployments {\n hasAny(): boolean;\n all(): IDeployment[];\n get(name: string): IDeployment | null;\n without(deployment: Pick<IDeployment, \"name\">): IDeployments;\n}\n\nexport interface IDeploymentsFetcher {\n fetch(): Promise<IDeployments>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -5,8 +5,6 @@ export const getTableType = tableName => {
5
5
  return DynamoDBTableType.REGULAR;
6
6
  case process.env.DB_TABLE_OPENSEARCH:
7
7
  return DynamoDBTableType.OPENSEARCH;
8
- case process.env.DB_TABLE_LOG:
9
- return DynamoDBTableType.LOG;
10
8
  default:
11
9
  return DynamoDBTableType.UNKNOWN;
12
10
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DynamoDBTableType","getTableType","tableName","process","env","DB_TABLE","REGULAR","DB_TABLE_OPENSEARCH","OPENSEARCH","DB_TABLE_LOG","LOG","UNKNOWN"],"sources":["getTableType.ts"],"sourcesContent":["import { DynamoDBTableType } from \"~/types.js\";\n\nexport const getTableType = (tableName: string): DynamoDBTableType => {\n switch (tableName) {\n case process.env.DB_TABLE:\n return DynamoDBTableType.REGULAR;\n case process.env.DB_TABLE_OPENSEARCH:\n return DynamoDBTableType.OPENSEARCH;\n case process.env.DB_TABLE_LOG:\n return DynamoDBTableType.LOG;\n default:\n return DynamoDBTableType.UNKNOWN;\n }\n};\n"],"mappings":"AAAA,SAASA,iBAAiB;AAE1B,OAAO,MAAMC,YAAY,GAAIC,SAAiB,IAAwB;EAClE,QAAQA,SAAS;IACb,KAAKC,OAAO,CAACC,GAAG,CAACC,QAAQ;MACrB,OAAOL,iBAAiB,CAACM,OAAO;IACpC,KAAKH,OAAO,CAACC,GAAG,CAACG,mBAAmB;MAChC,OAAOP,iBAAiB,CAACQ,UAAU;IACvC,KAAKL,OAAO,CAACC,GAAG,CAACK,YAAY;MACzB,OAAOT,iBAAiB,CAACU,GAAG;IAChC;MACI,OAAOV,iBAAiB,CAACW,OAAO;EACxC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DynamoDBTableType","getTableType","tableName","process","env","DB_TABLE","REGULAR","DB_TABLE_OPENSEARCH","OPENSEARCH","UNKNOWN"],"sources":["getTableType.ts"],"sourcesContent":["import { DynamoDBTableType } from \"~/types.js\";\n\nexport const getTableType = (tableName: string): DynamoDBTableType => {\n switch (tableName) {\n case process.env.DB_TABLE:\n return DynamoDBTableType.REGULAR;\n case process.env.DB_TABLE_OPENSEARCH:\n return DynamoDBTableType.OPENSEARCH;\n default:\n return DynamoDBTableType.UNKNOWN;\n }\n};\n"],"mappings":"AAAA,SAASA,iBAAiB;AAE1B,OAAO,MAAMC,YAAY,GAAIC,SAAiB,IAAwB;EAClE,QAAQA,SAAS;IACb,KAAKC,OAAO,CAACC,GAAG,CAACC,QAAQ;MACrB,OAAOL,iBAAiB,CAACM,OAAO;IACpC,KAAKH,OAAO,CAACC,GAAG,CAACG,mBAAmB;MAChC,OAAOP,iBAAiB,CAACQ,UAAU;IACvC;MACI,OAAOR,iBAAiB,CAACS,OAAO;EACxC;AACJ,CAAC","ignoreList":[]}
package/types.d.ts CHANGED
@@ -5,7 +5,6 @@ export type AllCommandType = ExtendedCommandType | "batchWrite" | "null";
5
5
  export declare enum DynamoDBTableType {
6
6
  REGULAR = "regular",
7
7
  OPENSEARCH = "opensearch",
8
- LOG = "log",
9
8
  UNKNOWN = "unknown"
10
9
  }
11
10
  export type Context = BaseContext;
package/types.js CHANGED
@@ -1,7 +1,6 @@
1
1
  export let DynamoDBTableType = /*#__PURE__*/function (DynamoDBTableType) {
2
2
  DynamoDBTableType["REGULAR"] = "regular";
3
3
  DynamoDBTableType["OPENSEARCH"] = "opensearch";
4
- DynamoDBTableType["LOG"] = "log";
5
4
  DynamoDBTableType["UNKNOWN"] = "unknown";
6
5
  return DynamoDBTableType;
7
6
  }({});
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["DynamoDBTableType"],"sources":["types.ts"],"sourcesContent":["import type { Context as BaseContext } from \"@webiny/handler-aws/types.js\";\n\nexport type CommandType = \"put\" | \"delete\";\nexport type ExtendedCommandType = \"put\" | \"delete\" | \"update\";\nexport type AllCommandType = ExtendedCommandType | \"batchWrite\" | \"null\";\n\nexport enum DynamoDBTableType {\n REGULAR = \"regular\",\n OPENSEARCH = \"opensearch\",\n LOG = \"log\",\n UNKNOWN = \"unknown\"\n}\n\nexport type Context = BaseContext;\n\nexport interface IFileLambdaPayloadInfo {\n bucket: string;\n region: string;\n}\n\nexport interface ICopyFileLambdaPayload {\n action: \"copyFile\";\n key: string;\n source: IFileLambdaPayloadInfo;\n target: IFileLambdaPayloadInfo;\n}\n\nexport interface IDeleteFileLambdaPayload {\n action: \"deleteFile\";\n key: string;\n target: IFileLambdaPayloadInfo;\n}\n\nexport interface IUserLambdaPayloadInfo {\n region: string;\n userPoolId: string;\n}\n\nexport interface IDeleteUserLambdaPayload {\n action: \"deleteUser\";\n username: string;\n target: IUserLambdaPayloadInfo;\n}\n\nexport interface ICopyUserLambdaPayload {\n action: \"createUser\" | \"updateUser\";\n username: string;\n source: IUserLambdaPayloadInfo;\n target: IUserLambdaPayloadInfo;\n}\n"],"mappings":"AAMA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["DynamoDBTableType"],"sources":["types.ts"],"sourcesContent":["import type { Context as BaseContext } from \"@webiny/handler-aws/types.js\";\n\nexport type CommandType = \"put\" | \"delete\";\nexport type ExtendedCommandType = \"put\" | \"delete\" | \"update\";\nexport type AllCommandType = ExtendedCommandType | \"batchWrite\" | \"null\";\n\nexport enum DynamoDBTableType {\n REGULAR = \"regular\",\n OPENSEARCH = \"opensearch\",\n UNKNOWN = \"unknown\"\n}\n\nexport type Context = BaseContext;\n\nexport interface IFileLambdaPayloadInfo {\n bucket: string;\n region: string;\n}\n\nexport interface ICopyFileLambdaPayload {\n action: \"copyFile\";\n key: string;\n source: IFileLambdaPayloadInfo;\n target: IFileLambdaPayloadInfo;\n}\n\nexport interface IDeleteFileLambdaPayload {\n action: \"deleteFile\";\n key: string;\n target: IFileLambdaPayloadInfo;\n}\n\nexport interface IUserLambdaPayloadInfo {\n region: string;\n userPoolId: string;\n}\n\nexport interface IDeleteUserLambdaPayload {\n action: \"deleteUser\";\n username: string;\n target: IUserLambdaPayloadInfo;\n}\n\nexport interface ICopyUserLambdaPayload {\n action: \"createUser\" | \"updateUser\";\n username: string;\n source: IUserLambdaPayloadInfo;\n target: IUserLambdaPayloadInfo;\n}\n"],"mappings":"AAMA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}