@webiny/migrations 5.43.3 → 6.0.0-alpha.1

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 (41) hide show
  1. package/migrations/5.43.0/001/ddb/index.d.ts +2 -2
  2. package/migrations/5.43.0/001/ddb/index.js.map +1 -1
  3. package/migrations/5.43.0/001/ddb-es/index.d.ts +3 -3
  4. package/migrations/5.43.0/001/ddb-es/index.js.map +1 -1
  5. package/migrations/5.43.0/001/entities/createEntryEntity.d.ts +4 -2
  6. package/migrations/5.43.0/001/entities/createEntryEntity.js.map +1 -1
  7. package/package.json +16 -16
  8. package/utils/createEntity.d.ts +2 -1
  9. package/utils/createEntity.js.map +1 -1
  10. package/utils/createLocaleEntity.d.ts +1 -1
  11. package/utils/createLocaleEntity.js.map +1 -1
  12. package/utils/createTenantEntity.d.ts +1 -1
  13. package/utils/createTenantEntity.js.map +1 -1
  14. package/utils/dynamoDb.d.ts +2 -1
  15. package/utils/dynamoDb.js.map +1 -1
  16. package/utils/elasticsearch/disableEsIndexing.d.ts +2 -2
  17. package/utils/elasticsearch/disableEsIndexing.js.map +1 -1
  18. package/utils/elasticsearch/esCreateIndex.d.ts +1 -1
  19. package/utils/elasticsearch/esCreateIndex.js.map +1 -1
  20. package/utils/elasticsearch/esFindOne.d.ts +2 -2
  21. package/utils/elasticsearch/esFindOne.js.map +1 -1
  22. package/utils/elasticsearch/esGetIndexExist.d.ts +1 -1
  23. package/utils/elasticsearch/esGetIndexExist.js.map +1 -1
  24. package/utils/elasticsearch/esGetIndexSettings.d.ts +1 -1
  25. package/utils/elasticsearch/esGetIndexSettings.js.map +1 -1
  26. package/utils/elasticsearch/esListIndexes.d.ts +1 -1
  27. package/utils/elasticsearch/esListIndexes.js.map +1 -1
  28. package/utils/elasticsearch/esPutIndexSettings.d.ts +1 -1
  29. package/utils/elasticsearch/esPutIndexSettings.js.map +1 -1
  30. package/utils/elasticsearch/esQueryAll.d.ts +2 -2
  31. package/utils/elasticsearch/esQueryAll.js.map +1 -1
  32. package/utils/elasticsearch/esQueryAllWithCallback.d.ts +2 -2
  33. package/utils/elasticsearch/esQueryAllWithCallback.js.map +1 -1
  34. package/utils/elasticsearch/fetchOriginalEsSettings.d.ts +2 -2
  35. package/utils/elasticsearch/fetchOriginalEsSettings.js.map +1 -1
  36. package/utils/elasticsearch/plugins/index.d.ts +1 -1
  37. package/utils/elasticsearch/plugins/index.js.map +1 -1
  38. package/utils/elasticsearch/restoreOriginalEsSettings.d.ts +2 -2
  39. package/utils/elasticsearch/restoreOriginalEsSettings.js.map +1 -1
  40. package/utils/forEachTenantLocale.d.ts +2 -2
  41. package/utils/forEachTenantLocale.js.map +1 -1
@@ -1,5 +1,5 @@
1
- import { Table } from "@webiny/db-dynamodb/toolbox";
2
- import { DataMigration, DataMigrationContext } from "@webiny/data-migration";
1
+ import type { Table } from "@webiny/db-dynamodb/toolbox";
2
+ import type { DataMigration, DataMigrationContext } from "@webiny/data-migration";
3
3
  export declare class Flp_5_43_0_001 implements DataMigration {
4
4
  private readonly table;
5
5
  private readonly entryEntity;
@@ -1 +1 @@
1
- {"version":3,"names":["_dbDynamodb","require","_ioc","_symbols","_StepFunctionServicePlugin","_createEntryEntity","_utils","_constants","_utils2","Flp_5_43_0_001","constructor","table","entryEntity","createDdbEntryEntity","getId","getDescription","shouldExecute","logger","forEachTenantLocale","callback","tenantId","localeCode","foldersCount","count","entity","partitionKey","ACO_FOLDER_MODEL_ID","options","index","info","execute","event","tenant","locale","id","generateAlphaNumericId","definitionId","name","input","type","storeTaskDdbEntry","service","StepFunctionService","getTenant","getLocale","startTaskExecution","result","send","Error","executeWithRetry","onFailedAttempt","error","attemptNumber","e","entryId","values","items","putBatch","PK","SK","GSI1_PK","TASK_MODEL_ID","GSI1_SK","createRevisionId","location","folderId","locked","modelId","status","TYPE","version","modifiedOn","Date","toISOString","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","savedOn","createdOn","webinyVersion","process","env","WEBINY_VERSION","meta","batchWriteAll","console","log","parseIdentifier","exports","makeInjectable","inject","PrimaryDynamoTableSymbol"],"sources":["index.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { count } from \"@webiny/db-dynamodb\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport { DataMigration, DataMigrationContext } from \"@webiny/data-migration\";\nimport { PrimaryDynamoTableSymbol } from \"@webiny/data-migration/symbols\";\nimport { StepFunctionService } from \"@webiny/tasks/service/StepFunctionServicePlugin\";\nimport { createDdbEntryEntity } from \"../entities/createEntryEntity\";\nimport { forEachTenantLocale, batchWriteAll } from \"~/utils\";\nimport { ACO_FOLDER_MODEL_ID, TASK_MODEL_ID } from \"../constants\";\nimport { generateAlphaNumericId, parseIdentifier, executeWithRetry } from \"@webiny/utils\";\nimport type { TaskEntryEventPayload } from \"../types\";\n\nexport class Flp_5_43_0_001 implements DataMigration {\n private readonly table: Table<string, string, string>;\n private readonly entryEntity: ReturnType<typeof createDdbEntryEntity>;\n\n constructor(table: Table<string, string, string>) {\n this.table = table;\n this.entryEntity = createDdbEntryEntity(table);\n }\n\n getId() {\n return \"5.43.0-001\";\n }\n\n getDescription() {\n return \"Introduce 'flp' entities\";\n }\n\n async shouldExecute({ logger }: DataMigrationContext) {\n let shouldExecute = false;\n\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n shouldExecute = true;\n\n // Let's find out if there are any folders stored in the system.\n const foldersCount = await count({\n entity: this.entryEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#CMS#CME#M#${ACO_FOLDER_MODEL_ID}#L`,\n options: {\n index: \"GSI1\"\n }\n });\n\n if (foldersCount === 0) {\n logger.info(\"No folders found: skipping migration!\");\n shouldExecute = false;\n return false;\n }\n\n // Continue to the next locale.\n return shouldExecute;\n }\n });\n\n return shouldExecute;\n }\n\n async execute({ logger }: DataMigrationContext) {\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n logger.info(`Starting migration for tenant ${tenantId} / locale ${localeCode}`);\n // Let's find out if there are any folders stored for the current tenant / locale.\n const foldersCount = await count({\n entity: this.entryEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#CMS#CME#M#${ACO_FOLDER_MODEL_ID}#L`,\n options: {\n index: \"GSI1\"\n }\n });\n\n if (foldersCount === 0) {\n logger.info(\"No folders found: skipping migration!\");\n return true;\n }\n\n const event: TaskEntryEventPayload = {\n tenant: tenantId,\n locale: localeCode,\n id: `5_43_0_001_migration_${generateAlphaNumericId()}`,\n definitionId: \"acoSyncFlp\",\n name: \"5_43_0_001_migration\",\n input: {\n type: \"*\"\n }\n };\n\n await this.storeTaskDdbEntry(event);\n\n const service = new StepFunctionService({\n getTenant: () => tenantId,\n getLocale: () => localeCode\n });\n\n const startTaskExecution = async () => {\n const result = await service.send(\n {\n definitionId: event.definitionId,\n id: event.id\n },\n 0\n );\n\n if (!result) {\n throw new Error(\n `Failed to trigger task for tenant ${tenantId} / locale ${localeCode}. Check the above log.`\n );\n }\n\n return result;\n };\n\n try {\n await executeWithRetry(startTaskExecution, {\n onFailedAttempt: async error => {\n logger.error(\n `Attempt #${error.attemptNumber} failed to trigger task for tenant ${tenantId} / locale ${localeCode}.`\n );\n }\n });\n\n logger.info(\n `Successfully triggered task for tenant ${tenantId} / locale ${localeCode}. FLP records will be synced via background task.`\n );\n } catch (e) {\n logger.error(\n `Failed to trigger task for tenant ${tenantId} / locale ${localeCode}. Check the above logs for more info.`,\n e\n );\n }\n\n return true;\n }\n });\n\n logger.info(\"Finished updating all FLP entities across all tenants and locales.\");\n }\n\n private async storeTaskDdbEntry(event: TaskEntryEventPayload): Promise<void> {\n const { tenant, locale, id: entryId, definitionId, name, input } = event;\n\n try {\n const values = {\n \"number@iterations\": 0,\n \"text@taskStatus\": \"pending\",\n \"text@definitionId\": definitionId,\n \"text@name\": name,\n \"object@input\": input\n };\n\n const partitionKey = `T#${tenant}#L#${locale}#CMS#CME#CME#${entryId}`;\n\n const items = [\n // Exact entry revision\n this.entryEntity.putBatch({\n PK: partitionKey,\n SK: \"REV#0001\",\n GSI1_PK: `T#${tenant}#L#${locale}#CMS#CME#M#${TASK_MODEL_ID}#A`,\n GSI1_SK: this.createRevisionId(entryId),\n id: this.createRevisionId(entryId),\n entryId,\n locale,\n location: {\n folderId: \"root\"\n },\n locked: false,\n modelId: TASK_MODEL_ID,\n status: \"draft\",\n tenant,\n TYPE: \"cms.entry\",\n version: 1,\n modifiedOn: new Date().toISOString(),\n revisionCreatedOn: new Date().toISOString(),\n revisionModifiedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdOn: new Date().toISOString(),\n webinyVersion: process.env.WEBINY_VERSION,\n values\n }),\n // Latest entry revision\n this.entryEntity.putBatch({\n PK: partitionKey,\n SK: \"L\",\n GSI1_PK: `T#${tenant}#L#${locale}#CMS#CME#M#${TASK_MODEL_ID}#L`,\n GSI1_SK: this.createRevisionId(entryId),\n id: this.createRevisionId(entryId),\n entryId,\n locale,\n location: {\n folderId: \"root\"\n },\n locked: false,\n meta: {},\n modelId: TASK_MODEL_ID,\n modifiedOn: new Date().toISOString(),\n revisionCreatedOn: new Date().toISOString(),\n revisionModifiedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdOn: new Date().toISOString(),\n status: \"draft\",\n tenant,\n TYPE: \"cms.entry.l\",\n version: 1,\n webinyVersion: process.env.WEBINY_VERSION,\n values\n })\n ];\n\n await batchWriteAll({\n items,\n table: this.entryEntity.table\n });\n } catch (e) {\n console.log(\"Error while storing task entry.\", event);\n console.error(e);\n }\n }\n\n private createRevisionId(id: string) {\n const { id: entryId } = parseIdentifier(id);\n return `${entryId}#0001`;\n }\n}\n\nmakeInjectable(Flp_5_43_0_001, [inject(PrimaryDynamoTableSymbol)]);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_dbDynamodb","require","_ioc","_symbols","_StepFunctionServicePlugin","_createEntryEntity","_utils","_constants","_utils2","Flp_5_43_0_001","constructor","table","entryEntity","createDdbEntryEntity","getId","getDescription","shouldExecute","logger","forEachTenantLocale","callback","tenantId","localeCode","foldersCount","count","entity","partitionKey","ACO_FOLDER_MODEL_ID","options","index","info","execute","event","tenant","locale","id","generateAlphaNumericId","definitionId","name","input","type","storeTaskDdbEntry","service","StepFunctionService","getTenant","getLocale","startTaskExecution","result","send","Error","executeWithRetry","onFailedAttempt","error","attemptNumber","e","entryId","values","items","putBatch","PK","SK","GSI1_PK","TASK_MODEL_ID","GSI1_SK","createRevisionId","location","folderId","locked","modelId","status","TYPE","version","modifiedOn","Date","toISOString","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","savedOn","createdOn","webinyVersion","process","env","WEBINY_VERSION","meta","batchWriteAll","console","log","parseIdentifier","exports","makeInjectable","inject","PrimaryDynamoTableSymbol"],"sources":["index.ts"],"sourcesContent":["import type { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { count } from \"@webiny/db-dynamodb\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport type { DataMigration, DataMigrationContext } from \"@webiny/data-migration\";\nimport { PrimaryDynamoTableSymbol } from \"@webiny/data-migration/symbols\";\nimport { StepFunctionService } from \"@webiny/tasks/service/StepFunctionServicePlugin\";\nimport { createDdbEntryEntity } from \"../entities/createEntryEntity\";\nimport { forEachTenantLocale, batchWriteAll } from \"~/utils\";\nimport { ACO_FOLDER_MODEL_ID, TASK_MODEL_ID } from \"../constants\";\nimport { generateAlphaNumericId, parseIdentifier, executeWithRetry } from \"@webiny/utils\";\nimport type { TaskEntryEventPayload } from \"../types\";\n\nexport class Flp_5_43_0_001 implements DataMigration {\n private readonly table: Table<string, string, string>;\n private readonly entryEntity: ReturnType<typeof createDdbEntryEntity>;\n\n constructor(table: Table<string, string, string>) {\n this.table = table;\n this.entryEntity = createDdbEntryEntity(table);\n }\n\n getId() {\n return \"5.43.0-001\";\n }\n\n getDescription() {\n return \"Introduce 'flp' entities\";\n }\n\n async shouldExecute({ logger }: DataMigrationContext) {\n let shouldExecute = false;\n\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n shouldExecute = true;\n\n // Let's find out if there are any folders stored in the system.\n const foldersCount = await count({\n entity: this.entryEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#CMS#CME#M#${ACO_FOLDER_MODEL_ID}#L`,\n options: {\n index: \"GSI1\"\n }\n });\n\n if (foldersCount === 0) {\n logger.info(\"No folders found: skipping migration!\");\n shouldExecute = false;\n return false;\n }\n\n // Continue to the next locale.\n return shouldExecute;\n }\n });\n\n return shouldExecute;\n }\n\n async execute({ logger }: DataMigrationContext) {\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n logger.info(`Starting migration for tenant ${tenantId} / locale ${localeCode}`);\n // Let's find out if there are any folders stored for the current tenant / locale.\n const foldersCount = await count({\n entity: this.entryEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#CMS#CME#M#${ACO_FOLDER_MODEL_ID}#L`,\n options: {\n index: \"GSI1\"\n }\n });\n\n if (foldersCount === 0) {\n logger.info(\"No folders found: skipping migration!\");\n return true;\n }\n\n const event: TaskEntryEventPayload = {\n tenant: tenantId,\n locale: localeCode,\n id: `5_43_0_001_migration_${generateAlphaNumericId()}`,\n definitionId: \"acoSyncFlp\",\n name: \"5_43_0_001_migration\",\n input: {\n type: \"*\"\n }\n };\n\n await this.storeTaskDdbEntry(event);\n\n const service = new StepFunctionService({\n getTenant: () => tenantId,\n getLocale: () => localeCode\n });\n\n const startTaskExecution = async () => {\n const result = await service.send(\n {\n definitionId: event.definitionId,\n id: event.id\n },\n 0\n );\n\n if (!result) {\n throw new Error(\n `Failed to trigger task for tenant ${tenantId} / locale ${localeCode}. Check the above log.`\n );\n }\n\n return result;\n };\n\n try {\n await executeWithRetry(startTaskExecution, {\n onFailedAttempt: async error => {\n logger.error(\n `Attempt #${error.attemptNumber} failed to trigger task for tenant ${tenantId} / locale ${localeCode}.`\n );\n }\n });\n\n logger.info(\n `Successfully triggered task for tenant ${tenantId} / locale ${localeCode}. FLP records will be synced via background task.`\n );\n } catch (e) {\n logger.error(\n `Failed to trigger task for tenant ${tenantId} / locale ${localeCode}. Check the above logs for more info.`,\n e\n );\n }\n\n return true;\n }\n });\n\n logger.info(\"Finished updating all FLP entities across all tenants and locales.\");\n }\n\n private async storeTaskDdbEntry(event: TaskEntryEventPayload): Promise<void> {\n const { tenant, locale, id: entryId, definitionId, name, input } = event;\n\n try {\n const values = {\n \"number@iterations\": 0,\n \"text@taskStatus\": \"pending\",\n \"text@definitionId\": definitionId,\n \"text@name\": name,\n \"object@input\": input\n };\n\n const partitionKey = `T#${tenant}#L#${locale}#CMS#CME#CME#${entryId}`;\n\n const items = [\n // Exact entry revision\n this.entryEntity.putBatch({\n PK: partitionKey,\n SK: \"REV#0001\",\n GSI1_PK: `T#${tenant}#L#${locale}#CMS#CME#M#${TASK_MODEL_ID}#A`,\n GSI1_SK: this.createRevisionId(entryId),\n id: this.createRevisionId(entryId),\n entryId,\n locale,\n location: {\n folderId: \"root\"\n },\n locked: false,\n modelId: TASK_MODEL_ID,\n status: \"draft\",\n tenant,\n TYPE: \"cms.entry\",\n version: 1,\n modifiedOn: new Date().toISOString(),\n revisionCreatedOn: new Date().toISOString(),\n revisionModifiedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdOn: new Date().toISOString(),\n webinyVersion: process.env.WEBINY_VERSION,\n values\n }),\n // Latest entry revision\n this.entryEntity.putBatch({\n PK: partitionKey,\n SK: \"L\",\n GSI1_PK: `T#${tenant}#L#${locale}#CMS#CME#M#${TASK_MODEL_ID}#L`,\n GSI1_SK: this.createRevisionId(entryId),\n id: this.createRevisionId(entryId),\n entryId,\n locale,\n location: {\n folderId: \"root\"\n },\n locked: false,\n meta: {},\n modelId: TASK_MODEL_ID,\n modifiedOn: new Date().toISOString(),\n revisionCreatedOn: new Date().toISOString(),\n revisionModifiedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdOn: new Date().toISOString(),\n status: \"draft\",\n tenant,\n TYPE: \"cms.entry.l\",\n version: 1,\n webinyVersion: process.env.WEBINY_VERSION,\n values\n })\n ];\n\n await batchWriteAll({\n items,\n table: this.entryEntity.table\n });\n } catch (e) {\n console.log(\"Error while storing task entry.\", event);\n console.error(e);\n }\n }\n\n private createRevisionId(id: string) {\n const { id: entryId } = parseIdentifier(id);\n return `${entryId}#0001`;\n }\n}\n\nmakeInjectable(Flp_5_43_0_001, [inject(PrimaryDynamoTableSymbol)]);\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAGO,MAAMQ,cAAc,CAA0B;EAIjDC,WAAWA,CAACC,KAAoC,EAAE;IAC9C,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,WAAW,GAAG,IAAAC,uCAAoB,EAACF,KAAK,CAAC;EAClD;EAEAG,KAAKA,CAAA,EAAG;IACJ,OAAO,YAAY;EACvB;EAEAC,cAAcA,CAAA,EAAG;IACb,OAAO,0BAA0B;EACrC;EAEA,MAAMC,aAAaA,CAAC;IAAEC;EAA6B,CAAC,EAAE;IAClD,IAAID,aAAa,GAAG,KAAK;IAEzB,MAAM,IAAAE,0BAAmB,EAAC;MACtBP,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBM,MAAM;MACNE,QAAQ,EAAE,MAAAA,CAAO;QAAEC,QAAQ;QAAEC;MAAW,CAAC,KAAK;QAC1CL,aAAa,GAAG,IAAI;;QAEpB;QACA,MAAMM,YAAY,GAAG,MAAM,IAAAC,iBAAK,EAAC;UAC7BC,MAAM,EAAE,IAAI,CAACZ,WAAW;UACxBa,YAAY,EAAE,KAAKL,QAAQ,MAAMC,UAAU,cAAcK,8BAAmB,IAAI;UAChFC,OAAO,EAAE;YACLC,KAAK,EAAE;UACX;QACJ,CAAC,CAAC;QAEF,IAAIN,YAAY,KAAK,CAAC,EAAE;UACpBL,MAAM,CAACY,IAAI,CAAC,uCAAuC,CAAC;UACpDb,aAAa,GAAG,KAAK;UACrB,OAAO,KAAK;QAChB;;QAEA;QACA,OAAOA,aAAa;MACxB;IACJ,CAAC,CAAC;IAEF,OAAOA,aAAa;EACxB;EAEA,MAAMc,OAAOA,CAAC;IAAEb;EAA6B,CAAC,EAAE;IAC5C,MAAM,IAAAC,0BAAmB,EAAC;MACtBP,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBM,MAAM;MACNE,QAAQ,EAAE,MAAAA,CAAO;QAAEC,QAAQ;QAAEC;MAAW,CAAC,KAAK;QAC1CJ,MAAM,CAACY,IAAI,CAAC,iCAAiCT,QAAQ,aAAaC,UAAU,EAAE,CAAC;QAC/E;QACA,MAAMC,YAAY,GAAG,MAAM,IAAAC,iBAAK,EAAC;UAC7BC,MAAM,EAAE,IAAI,CAACZ,WAAW;UACxBa,YAAY,EAAE,KAAKL,QAAQ,MAAMC,UAAU,cAAcK,8BAAmB,IAAI;UAChFC,OAAO,EAAE;YACLC,KAAK,EAAE;UACX;QACJ,CAAC,CAAC;QAEF,IAAIN,YAAY,KAAK,CAAC,EAAE;UACpBL,MAAM,CAACY,IAAI,CAAC,uCAAuC,CAAC;UACpD,OAAO,IAAI;QACf;QAEA,MAAME,KAA4B,GAAG;UACjCC,MAAM,EAAEZ,QAAQ;UAChBa,MAAM,EAAEZ,UAAU;UAClBa,EAAE,EAAE,wBAAwB,IAAAC,8BAAsB,EAAC,CAAC,EAAE;UACtDC,YAAY,EAAE,YAAY;UAC1BC,IAAI,EAAE,sBAAsB;UAC5BC,KAAK,EAAE;YACHC,IAAI,EAAE;UACV;QACJ,CAAC;QAED,MAAM,IAAI,CAACC,iBAAiB,CAACT,KAAK,CAAC;QAEnC,MAAMU,OAAO,GAAG,IAAIC,8CAAmB,CAAC;UACpCC,SAAS,EAAEA,CAAA,KAAMvB,QAAQ;UACzBwB,SAAS,EAAEA,CAAA,KAAMvB;QACrB,CAAC,CAAC;QAEF,MAAMwB,kBAAkB,GAAG,MAAAA,CAAA,KAAY;UACnC,MAAMC,MAAM,GAAG,MAAML,OAAO,CAACM,IAAI,CAC7B;YACIX,YAAY,EAAEL,KAAK,CAACK,YAAY;YAChCF,EAAE,EAAEH,KAAK,CAACG;UACd,CAAC,EACD,CACJ,CAAC;UAED,IAAI,CAACY,MAAM,EAAE;YACT,MAAM,IAAIE,KAAK,CACX,qCAAqC5B,QAAQ,aAAaC,UAAU,wBACxE,CAAC;UACL;UAEA,OAAOyB,MAAM;QACjB,CAAC;QAED,IAAI;UACA,MAAM,IAAAG,wBAAgB,EAACJ,kBAAkB,EAAE;YACvCK,eAAe,EAAE,MAAMC,KAAK,IAAI;cAC5BlC,MAAM,CAACkC,KAAK,CACR,YAAYA,KAAK,CAACC,aAAa,sCAAsChC,QAAQ,aAAaC,UAAU,GACxG,CAAC;YACL;UACJ,CAAC,CAAC;UAEFJ,MAAM,CAACY,IAAI,CACP,0CAA0CT,QAAQ,aAAaC,UAAU,mDAC7E,CAAC;QACL,CAAC,CAAC,OAAOgC,CAAC,EAAE;UACRpC,MAAM,CAACkC,KAAK,CACR,qCAAqC/B,QAAQ,aAAaC,UAAU,uCAAuC,EAC3GgC,CACJ,CAAC;QACL;QAEA,OAAO,IAAI;MACf;IACJ,CAAC,CAAC;IAEFpC,MAAM,CAACY,IAAI,CAAC,oEAAoE,CAAC;EACrF;EAEA,MAAcW,iBAAiBA,CAACT,KAA4B,EAAiB;IACzE,MAAM;MAAEC,MAAM;MAAEC,MAAM;MAAEC,EAAE,EAAEoB,OAAO;MAAElB,YAAY;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAGP,KAAK;IAExE,IAAI;MACA,MAAMwB,MAAM,GAAG;QACX,mBAAmB,EAAE,CAAC;QACtB,iBAAiB,EAAE,SAAS;QAC5B,mBAAmB,EAAEnB,YAAY;QACjC,WAAW,EAAEC,IAAI;QACjB,cAAc,EAAEC;MACpB,CAAC;MAED,MAAMb,YAAY,GAAG,KAAKO,MAAM,MAAMC,MAAM,gBAAgBqB,OAAO,EAAE;MAErE,MAAME,KAAK,GAAG;MACV;MACA,IAAI,CAAC5C,WAAW,CAAC6C,QAAQ,CAAC;QACtBC,EAAE,EAAEjC,YAAY;QAChBkC,EAAE,EAAE,UAAU;QACdC,OAAO,EAAE,KAAK5B,MAAM,MAAMC,MAAM,cAAc4B,wBAAa,IAAI;QAC/DC,OAAO,EAAE,IAAI,CAACC,gBAAgB,CAACT,OAAO,CAAC;QACvCpB,EAAE,EAAE,IAAI,CAAC6B,gBAAgB,CAACT,OAAO,CAAC;QAClCA,OAAO;QACPrB,MAAM;QACN+B,QAAQ,EAAE;UACNC,QAAQ,EAAE;QACd,CAAC;QACDC,MAAM,EAAE,KAAK;QACbC,OAAO,EAAEN,wBAAa;QACtBO,MAAM,EAAE,OAAO;QACfpC,MAAM;QACNqC,IAAI,EAAE,WAAW;QACjBC,OAAO,EAAE,CAAC;QACVC,UAAU,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACpCC,iBAAiB,EAAE,IAAIF,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QAC3CE,kBAAkB,EAAE,IAAIH,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QAC5CG,eAAe,EAAE,IAAIJ,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACzCI,OAAO,EAAE,IAAIL,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACjCK,SAAS,EAAE,IAAIN,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACnCM,aAAa,EAAEC,OAAO,CAACC,GAAG,CAACC,cAAc;QACzC3B;MACJ,CAAC,CAAC;MACF;MACA,IAAI,CAAC3C,WAAW,CAAC6C,QAAQ,CAAC;QACtBC,EAAE,EAAEjC,YAAY;QAChBkC,EAAE,EAAE,GAAG;QACPC,OAAO,EAAE,KAAK5B,MAAM,MAAMC,MAAM,cAAc4B,wBAAa,IAAI;QAC/DC,OAAO,EAAE,IAAI,CAACC,gBAAgB,CAACT,OAAO,CAAC;QACvCpB,EAAE,EAAE,IAAI,CAAC6B,gBAAgB,CAACT,OAAO,CAAC;QAClCA,OAAO;QACPrB,MAAM;QACN+B,QAAQ,EAAE;UACNC,QAAQ,EAAE;QACd,CAAC;QACDC,MAAM,EAAE,KAAK;QACbiB,IAAI,EAAE,CAAC,CAAC;QACRhB,OAAO,EAAEN,wBAAa;QACtBU,UAAU,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACpCC,iBAAiB,EAAE,IAAIF,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QAC3CE,kBAAkB,EAAE,IAAIH,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QAC5CG,eAAe,EAAE,IAAIJ,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACzCI,OAAO,EAAE,IAAIL,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACjCK,SAAS,EAAE,IAAIN,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;QACnCL,MAAM,EAAE,OAAO;QACfpC,MAAM;QACNqC,IAAI,EAAE,aAAa;QACnBC,OAAO,EAAE,CAAC;QACVS,aAAa,EAAEC,OAAO,CAACC,GAAG,CAACC,cAAc;QACzC3B;MACJ,CAAC,CAAC,CACL;MAED,MAAM,IAAA6B,oBAAa,EAAC;QAChB5B,KAAK;QACL7C,KAAK,EAAE,IAAI,CAACC,WAAW,CAACD;MAC5B,CAAC,CAAC;IACN,CAAC,CAAC,OAAO0C,CAAC,EAAE;MACRgC,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAEvD,KAAK,CAAC;MACrDsD,OAAO,CAAClC,KAAK,CAACE,CAAC,CAAC;IACpB;EACJ;EAEQU,gBAAgBA,CAAC7B,EAAU,EAAE;IACjC,MAAM;MAAEA,EAAE,EAAEoB;IAAQ,CAAC,GAAG,IAAAiC,uBAAe,EAACrD,EAAE,CAAC;IAC3C,OAAO,GAAGoB,OAAO,OAAO;EAC5B;AACJ;AAACkC,OAAA,CAAA/E,cAAA,GAAAA,cAAA;AAED,IAAAgF,mBAAc,EAAChF,cAAc,EAAE,CAAC,IAAAiF,WAAM,EAACC,iCAAwB,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { Table } from "@webiny/db-dynamodb/toolbox";
2
- import { Client } from "@elastic/elasticsearch";
3
- import { DataMigration, DataMigrationContext } from "@webiny/data-migration";
1
+ import type { Table } from "@webiny/db-dynamodb/toolbox";
2
+ import type { Client } from "@elastic/elasticsearch";
3
+ import type { DataMigration, DataMigrationContext } from "@webiny/data-migration";
4
4
  export declare class Flp_5_43_0_001 implements DataMigration {
5
5
  private readonly table;
6
6
  private readonly elasticsearchClient;
@@ -1 +1 @@
1
- {"version":3,"names":["_ioc","require","_symbols","_utils","_createEntryEntity","_constants","_utils2","_StepFunctionServicePlugin","Flp_5_43_0_001","constructor","table","esTable","elasticsearchClient","ddbEntryEntity","createDdbEntryEntity","ddbEsEntryEntity","createDdbEsEntryEntity","getId","getDescription","shouldExecute","logger","forEachTenantLocale","callback","tenantId","localeCode","indexExists","esGetIndexExist","tenant","locale","type","ACO_FOLDER_MODEL_ID","isHeadlessCmsModel","info","execute","event","id","generateAlphaNumericId","definitionId","name","input","storeTaskDdbEntry","service","StepFunctionService","getTenant","getLocale","startTaskExecution","result","send","Error","executeWithRetry","onFailedAttempt","error","attemptNumber","e","entryId","values","partitionKey","ddbItems","putBatch","PK","SK","createRevisionId","location","folderId","locked","meta","modelId","TASK_MODEL_ID","status","TYPE","version","webinyVersion","process","env","WEBINY_VERSION","modifiedOn","Date","toISOString","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","savedOn","createdOn","rawDatas","toString","latest","__type","rawValues","ddbEsItems","data","getCompressedData","index","esGetIndexName","batchWriteAll","items","console","log","parseIdentifier","exports","makeInjectable","inject","PrimaryDynamoTableSymbol","ElasticsearchDynamoTableSymbol","ElasticsearchClientSymbol"],"sources":["index.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport { DataMigration, DataMigrationContext } from \"@webiny/data-migration\";\nimport {\n PrimaryDynamoTableSymbol,\n ElasticsearchDynamoTableSymbol,\n ElasticsearchClientSymbol\n} from \"@webiny/data-migration/symbols\";\nimport {\n forEachTenantLocale,\n esGetIndexExist,\n batchWriteAll,\n esGetIndexName,\n getCompressedData\n} from \"~/utils\";\nimport { createDdbEntryEntity, createDdbEsEntryEntity } from \"../entities/createEntryEntity\";\nimport { ACO_FOLDER_MODEL_ID, TASK_MODEL_ID } from \"../constants\";\nimport type { TaskEntryEventPayload } from \"~/migrations/5.43.0/001/types\";\nimport { generateAlphaNumericId, parseIdentifier, executeWithRetry } from \"@webiny/utils\";\nimport { StepFunctionService } from \"@webiny/tasks/service/StepFunctionServicePlugin\";\n\nexport class Flp_5_43_0_001 implements DataMigration {\n private readonly table: Table<string, string, string>;\n private readonly elasticsearchClient: Client;\n private readonly ddbEntryEntity: ReturnType<typeof createDdbEntryEntity>;\n private readonly ddbEsEntryEntity: ReturnType<typeof createDdbEsEntryEntity>;\n\n constructor(\n table: Table<string, string, string>,\n esTable: Table<string, string, string>,\n elasticsearchClient: Client\n ) {\n this.table = table;\n this.elasticsearchClient = elasticsearchClient;\n this.ddbEntryEntity = createDdbEntryEntity(table);\n this.ddbEsEntryEntity = createDdbEsEntryEntity(esTable);\n }\n\n getId() {\n return \"5.43.0-001\";\n }\n\n getDescription() {\n return \"Introduce 'flp' entities\";\n }\n\n async shouldExecute({ logger }: DataMigrationContext) {\n let shouldExecute = false;\n\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n shouldExecute = true;\n\n const indexExists = await esGetIndexExist({\n elasticsearchClient: this.elasticsearchClient,\n tenant: tenantId,\n locale: localeCode,\n type: ACO_FOLDER_MODEL_ID,\n isHeadlessCmsModel: true\n });\n\n if (!indexExists) {\n logger.info(\n `No Elasticsearch index found for folders in tenant \"${tenantId}\" and locale \"${localeCode}\"; skipping.`\n );\n shouldExecute = false;\n return false;\n }\n\n // Continue to the next locale.\n return shouldExecute;\n }\n });\n\n return shouldExecute;\n }\n\n async execute({ logger }: DataMigrationContext) {\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n logger.info(`Starting migration for tenant ${tenantId} / locale ${localeCode}`);\n\n const indexExists = await esGetIndexExist({\n elasticsearchClient: this.elasticsearchClient,\n tenant: tenantId,\n locale: localeCode,\n type: ACO_FOLDER_MODEL_ID,\n isHeadlessCmsModel: true\n });\n\n if (!indexExists) {\n logger.info(\n `No Elasticsearch index found for folders in tenant \"${tenantId}\" and locale \"${localeCode}\"; skipping.`\n );\n return true;\n }\n\n const event: TaskEntryEventPayload = {\n tenant: tenantId,\n locale: localeCode,\n id: `5_43_0_001_migration_${generateAlphaNumericId()}`,\n definitionId: \"acoSyncFlp\",\n name: \"5_43_0_001_migration\",\n input: {\n type: \"*\"\n }\n };\n\n await this.storeTaskDdbEntry(event);\n\n const service = new StepFunctionService({\n getTenant: () => tenantId,\n getLocale: () => localeCode\n });\n\n const startTaskExecution = async () => {\n const result = await service.send(\n {\n definitionId: event.definitionId,\n id: event.id\n },\n 0\n );\n\n if (!result) {\n throw new Error(\n `Failed to trigger task for tenant ${tenantId} / locale ${localeCode}. Check the above log.`\n );\n }\n\n return result;\n };\n\n try {\n await executeWithRetry(startTaskExecution, {\n onFailedAttempt: async error => {\n logger.error(\n `Attempt #${error.attemptNumber} failed to trigger task for tenant ${tenantId} / locale ${localeCode}.`\n );\n }\n });\n\n logger.info(\n `Successfully triggered task for tenant ${tenantId} / locale ${localeCode}. FLP records will be synced via background task.`\n );\n } catch (e) {\n logger.error(\n `Failed to trigger task for tenant ${tenantId} / locale ${localeCode}. Check the above logs for more info.`,\n e\n );\n }\n\n return true;\n }\n });\n\n logger.info(\"Finished updating all FLP entities across all tenants and locales.\");\n }\n\n private async storeTaskDdbEntry(event: TaskEntryEventPayload): Promise<void> {\n const { tenant, locale, id: entryId, definitionId, name, input } = event;\n\n try {\n const values = {\n \"number@iterations\": 0,\n \"text@taskStatus\": \"pending\",\n \"text@definitionId\": definitionId,\n \"text@name\": name,\n \"object@input\": input\n };\n\n const partitionKey = `T#${tenant}#L#${locale}#CMS#CME#${entryId}`;\n\n const ddbItems = [\n // Exact entry revision\n this.ddbEntryEntity.putBatch({\n PK: partitionKey,\n SK: \"REV#0001\",\n id: this.createRevisionId(entryId),\n entryId,\n locale,\n location: {\n folderId: \"root\"\n },\n locked: false,\n meta: {},\n modelId: TASK_MODEL_ID,\n status: \"draft\",\n tenant,\n TYPE: \"cms.entry\",\n version: 1,\n webinyVersion: process.env.WEBINY_VERSION,\n modifiedOn: new Date().toISOString(),\n revisionCreatedOn: new Date().toISOString(),\n revisionModifiedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdOn: new Date().toISOString(),\n values\n }),\n // Latest entry revision\n this.ddbEntryEntity.putBatch({\n PK: partitionKey,\n SK: \"L\",\n id: this.createRevisionId(entryId),\n entryId,\n locale,\n location: {\n folderId: \"root\"\n },\n locked: false,\n meta: {},\n modelId: TASK_MODEL_ID,\n status: \"draft\",\n tenant,\n TYPE: \"cms.entry.l\",\n version: 1,\n webinyVersion: process.env.WEBINY_VERSION,\n modifiedOn: new Date().toISOString(),\n revisionCreatedOn: new Date().toISOString(),\n revisionModifiedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdOn: new Date().toISOString(),\n values\n })\n ];\n\n const rawDatas = {\n modelId: TASK_MODEL_ID,\n revisionCreatedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toString(),\n revisionModifiedOn: new Date().toString(),\n createdOn: new Date().toString(),\n modifiedOn: new Date().toString(),\n status: \"draft\",\n meta: {},\n entryId,\n id: this.createRevisionId(entryId),\n version: 1,\n location: { folderId: \"root\" },\n locale,\n values: {\n \"number@iterations\": 0,\n \"text@taskStatus\": \"pending\",\n \"text@definitionId\": definitionId,\n \"text@name\": name\n },\n tenant,\n locked: false,\n webinyVersion: process.env.WEBINY_VERSION,\n latest: true,\n TYPE: \"cms.entry.l\",\n __type: \"cms.entry.l\",\n rawValues: {\n \"object@input\": input\n }\n };\n\n const ddbEsItems = [\n this.ddbEsEntryEntity.putBatch({\n PK: partitionKey,\n SK: \"L\",\n data: await getCompressedData(rawDatas),\n index: esGetIndexName({\n tenant,\n locale,\n type: TASK_MODEL_ID,\n isHeadlessCmsModel: true\n })\n })\n ];\n\n await batchWriteAll({\n table: this.ddbEntryEntity.table,\n items: ddbItems\n });\n\n await batchWriteAll({\n table: this.ddbEsEntryEntity.table,\n items: ddbEsItems\n });\n } catch (e) {\n console.log(\"Error while storing task entry.\", event);\n console.error(e);\n }\n }\n\n private createRevisionId(id: string) {\n const { id: entryId } = parseIdentifier(id);\n return `${entryId}#0001`;\n }\n}\n\nmakeInjectable(Flp_5_43_0_001, [\n inject(PrimaryDynamoTableSymbol),\n inject(ElasticsearchDynamoTableSymbol),\n inject(ElasticsearchClientSymbol)\n]);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_ioc","require","_symbols","_utils","_createEntryEntity","_constants","_utils2","_StepFunctionServicePlugin","Flp_5_43_0_001","constructor","table","esTable","elasticsearchClient","ddbEntryEntity","createDdbEntryEntity","ddbEsEntryEntity","createDdbEsEntryEntity","getId","getDescription","shouldExecute","logger","forEachTenantLocale","callback","tenantId","localeCode","indexExists","esGetIndexExist","tenant","locale","type","ACO_FOLDER_MODEL_ID","isHeadlessCmsModel","info","execute","event","id","generateAlphaNumericId","definitionId","name","input","storeTaskDdbEntry","service","StepFunctionService","getTenant","getLocale","startTaskExecution","result","send","Error","executeWithRetry","onFailedAttempt","error","attemptNumber","e","entryId","values","partitionKey","ddbItems","putBatch","PK","SK","createRevisionId","location","folderId","locked","meta","modelId","TASK_MODEL_ID","status","TYPE","version","webinyVersion","process","env","WEBINY_VERSION","modifiedOn","Date","toISOString","revisionCreatedOn","revisionModifiedOn","revisionSavedOn","savedOn","createdOn","rawDatas","toString","latest","__type","rawValues","ddbEsItems","data","getCompressedData","index","esGetIndexName","batchWriteAll","items","console","log","parseIdentifier","exports","makeInjectable","inject","PrimaryDynamoTableSymbol","ElasticsearchDynamoTableSymbol","ElasticsearchClientSymbol"],"sources":["index.ts"],"sourcesContent":["import type { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport type { Client } from \"@elastic/elasticsearch\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport type { DataMigration, DataMigrationContext } from \"@webiny/data-migration\";\nimport {\n PrimaryDynamoTableSymbol,\n ElasticsearchDynamoTableSymbol,\n ElasticsearchClientSymbol\n} from \"@webiny/data-migration/symbols\";\nimport {\n forEachTenantLocale,\n esGetIndexExist,\n batchWriteAll,\n esGetIndexName,\n getCompressedData\n} from \"~/utils\";\nimport { createDdbEntryEntity, createDdbEsEntryEntity } from \"../entities/createEntryEntity\";\nimport { ACO_FOLDER_MODEL_ID, TASK_MODEL_ID } from \"../constants\";\nimport type { TaskEntryEventPayload } from \"~/migrations/5.43.0/001/types\";\nimport { generateAlphaNumericId, parseIdentifier, executeWithRetry } from \"@webiny/utils\";\nimport { StepFunctionService } from \"@webiny/tasks/service/StepFunctionServicePlugin\";\n\nexport class Flp_5_43_0_001 implements DataMigration {\n private readonly table: Table<string, string, string>;\n private readonly elasticsearchClient: Client;\n private readonly ddbEntryEntity: ReturnType<typeof createDdbEntryEntity>;\n private readonly ddbEsEntryEntity: ReturnType<typeof createDdbEsEntryEntity>;\n\n constructor(\n table: Table<string, string, string>,\n esTable: Table<string, string, string>,\n elasticsearchClient: Client\n ) {\n this.table = table;\n this.elasticsearchClient = elasticsearchClient;\n this.ddbEntryEntity = createDdbEntryEntity(table);\n this.ddbEsEntryEntity = createDdbEsEntryEntity(esTable);\n }\n\n getId() {\n return \"5.43.0-001\";\n }\n\n getDescription() {\n return \"Introduce 'flp' entities\";\n }\n\n async shouldExecute({ logger }: DataMigrationContext) {\n let shouldExecute = false;\n\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n shouldExecute = true;\n\n const indexExists = await esGetIndexExist({\n elasticsearchClient: this.elasticsearchClient,\n tenant: tenantId,\n locale: localeCode,\n type: ACO_FOLDER_MODEL_ID,\n isHeadlessCmsModel: true\n });\n\n if (!indexExists) {\n logger.info(\n `No Elasticsearch index found for folders in tenant \"${tenantId}\" and locale \"${localeCode}\"; skipping.`\n );\n shouldExecute = false;\n return false;\n }\n\n // Continue to the next locale.\n return shouldExecute;\n }\n });\n\n return shouldExecute;\n }\n\n async execute({ logger }: DataMigrationContext) {\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n logger.info(`Starting migration for tenant ${tenantId} / locale ${localeCode}`);\n\n const indexExists = await esGetIndexExist({\n elasticsearchClient: this.elasticsearchClient,\n tenant: tenantId,\n locale: localeCode,\n type: ACO_FOLDER_MODEL_ID,\n isHeadlessCmsModel: true\n });\n\n if (!indexExists) {\n logger.info(\n `No Elasticsearch index found for folders in tenant \"${tenantId}\" and locale \"${localeCode}\"; skipping.`\n );\n return true;\n }\n\n const event: TaskEntryEventPayload = {\n tenant: tenantId,\n locale: localeCode,\n id: `5_43_0_001_migration_${generateAlphaNumericId()}`,\n definitionId: \"acoSyncFlp\",\n name: \"5_43_0_001_migration\",\n input: {\n type: \"*\"\n }\n };\n\n await this.storeTaskDdbEntry(event);\n\n const service = new StepFunctionService({\n getTenant: () => tenantId,\n getLocale: () => localeCode\n });\n\n const startTaskExecution = async () => {\n const result = await service.send(\n {\n definitionId: event.definitionId,\n id: event.id\n },\n 0\n );\n\n if (!result) {\n throw new Error(\n `Failed to trigger task for tenant ${tenantId} / locale ${localeCode}. Check the above log.`\n );\n }\n\n return result;\n };\n\n try {\n await executeWithRetry(startTaskExecution, {\n onFailedAttempt: async error => {\n logger.error(\n `Attempt #${error.attemptNumber} failed to trigger task for tenant ${tenantId} / locale ${localeCode}.`\n );\n }\n });\n\n logger.info(\n `Successfully triggered task for tenant ${tenantId} / locale ${localeCode}. FLP records will be synced via background task.`\n );\n } catch (e) {\n logger.error(\n `Failed to trigger task for tenant ${tenantId} / locale ${localeCode}. Check the above logs for more info.`,\n e\n );\n }\n\n return true;\n }\n });\n\n logger.info(\"Finished updating all FLP entities across all tenants and locales.\");\n }\n\n private async storeTaskDdbEntry(event: TaskEntryEventPayload): Promise<void> {\n const { tenant, locale, id: entryId, definitionId, name, input } = event;\n\n try {\n const values = {\n \"number@iterations\": 0,\n \"text@taskStatus\": \"pending\",\n \"text@definitionId\": definitionId,\n \"text@name\": name,\n \"object@input\": input\n };\n\n const partitionKey = `T#${tenant}#L#${locale}#CMS#CME#${entryId}`;\n\n const ddbItems = [\n // Exact entry revision\n this.ddbEntryEntity.putBatch({\n PK: partitionKey,\n SK: \"REV#0001\",\n id: this.createRevisionId(entryId),\n entryId,\n locale,\n location: {\n folderId: \"root\"\n },\n locked: false,\n meta: {},\n modelId: TASK_MODEL_ID,\n status: \"draft\",\n tenant,\n TYPE: \"cms.entry\",\n version: 1,\n webinyVersion: process.env.WEBINY_VERSION,\n modifiedOn: new Date().toISOString(),\n revisionCreatedOn: new Date().toISOString(),\n revisionModifiedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdOn: new Date().toISOString(),\n values\n }),\n // Latest entry revision\n this.ddbEntryEntity.putBatch({\n PK: partitionKey,\n SK: \"L\",\n id: this.createRevisionId(entryId),\n entryId,\n locale,\n location: {\n folderId: \"root\"\n },\n locked: false,\n meta: {},\n modelId: TASK_MODEL_ID,\n status: \"draft\",\n tenant,\n TYPE: \"cms.entry.l\",\n version: 1,\n webinyVersion: process.env.WEBINY_VERSION,\n modifiedOn: new Date().toISOString(),\n revisionCreatedOn: new Date().toISOString(),\n revisionModifiedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdOn: new Date().toISOString(),\n values\n })\n ];\n\n const rawDatas = {\n modelId: TASK_MODEL_ID,\n revisionCreatedOn: new Date().toISOString(),\n revisionSavedOn: new Date().toString(),\n revisionModifiedOn: new Date().toString(),\n createdOn: new Date().toString(),\n modifiedOn: new Date().toString(),\n status: \"draft\",\n meta: {},\n entryId,\n id: this.createRevisionId(entryId),\n version: 1,\n location: { folderId: \"root\" },\n locale,\n values: {\n \"number@iterations\": 0,\n \"text@taskStatus\": \"pending\",\n \"text@definitionId\": definitionId,\n \"text@name\": name\n },\n tenant,\n locked: false,\n webinyVersion: process.env.WEBINY_VERSION,\n latest: true,\n TYPE: \"cms.entry.l\",\n __type: \"cms.entry.l\",\n rawValues: {\n \"object@input\": input\n }\n };\n\n const ddbEsItems = [\n this.ddbEsEntryEntity.putBatch({\n PK: partitionKey,\n SK: \"L\",\n data: await getCompressedData(rawDatas),\n index: esGetIndexName({\n tenant,\n locale,\n type: TASK_MODEL_ID,\n isHeadlessCmsModel: true\n })\n })\n ];\n\n await batchWriteAll({\n table: this.ddbEntryEntity.table,\n items: ddbItems\n });\n\n await batchWriteAll({\n table: this.ddbEsEntryEntity.table,\n items: ddbEsItems\n });\n } catch (e) {\n console.log(\"Error while storing task entry.\", event);\n console.error(e);\n }\n }\n\n private createRevisionId(id: string) {\n const { id: entryId } = parseIdentifier(id);\n return `${entryId}#0001`;\n }\n}\n\nmakeInjectable(Flp_5_43_0_001, [\n inject(PrimaryDynamoTableSymbol),\n inject(ElasticsearchDynamoTableSymbol),\n inject(ElasticsearchClientSymbol)\n]);\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Table } from "@webiny/db-dynamodb/toolbox";
1
+ import type { Table } from "@webiny/db-dynamodb/toolbox";
2
2
  export declare const createDdbEntryEntity: (table: Table<string, string, string>) => import("dynamodb-toolbox/dist/cjs/classes/Entity/Entity").default<string, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, Table<string, string, string>, true, true, boolean, string, string, string, boolean, {
3
3
  PK: {
4
4
  partitionKey: true;
@@ -57,7 +57,9 @@ export declare const createDdbEsEntryEntity: (table: Table<string, string, strin
57
57
  type: "string";
58
58
  };
59
59
  data: {
60
- type: "map";
60
+ type: "map"; /**
61
+ * Entry-level meta fields. 👇
62
+ */
61
63
  };
62
64
  }, {
63
65
  PK: {
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","ddbAttributes","PK","type","partitionKey","SK","sortKey","GSI1_PK","GSI1_SK","TYPE","__type","webinyVersion","tenant","entryId","id","modelId","locale","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionDeletedOn","revisionRestoredOn","revisionFirstPublishedOn","revisionLastPublishedOn","revisionCreatedBy","revisionSavedBy","revisionModifiedBy","revisionDeletedBy","revisionRestoredBy","revisionFirstPublishedBy","revisionLastPublishedBy","createdOn","savedOn","modifiedOn","deletedOn","restoredOn","firstPublishedOn","lastPublishedOn","createdBy","savedBy","modifiedBy","deletedBy","restoredBy","firstPublishedBy","lastPublishedBy","ownedBy","publishedOn","version","locked","status","values","meta","location","ddbEsAttributes","index","data","createDdbEntryEntity","table","createLegacyEntity","exports","createDdbEsEntryEntity","createStandardEntity"],"sources":["createEntryEntity.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { createLegacyEntity, createStandardEntity } from \"~/utils\";\n\nconst ddbAttributes: Parameters<typeof createLegacyEntity>[2] = {\n PK: {\n type: \"string\",\n partitionKey: true\n },\n SK: {\n type: \"string\",\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n __type: {\n type: \"string\"\n },\n webinyVersion: {\n type: \"string\"\n },\n tenant: {\n type: \"string\"\n },\n entryId: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n },\n modelId: {\n type: \"string\"\n },\n locale: {\n type: \"string\"\n },\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: { type: \"string\" },\n revisionSavedOn: { type: \"string\" },\n revisionModifiedOn: { type: \"string\" },\n revisionDeletedOn: { type: \"string\" },\n revisionRestoredOn: { type: \"string\" },\n revisionFirstPublishedOn: { type: \"string\" },\n revisionLastPublishedOn: { type: \"string\" },\n revisionCreatedBy: { type: \"map\" },\n revisionSavedBy: { type: \"map\" },\n revisionModifiedBy: { type: \"map\" },\n revisionDeletedBy: { type: \"map\" },\n revisionRestoredBy: { type: \"map\" },\n revisionFirstPublishedBy: { type: \"map\" },\n revisionLastPublishedBy: { type: \"map\" },\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: { type: \"string\" },\n savedOn: { type: \"string\" },\n modifiedOn: { type: \"string\" },\n deletedOn: { type: \"string\" },\n restoredOn: { type: \"string\" },\n firstPublishedOn: { type: \"string\" },\n lastPublishedOn: { type: \"string\" },\n createdBy: { type: \"map\" },\n savedBy: { type: \"map\" },\n modifiedBy: { type: \"map\" },\n deletedBy: { type: \"map\" },\n restoredBy: { type: \"map\" },\n firstPublishedBy: { type: \"map\" },\n lastPublishedBy: { type: \"map\" },\n\n // Deprecated fields.\n ownedBy: { type: \"map\" },\n publishedOn: { type: \"string\" },\n\n version: {\n type: \"number\"\n },\n locked: {\n type: \"boolean\"\n },\n status: {\n type: \"string\"\n },\n values: {\n type: \"map\"\n },\n meta: {\n type: \"map\"\n },\n location: {\n type: \"map\"\n }\n};\n\nconst ddbEsAttributes: Parameters<typeof createStandardEntity>[2] = {\n PK: {\n type: \"string\",\n partitionKey: true\n },\n SK: {\n type: \"string\",\n sortKey: true\n },\n index: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n }\n};\n\nexport const createDdbEntryEntity = (table: Table<string, string, string>) => {\n return createLegacyEntity(table, \"CmsEntries\", ddbAttributes);\n};\n\nexport const createDdbEsEntryEntity = (table: Table<string, string, string>) => {\n return createStandardEntity(table, \"CmsEntriesElasticsearch\", ddbEsAttributes);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","ddbAttributes","PK","type","partitionKey","SK","sortKey","GSI1_PK","GSI1_SK","TYPE","__type","webinyVersion","tenant","entryId","id","modelId","locale","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionDeletedOn","revisionRestoredOn","revisionFirstPublishedOn","revisionLastPublishedOn","revisionCreatedBy","revisionSavedBy","revisionModifiedBy","revisionDeletedBy","revisionRestoredBy","revisionFirstPublishedBy","revisionLastPublishedBy","createdOn","savedOn","modifiedOn","deletedOn","restoredOn","firstPublishedOn","lastPublishedOn","createdBy","savedBy","modifiedBy","deletedBy","restoredBy","firstPublishedBy","lastPublishedBy","ownedBy","publishedOn","version","locked","status","values","meta","location","ddbEsAttributes","index","data","createDdbEntryEntity","table","createLegacyEntity","exports","createDdbEsEntryEntity","createStandardEntity"],"sources":["createEntryEntity.ts"],"sourcesContent":["import type { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { createLegacyEntity, createStandardEntity } from \"~/utils\";\n\nconst ddbAttributes: Parameters<typeof createLegacyEntity>[2] = {\n PK: {\n type: \"string\",\n partitionKey: true\n },\n SK: {\n type: \"string\",\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n __type: {\n type: \"string\"\n },\n webinyVersion: {\n type: \"string\"\n },\n tenant: {\n type: \"string\"\n },\n entryId: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n },\n modelId: {\n type: \"string\"\n },\n locale: {\n type: \"string\"\n },\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: { type: \"string\" },\n revisionSavedOn: { type: \"string\" },\n revisionModifiedOn: { type: \"string\" },\n revisionDeletedOn: { type: \"string\" },\n revisionRestoredOn: { type: \"string\" },\n revisionFirstPublishedOn: { type: \"string\" },\n revisionLastPublishedOn: { type: \"string\" },\n revisionCreatedBy: { type: \"map\" },\n revisionSavedBy: { type: \"map\" },\n revisionModifiedBy: { type: \"map\" },\n revisionDeletedBy: { type: \"map\" },\n revisionRestoredBy: { type: \"map\" },\n revisionFirstPublishedBy: { type: \"map\" },\n revisionLastPublishedBy: { type: \"map\" },\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: { type: \"string\" },\n savedOn: { type: \"string\" },\n modifiedOn: { type: \"string\" },\n deletedOn: { type: \"string\" },\n restoredOn: { type: \"string\" },\n firstPublishedOn: { type: \"string\" },\n lastPublishedOn: { type: \"string\" },\n createdBy: { type: \"map\" },\n savedBy: { type: \"map\" },\n modifiedBy: { type: \"map\" },\n deletedBy: { type: \"map\" },\n restoredBy: { type: \"map\" },\n firstPublishedBy: { type: \"map\" },\n lastPublishedBy: { type: \"map\" },\n\n // Deprecated fields.\n ownedBy: { type: \"map\" },\n publishedOn: { type: \"string\" },\n\n version: {\n type: \"number\"\n },\n locked: {\n type: \"boolean\"\n },\n status: {\n type: \"string\"\n },\n values: {\n type: \"map\"\n },\n meta: {\n type: \"map\"\n },\n location: {\n type: \"map\"\n }\n};\n\nconst ddbEsAttributes: Parameters<typeof createStandardEntity>[2] = {\n PK: {\n type: \"string\",\n partitionKey: true\n },\n SK: {\n type: \"string\",\n sortKey: true\n },\n index: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n }\n};\n\nexport const createDdbEntryEntity = (table: Table<string, string, string>) => {\n return createLegacyEntity(table, \"CmsEntries\", ddbAttributes);\n};\n\nexport const createDdbEsEntryEntity = (table: Table<string, string, string>) => {\n return createStandardEntity(table, \"CmsEntriesElasticsearch\", ddbEsAttributes);\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@webiny/migrations",
3
- "version": "5.43.3",
3
+ "version": "6.0.0-alpha.1",
4
4
  "scripts": {
5
5
  "build": "node ../cli/bin.js run build",
6
6
  "watch": "node ../cli/bin.js run watch"
7
7
  },
8
8
  "dependencies": {
9
9
  "@elastic/elasticsearch": "7.12.0",
10
- "@webiny/api-elasticsearch": "5.43.3",
11
- "@webiny/aws-sdk": "5.43.3",
12
- "@webiny/data-migration": "5.43.3",
13
- "@webiny/db-dynamodb": "5.43.3",
14
- "@webiny/error": "5.43.3",
15
- "@webiny/ioc": "5.43.3",
16
- "@webiny/logger": "5.43.3",
17
- "@webiny/tasks": "5.43.3",
18
- "@webiny/utils": "5.43.3",
10
+ "@webiny/api-elasticsearch": "6.0.0-alpha.1",
11
+ "@webiny/aws-sdk": "6.0.0-alpha.1",
12
+ "@webiny/data-migration": "6.0.0-alpha.1",
13
+ "@webiny/db-dynamodb": "6.0.0-alpha.1",
14
+ "@webiny/error": "6.0.0-alpha.1",
15
+ "@webiny/ioc": "6.0.0-alpha.1",
16
+ "@webiny/logger": "6.0.0-alpha.1",
17
+ "@webiny/tasks": "6.0.0-alpha.1",
18
+ "@webiny/utils": "6.0.0-alpha.1",
19
19
  "lodash": "4.17.21"
20
20
  },
21
21
  "publishConfig": {
@@ -23,14 +23,14 @@
23
23
  "directory": "dist"
24
24
  },
25
25
  "devDependencies": {
26
- "@webiny/api-headless-cms": "5.43.3",
27
- "@webiny/api-headless-cms-ddb-es": "5.43.3",
28
- "@webiny/handler-aws": "5.43.3",
29
- "@webiny/plugins": "5.43.3",
30
- "@webiny/project-utils": "5.43.3",
26
+ "@webiny/api-headless-cms": "6.0.0-alpha.1",
27
+ "@webiny/api-headless-cms-ddb-es": "6.0.0-alpha.1",
28
+ "@webiny/handler-aws": "6.0.0-alpha.1",
29
+ "@webiny/plugins": "6.0.0-alpha.1",
30
+ "@webiny/project-utils": "6.0.0-alpha.1",
31
31
  "elastic-ts": "0.12.0",
32
32
  "jest-dynalite": "3.6.1",
33
33
  "typescript": "5.3.3"
34
34
  },
35
- "gitHead": "c6d623eb1b715f3731434a8d3107b8fd8a1d6792"
35
+ "gitHead": "9bd236cf5e689f209a11bec089207dcc2d41a53c"
36
36
  }
@@ -1,4 +1,5 @@
1
- import { AttributeDefinitions, Entity, Table } from "@webiny/db-dynamodb/toolbox";
1
+ import type { AttributeDefinitions, Table } from "@webiny/db-dynamodb/toolbox";
2
+ import { Entity } from "@webiny/db-dynamodb/toolbox";
2
3
  export declare const createLegacyEntity: (table: Table<string, string, string>, entityName: string, attributes: AttributeDefinitions) => Entity<string, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, Table<string, string, string>, true, true, boolean, string, string, string, boolean, {
3
4
  PK: {
4
5
  partitionKey: true;
@@ -1 +1 @@
1
- {"version":3,"names":["_toolbox","require","createLegacyEntity","table","entityName","attributes","Entity","name","PK","partitionKey","SK","sortKey","GSI1_PK","type","GSI1_SK","TYPE","autoExecute","autoParse","exports","createStandardEntity","data"],"sources":["createEntity.ts"],"sourcesContent":["import { AttributeDefinitions, Entity, Table } from \"@webiny/db-dynamodb/toolbox\";\n\nexport const createLegacyEntity = (\n table: Table<string, string, string>,\n entityName: string,\n attributes: AttributeDefinitions\n) => {\n return new Entity({\n table,\n name: entityName,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n ...(attributes || {})\n },\n autoExecute: true,\n autoParse: true\n });\n};\n\nexport const createStandardEntity = (\n table: Table<string, string, string>,\n entityName: string,\n attributes: AttributeDefinitions = {}\n) => {\n return new Entity({\n table,\n name: entityName,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n // When moving attributes to `data` envelope, we need to keep the old attributes in place for 1 version.\n ...attributes\n },\n autoExecute: true,\n autoParse: true\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAGA,CAC9BC,KAAoC,EACpCC,UAAkB,EAClBC,UAAgC,KAC/B;EACD,OAAO,IAAIC,eAAM,CAAC;IACdH,KAAK;IACLI,IAAI,EAAEH,UAAU;IAChBC,UAAU,EAAE;MACRG,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACD,IAAIR,UAAU,IAAI,CAAC,CAAC;IACxB,CAAC;IACDW,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAhB,kBAAA,GAAAA,kBAAA;AAEK,MAAMiB,oBAAoB,GAAGA,CAChChB,KAAoC,EACpCC,UAAkB,EAClBC,UAAgC,GAAG,CAAC,CAAC,KACpC;EACD,OAAO,IAAIC,eAAM,CAAC;IACdH,KAAK;IACLI,IAAI,EAAEH,UAAU;IAChBC,UAAU,EAAE;MACRG,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACDO,IAAI,EAAE;QACFP,IAAI,EAAE;MACV,CAAC;MACD;MACA,GAAGR;IACP,CAAC;IACDW,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_toolbox","require","createLegacyEntity","table","entityName","attributes","Entity","name","PK","partitionKey","SK","sortKey","GSI1_PK","type","GSI1_SK","TYPE","autoExecute","autoParse","exports","createStandardEntity","data"],"sources":["createEntity.ts"],"sourcesContent":["import type { AttributeDefinitions, Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { Entity } from \"@webiny/db-dynamodb/toolbox\";\n\nexport const createLegacyEntity = (\n table: Table<string, string, string>,\n entityName: string,\n attributes: AttributeDefinitions\n) => {\n return new Entity({\n table,\n name: entityName,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n ...(attributes || {})\n },\n autoExecute: true,\n autoParse: true\n });\n};\n\nexport const createStandardEntity = (\n table: Table<string, string, string>,\n entityName: string,\n attributes: AttributeDefinitions = {}\n) => {\n return new Entity({\n table,\n name: entityName,\n attributes: {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n data: {\n type: \"map\"\n },\n // When moving attributes to `data` envelope, we need to keep the old attributes in place for 1 version.\n ...attributes\n },\n autoExecute: true,\n autoParse: true\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAGA,CAC9BC,KAAoC,EACpCC,UAAkB,EAClBC,UAAgC,KAC/B;EACD,OAAO,IAAIC,eAAM,CAAC;IACdH,KAAK;IACLI,IAAI,EAAEH,UAAU;IAChBC,UAAU,EAAE;MACRG,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACD,IAAIR,UAAU,IAAI,CAAC,CAAC;IACxB,CAAC;IACDW,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAhB,kBAAA,GAAAA,kBAAA;AAEK,MAAMiB,oBAAoB,GAAGA,CAChChB,KAAoC,EACpCC,UAAkB,EAClBC,UAAgC,GAAG,CAAC,CAAC,KACpC;EACD,OAAO,IAAIC,eAAM,CAAC;IACdH,KAAK;IACLI,IAAI,EAAEH,UAAU;IAChBC,UAAU,EAAE;MACRG,EAAE,EAAE;QACAC,YAAY,EAAE;MAClB,CAAC;MACDC,EAAE,EAAE;QACAC,OAAO,EAAE;MACb,CAAC;MACDC,OAAO,EAAE;QACLC,IAAI,EAAE;MACV,CAAC;MACDC,OAAO,EAAE;QACLD,IAAI,EAAE;MACV,CAAC;MACDE,IAAI,EAAE;QACFF,IAAI,EAAE;MACV,CAAC;MACDO,IAAI,EAAE;QACFP,IAAI,EAAE;MACV,CAAC;MACD;MACA,GAAGR;IACP,CAAC;IACDW,WAAW,EAAE,IAAI;IACjBC,SAAS,EAAE;EACf,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Table } from "@webiny/db-dynamodb/toolbox";
1
+ import type { Table } from "@webiny/db-dynamodb/toolbox";
2
2
  export declare const createLocaleEntity: (table: Table<string, string, string>) => import("dynamodb-toolbox/dist/cjs/classes/Entity/Entity").default<string, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, Table<string, string, string>, true, true, boolean, string, string, string, boolean, {
3
3
  PK: {
4
4
  partitionKey: true;
@@ -1 +1 @@
1
- {"version":3,"names":["_","require","createLocaleEntity","table","createLegacyEntity","createdOn","type","createdBy","code","default","webinyVersion","tenant","exports"],"sources":["createLocaleEntity.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { createLegacyEntity } from \"~/utils\";\n\nexport const createLocaleEntity = (table: Table<string, string, string>) => {\n return createLegacyEntity(table, \"I18NLocale\", {\n createdOn: {\n type: \"string\"\n },\n createdBy: {\n type: \"map\"\n },\n code: {\n type: \"string\"\n },\n default: {\n type: \"boolean\"\n },\n webinyVersion: {\n type: \"string\"\n },\n tenant: {\n type: \"string\"\n }\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,CAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAIC,KAAoC,IAAK;EACxE,OAAO,IAAAC,oBAAkB,EAACD,KAAK,EAAE,YAAY,EAAE;IAC3CE,SAAS,EAAE;MACPC,IAAI,EAAE;IACV,CAAC;IACDC,SAAS,EAAE;MACPD,IAAI,EAAE;IACV,CAAC;IACDE,IAAI,EAAE;MACFF,IAAI,EAAE;IACV,CAAC;IACDG,OAAO,EAAE;MACLH,IAAI,EAAE;IACV,CAAC;IACDI,aAAa,EAAE;MACXJ,IAAI,EAAE;IACV,CAAC;IACDK,MAAM,EAAE;MACJL,IAAI,EAAE;IACV;EACJ,CAAC,CAAC;AACN,CAAC;AAACM,OAAA,CAAAV,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_","require","createLocaleEntity","table","createLegacyEntity","createdOn","type","createdBy","code","default","webinyVersion","tenant","exports"],"sources":["createLocaleEntity.ts"],"sourcesContent":["import type { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { createLegacyEntity } from \"~/utils\";\n\nexport const createLocaleEntity = (table: Table<string, string, string>) => {\n return createLegacyEntity(table, \"I18NLocale\", {\n createdOn: {\n type: \"string\"\n },\n createdBy: {\n type: \"map\"\n },\n code: {\n type: \"string\"\n },\n default: {\n type: \"boolean\"\n },\n webinyVersion: {\n type: \"string\"\n },\n tenant: {\n type: \"string\"\n }\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,CAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAIC,KAAoC,IAAK;EACxE,OAAO,IAAAC,oBAAkB,EAACD,KAAK,EAAE,YAAY,EAAE;IAC3CE,SAAS,EAAE;MACPC,IAAI,EAAE;IACV,CAAC;IACDC,SAAS,EAAE;MACPD,IAAI,EAAE;IACV,CAAC;IACDE,IAAI,EAAE;MACFF,IAAI,EAAE;IACV,CAAC;IACDG,OAAO,EAAE;MACLH,IAAI,EAAE;IACV,CAAC;IACDI,aAAa,EAAE;MACXJ,IAAI,EAAE;IACV,CAAC;IACDK,MAAM,EAAE;MACJL,IAAI,EAAE;IACV;EACJ,CAAC,CAAC;AACN,CAAC;AAACM,OAAA,CAAAV,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Table } from "@webiny/db-dynamodb/toolbox";
1
+ import type { Table } from "@webiny/db-dynamodb/toolbox";
2
2
  export declare const createTenantEntity: (table: Table<string, string, string>) => import("dynamodb-toolbox/dist/cjs/classes/Entity/Entity").default<string, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, Table<string, string, string>, true, true, boolean, string, string, string, boolean, {
3
3
  PK: {
4
4
  partitionKey: true;
@@ -1 +1 @@
1
- {"version":3,"names":["_","require","createTenantEntity","table","createStandardEntity","exports"],"sources":["createTenantEntity.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { createStandardEntity } from \"~/utils\";\n\nexport const createTenantEntity = (table: Table<string, string, string>) => {\n return createStandardEntity(table, \"TenancyTenant\");\n};\n"],"mappings":";;;;;;AACA,IAAAA,CAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAIC,KAAoC,IAAK;EACxE,OAAO,IAAAC,sBAAoB,EAACD,KAAK,EAAE,eAAe,CAAC;AACvD,CAAC;AAACE,OAAA,CAAAH,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_","require","createTenantEntity","table","createStandardEntity","exports"],"sources":["createTenantEntity.ts"],"sourcesContent":["import type { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { createStandardEntity } from \"~/utils\";\n\nexport const createTenantEntity = (table: Table<string, string, string>) => {\n return createStandardEntity(table, \"TenancyTenant\");\n};\n"],"mappings":";;;;;;AACA,IAAAA,CAAA,GAAAC,OAAA;AAEO,MAAMC,kBAAkB,GAAIC,KAAoC,IAAK;EACxE,OAAO,IAAAC,sBAAoB,EAACD,KAAK,EAAE,eAAe,CAAC;AACvD,CAAC;AAACE,OAAA,CAAAH,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,3 +1,4 @@
1
- import { batchReadAll, BatchReadItem, BatchReadParams, batchWriteAll, BatchWriteItem, BatchWriteParams, get, GetRecordParams, count, queryAll, queryAllWithCallback as ddbQueryAllWithCallback, queryOne, scan, ScanParams, ScanResponse, scanWithCallback as ddbScanWithCallback } from "@webiny/db-dynamodb/utils";
1
+ import type { BatchReadItem, BatchReadParams, BatchWriteItem, BatchWriteParams, GetRecordParams, ScanParams, ScanResponse } from "@webiny/db-dynamodb/utils";
2
+ import { batchReadAll, batchWriteAll, get, count, queryAll, queryAllWithCallback as ddbQueryAllWithCallback, queryOne, scan, scanWithCallback as ddbScanWithCallback } from "@webiny/db-dynamodb/utils";
2
3
  export { count, get, queryAll, ddbQueryAllWithCallback, queryOne, batchReadAll, batchWriteAll, scan, ddbScanWithCallback };
3
4
  export type { GetRecordParams, BatchWriteItem, BatchWriteParams, BatchReadItem, BatchReadParams, ScanParams, ScanResponse };
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require"],"sources":["dynamoDb.ts"],"sourcesContent":["import {\n batchReadAll,\n BatchReadItem,\n BatchReadParams,\n batchWriteAll,\n BatchWriteItem,\n BatchWriteParams,\n get,\n GetRecordParams,\n count,\n queryAll,\n queryAllWithCallback as ddbQueryAllWithCallback,\n queryOne,\n scan,\n ScanParams,\n ScanResponse,\n scanWithCallback as ddbScanWithCallback\n} from \"@webiny/db-dynamodb/utils\";\n\nexport {\n count,\n get,\n queryAll,\n ddbQueryAllWithCallback,\n queryOne,\n batchReadAll,\n batchWriteAll,\n scan,\n ddbScanWithCallback\n};\nexport type {\n GetRecordParams,\n BatchWriteItem,\n BatchWriteParams,\n BatchReadItem,\n BatchReadParams,\n ScanParams,\n ScanResponse\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require"],"sources":["dynamoDb.ts"],"sourcesContent":["import type {\n BatchReadItem,\n BatchReadParams,\n BatchWriteItem,\n BatchWriteParams,\n GetRecordParams,\n ScanParams,\n ScanResponse\n} from \"@webiny/db-dynamodb/utils\";\nimport {\n batchReadAll,\n batchWriteAll,\n get,\n count,\n queryAll,\n queryAllWithCallback as ddbQueryAllWithCallback,\n queryOne,\n scan,\n scanWithCallback as ddbScanWithCallback\n} from \"@webiny/db-dynamodb/utils\";\n\nexport {\n count,\n get,\n queryAll,\n ddbQueryAllWithCallback,\n queryOne,\n batchReadAll,\n batchWriteAll,\n scan,\n ddbScanWithCallback\n};\nexport type {\n GetRecordParams,\n BatchWriteItem,\n BatchWriteParams,\n BatchReadItem,\n BatchReadParams,\n ScanParams,\n ScanResponse\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAAA,MAAA,GAAAC,OAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { Logger } from "@webiny/data-migration";
2
- import { Client } from "@elastic/elasticsearch";
1
+ import type { Logger } from "@webiny/data-migration";
2
+ import type { Client } from "@elastic/elasticsearch";
3
3
  interface DisableElasticsearchIndexingParams {
4
4
  index: string;
5
5
  logger: Logger;
@@ -1 +1 @@
1
- {"version":3,"names":["_","require","disableElasticsearchIndexing","params","index","logger","esPutIndexSettings","elasticsearchClient","settings","refresh_interval","ex","error","message","code","data","exports"],"sources":["disableEsIndexing.ts"],"sourcesContent":["import { esPutIndexSettings } from \"~/utils\";\nimport { Logger } from \"@webiny/data-migration\";\nimport { Client } from \"@elastic/elasticsearch\";\n\ninterface DisableElasticsearchIndexingParams {\n index: string;\n logger: Logger;\n elasticsearchClient: Client;\n}\n\nexport const disableElasticsearchIndexing = async (\n params: DisableElasticsearchIndexingParams\n): Promise<void> => {\n const { index, logger } = params;\n\n try {\n await esPutIndexSettings({\n elasticsearchClient: params.elasticsearchClient,\n index,\n settings: {\n refresh_interval: -1\n }\n });\n } catch (ex) {\n logger.error(`Failed to disable indexing for index \"${index}\".`);\n logger.error({\n ...ex,\n message: ex.message,\n code: ex.code,\n data: ex.data\n });\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAUO,MAAMC,4BAA4B,GAAG,MACxCC,MAA0C,IAC1B;EAChB,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAEhC,IAAI;IACA,MAAM,IAAAG,oBAAkB,EAAC;MACrBC,mBAAmB,EAAEJ,MAAM,CAACI,mBAAmB;MAC/CH,KAAK;MACLI,QAAQ,EAAE;QACNC,gBAAgB,EAAE,CAAC;MACvB;IACJ,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,EAAE,EAAE;IACTL,MAAM,CAACM,KAAK,CAAC,yCAAyCP,KAAK,IAAI,CAAC;IAChEC,MAAM,CAACM,KAAK,CAAC;MACT,GAAGD,EAAE;MACLE,OAAO,EAAEF,EAAE,CAACE,OAAO;MACnBC,IAAI,EAAEH,EAAE,CAACG,IAAI;MACbC,IAAI,EAAEJ,EAAE,CAACI;IACb,CAAC,CAAC;EACN;AACJ,CAAC;AAACC,OAAA,CAAAb,4BAAA,GAAAA,4BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_","require","disableElasticsearchIndexing","params","index","logger","esPutIndexSettings","elasticsearchClient","settings","refresh_interval","ex","error","message","code","data","exports"],"sources":["disableEsIndexing.ts"],"sourcesContent":["import { esPutIndexSettings } from \"~/utils\";\nimport type { Logger } from \"@webiny/data-migration\";\nimport type { Client } from \"@elastic/elasticsearch\";\n\ninterface DisableElasticsearchIndexingParams {\n index: string;\n logger: Logger;\n elasticsearchClient: Client;\n}\n\nexport const disableElasticsearchIndexing = async (\n params: DisableElasticsearchIndexingParams\n): Promise<void> => {\n const { index, logger } = params;\n\n try {\n await esPutIndexSettings({\n elasticsearchClient: params.elasticsearchClient,\n index,\n settings: {\n refresh_interval: -1\n }\n });\n } catch (ex) {\n logger.error(`Failed to disable indexing for index \"${index}\".`);\n logger.error({\n ...ex,\n message: ex.message,\n code: ex.code,\n data: ex.data\n });\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAUO,MAAMC,4BAA4B,GAAG,MACxCC,MAA0C,IAC1B;EAChB,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAEhC,IAAI;IACA,MAAM,IAAAG,oBAAkB,EAAC;MACrBC,mBAAmB,EAAEJ,MAAM,CAACI,mBAAmB;MAC/CH,KAAK;MACLI,QAAQ,EAAE;QACNC,gBAAgB,EAAE,CAAC;MACvB;IACJ,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,EAAE,EAAE;IACTL,MAAM,CAACM,KAAK,CAAC,yCAAyCP,KAAK,IAAI,CAAC;IAChEC,MAAM,CAACM,KAAK,CAAC;MACT,GAAGD,EAAE;MACLE,OAAO,EAAEF,EAAE,CAACE,OAAO;MACnBC,IAAI,EAAEH,EAAE,CAACG,IAAI;MACbC,IAAI,EAAEJ,EAAE,CAACI;IACb,CAAC,CAAC;EACN;AACJ,CAAC;AAACC,OAAA,CAAAb,4BAAA,GAAAA,4BAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Client } from "@elastic/elasticsearch";
1
+ import type { Client } from "@elastic/elasticsearch";
2
2
  export interface EsCreateIndexParams {
3
3
  elasticsearchClient: Client;
4
4
  tenant: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_","_plugins","esCreateIndex","params","elasticsearchClient","tenant","locale","type","isHeadlessCmsModel","indexName","esGetIndexName","exist","esGetIndexExist","plugin","elasticsearchIndexPlugins","filter","locales","includes","toLowerCase","pop","indices","create","index","body","ex","message","WebinyError","code","error","exports"],"sources":["esCreateIndex.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport { esGetIndexName, esGetIndexExist } from \"~/utils\";\nimport { elasticsearchIndexPlugins } from \"~/utils/elasticsearch/plugins\";\n\nexport interface EsCreateIndexParams {\n elasticsearchClient: Client;\n tenant: string;\n locale: string;\n type: string;\n isHeadlessCmsModel: boolean;\n}\n\nexport const esCreateIndex = async (params: EsCreateIndexParams): Promise<string> => {\n const { elasticsearchClient, tenant, locale, type, isHeadlessCmsModel } = params;\n\n const indexName = esGetIndexName({ tenant, locale, type, isHeadlessCmsModel });\n\n try {\n const exist = await esGetIndexExist(params);\n\n if (exist) {\n return indexName;\n }\n\n // Get registered plugins\n const plugin = elasticsearchIndexPlugins()\n .filter(plugin => {\n if (!plugin.locales) {\n return true;\n }\n\n return plugin.locales.includes(locale.toLowerCase());\n })\n .pop();\n\n await elasticsearchClient.indices.create({\n index: indexName,\n ...(plugin && { body: plugin.body })\n });\n return indexName;\n } catch (ex) {\n // Despite the fact the above `esGetIndexExist` check told us the index does not exist,\n // we've seen cases where the `resource_already_exists_exception` would still be thrown\n // upon index creation. That's why we're doing an additional check of the error message.\n if (ex.message === \"resource_already_exists_exception\") {\n return indexName;\n }\n\n throw new WebinyError(\n ex.message || \"Could not create Elasticsearch index.\",\n ex.code || \"CREATE_ELASTICSEARCH_INDEX_ERROR\",\n {\n error: ex,\n locale,\n tenant,\n type\n }\n );\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,CAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAUO,MAAMG,aAAa,GAAG,MAAOC,MAA2B,IAAsB;EACjF,MAAM;IAAEC,mBAAmB;IAAEC,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAmB,CAAC,GAAGL,MAAM;EAEhF,MAAMM,SAAS,GAAG,IAAAC,gBAAc,EAAC;IAAEL,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAmB,CAAC,CAAC;EAE9E,IAAI;IACA,MAAMG,KAAK,GAAG,MAAM,IAAAC,iBAAe,EAACT,MAAM,CAAC;IAE3C,IAAIQ,KAAK,EAAE;MACP,OAAOF,SAAS;IACpB;;IAEA;IACA,MAAMI,MAAM,GAAG,IAAAC,kCAAyB,EAAC,CAAC,CACrCC,MAAM,CAACF,MAAM,IAAI;MACd,IAAI,CAACA,MAAM,CAACG,OAAO,EAAE;QACjB,OAAO,IAAI;MACf;MAEA,OAAOH,MAAM,CAACG,OAAO,CAACC,QAAQ,CAACX,MAAM,CAACY,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CACDC,GAAG,CAAC,CAAC;IAEV,MAAMf,mBAAmB,CAACgB,OAAO,CAACC,MAAM,CAAC;MACrCC,KAAK,EAAEb,SAAS;MAChB,IAAII,MAAM,IAAI;QAAEU,IAAI,EAAEV,MAAM,CAACU;MAAK,CAAC;IACvC,CAAC,CAAC;IACF,OAAOd,SAAS;EACpB,CAAC,CAAC,OAAOe,EAAE,EAAE;IACT;IACA;IACA;IACA,IAAIA,EAAE,CAACC,OAAO,KAAK,mCAAmC,EAAE;MACpD,OAAOhB,SAAS;IACpB;IAEA,MAAM,IAAIiB,cAAW,CACjBF,EAAE,CAACC,OAAO,IAAI,uCAAuC,EACrDD,EAAE,CAACG,IAAI,IAAI,kCAAkC,EAC7C;MACIC,KAAK,EAAEJ,EAAE;MACTlB,MAAM;MACND,MAAM;MACNE;IACJ,CACJ,CAAC;EACL;AACJ,CAAC;AAACsB,OAAA,CAAA3B,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_","_plugins","esCreateIndex","params","elasticsearchClient","tenant","locale","type","isHeadlessCmsModel","indexName","esGetIndexName","exist","esGetIndexExist","plugin","elasticsearchIndexPlugins","filter","locales","includes","toLowerCase","pop","indices","create","index","body","ex","message","WebinyError","code","error","exports"],"sources":["esCreateIndex.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { Client } from \"@elastic/elasticsearch\";\nimport { esGetIndexName, esGetIndexExist } from \"~/utils\";\nimport { elasticsearchIndexPlugins } from \"~/utils/elasticsearch/plugins\";\n\nexport interface EsCreateIndexParams {\n elasticsearchClient: Client;\n tenant: string;\n locale: string;\n type: string;\n isHeadlessCmsModel: boolean;\n}\n\nexport const esCreateIndex = async (params: EsCreateIndexParams): Promise<string> => {\n const { elasticsearchClient, tenant, locale, type, isHeadlessCmsModel } = params;\n\n const indexName = esGetIndexName({ tenant, locale, type, isHeadlessCmsModel });\n\n try {\n const exist = await esGetIndexExist(params);\n\n if (exist) {\n return indexName;\n }\n\n // Get registered plugins\n const plugin = elasticsearchIndexPlugins()\n .filter(plugin => {\n if (!plugin.locales) {\n return true;\n }\n\n return plugin.locales.includes(locale.toLowerCase());\n })\n .pop();\n\n await elasticsearchClient.indices.create({\n index: indexName,\n ...(plugin && { body: plugin.body })\n });\n return indexName;\n } catch (ex) {\n // Despite the fact the above `esGetIndexExist` check told us the index does not exist,\n // we've seen cases where the `resource_already_exists_exception` would still be thrown\n // upon index creation. That's why we're doing an additional check of the error message.\n if (ex.message === \"resource_already_exists_exception\") {\n return indexName;\n }\n\n throw new WebinyError(\n ex.message || \"Could not create Elasticsearch index.\",\n ex.code || \"CREATE_ELASTICSEARCH_INDEX_ERROR\",\n {\n error: ex,\n locale,\n tenant,\n type\n }\n );\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,CAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAUO,MAAMG,aAAa,GAAG,MAAOC,MAA2B,IAAsB;EACjF,MAAM;IAAEC,mBAAmB;IAAEC,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAmB,CAAC,GAAGL,MAAM;EAEhF,MAAMM,SAAS,GAAG,IAAAC,gBAAc,EAAC;IAAEL,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAmB,CAAC,CAAC;EAE9E,IAAI;IACA,MAAMG,KAAK,GAAG,MAAM,IAAAC,iBAAe,EAACT,MAAM,CAAC;IAE3C,IAAIQ,KAAK,EAAE;MACP,OAAOF,SAAS;IACpB;;IAEA;IACA,MAAMI,MAAM,GAAG,IAAAC,kCAAyB,EAAC,CAAC,CACrCC,MAAM,CAACF,MAAM,IAAI;MACd,IAAI,CAACA,MAAM,CAACG,OAAO,EAAE;QACjB,OAAO,IAAI;MACf;MAEA,OAAOH,MAAM,CAACG,OAAO,CAACC,QAAQ,CAACX,MAAM,CAACY,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CACDC,GAAG,CAAC,CAAC;IAEV,MAAMf,mBAAmB,CAACgB,OAAO,CAACC,MAAM,CAAC;MACrCC,KAAK,EAAEb,SAAS;MAChB,IAAII,MAAM,IAAI;QAAEU,IAAI,EAAEV,MAAM,CAACU;MAAK,CAAC;IACvC,CAAC,CAAC;IACF,OAAOd,SAAS;EACpB,CAAC,CAAC,OAAOe,EAAE,EAAE;IACT;IACA;IACA;IACA,IAAIA,EAAE,CAACC,OAAO,KAAK,mCAAmC,EAAE;MACpD,OAAOhB,SAAS;IACpB;IAEA,MAAM,IAAIiB,cAAW,CACjBF,EAAE,CAACC,OAAO,IAAI,uCAAuC,EACrDD,EAAE,CAACG,IAAI,IAAI,kCAAkC,EAC7C;MACIC,KAAK,EAAEJ,EAAE;MACTlB,MAAM;MACND,MAAM;MACNE;IACJ,CACJ,CAAC;EACL;AACJ,CAAC;AAACsB,OAAA,CAAA3B,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { Client } from "@elastic/elasticsearch";
2
- import { SearchBody } from "@webiny/api-elasticsearch/types";
1
+ import type { Client } from "@elastic/elasticsearch";
2
+ import type { SearchBody } from "@webiny/api-elasticsearch/types";
3
3
  export interface EsFindOneParams {
4
4
  elasticsearchClient: Client;
5
5
  index: string;
@@ -1 +1 @@
1
- {"version":3,"names":["esFindOne","elasticsearchClient","body","index","response","search","size","hits","length","_source","exports"],"sources":["esFindOne.ts"],"sourcesContent":["import { Client } from \"@elastic/elasticsearch\";\nimport { SearchBody, ElasticsearchSearchResponse } from \"@webiny/api-elasticsearch/types\";\n\nexport interface EsFindOneParams {\n elasticsearchClient: Client;\n index: string;\n body: Omit<SearchBody, \"size\">;\n}\n\nexport const esFindOne = async <TItem>({ elasticsearchClient, body, index }: EsFindOneParams) => {\n const response: ElasticsearchSearchResponse<TItem> = await elasticsearchClient.search({\n index,\n body: {\n ...body,\n size: 1\n }\n });\n\n const hits = response.body.hits;\n\n if (hits.hits.length <= 0) {\n return null;\n }\n\n return hits.hits[0]._source;\n};\n"],"mappings":";;;;;;AASO,MAAMA,SAAS,GAAG,MAAAA,CAAc;EAAEC,mBAAmB;EAAEC,IAAI;EAAEC;AAAuB,CAAC,KAAK;EAC7F,MAAMC,QAA4C,GAAG,MAAMH,mBAAmB,CAACI,MAAM,CAAC;IAClFF,KAAK;IACLD,IAAI,EAAE;MACF,GAAGA,IAAI;MACPI,IAAI,EAAE;IACV;EACJ,CAAC,CAAC;EAEF,MAAMC,IAAI,GAAGH,QAAQ,CAACF,IAAI,CAACK,IAAI;EAE/B,IAAIA,IAAI,CAACA,IAAI,CAACC,MAAM,IAAI,CAAC,EAAE;IACvB,OAAO,IAAI;EACf;EAEA,OAAOD,IAAI,CAACA,IAAI,CAAC,CAAC,CAAC,CAACE,OAAO;AAC/B,CAAC;AAACC,OAAA,CAAAV,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["esFindOne","elasticsearchClient","body","index","response","search","size","hits","length","_source","exports"],"sources":["esFindOne.ts"],"sourcesContent":["import type { Client } from \"@elastic/elasticsearch\";\nimport type { SearchBody, ElasticsearchSearchResponse } from \"@webiny/api-elasticsearch/types\";\n\nexport interface EsFindOneParams {\n elasticsearchClient: Client;\n index: string;\n body: Omit<SearchBody, \"size\">;\n}\n\nexport const esFindOne = async <TItem>({ elasticsearchClient, body, index }: EsFindOneParams) => {\n const response: ElasticsearchSearchResponse<TItem> = await elasticsearchClient.search({\n index,\n body: {\n ...body,\n size: 1\n }\n });\n\n const hits = response.body.hits;\n\n if (hits.hits.length <= 0) {\n return null;\n }\n\n return hits.hits[0]._source;\n};\n"],"mappings":";;;;;;AASO,MAAMA,SAAS,GAAG,MAAAA,CAAc;EAAEC,mBAAmB;EAAEC,IAAI;EAAEC;AAAuB,CAAC,KAAK;EAC7F,MAAMC,QAA4C,GAAG,MAAMH,mBAAmB,CAACI,MAAM,CAAC;IAClFF,KAAK;IACLD,IAAI,EAAE;MACF,GAAGA,IAAI;MACPI,IAAI,EAAE;IACV;EACJ,CAAC,CAAC;EAEF,MAAMC,IAAI,GAAGH,QAAQ,CAACF,IAAI,CAACK,IAAI;EAE/B,IAAIA,IAAI,CAACA,IAAI,CAACC,MAAM,IAAI,CAAC,EAAE;IACvB,OAAO,IAAI;EACf;EAEA,OAAOD,IAAI,CAACA,IAAI,CAAC,CAAC,CAAC,CAACE,OAAO;AAC/B,CAAC;AAACC,OAAA,CAAAV,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Client } from "@elastic/elasticsearch";
1
+ import type { Client } from "@elastic/elasticsearch";
2
2
  export interface GetIndexExistParams {
3
3
  elasticsearchClient: Client;
4
4
  tenant: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_","require","esGetIndexExist","params","elasticsearchClient","tenant","locale","type","isHeadlessCmsModel","index","esGetIndexName","response","indices","exists","body","ex","console","warn","message","exports"],"sources":["esGetIndexExist.ts"],"sourcesContent":["import { Client } from \"@elastic/elasticsearch\";\nimport { esGetIndexName } from \"~/utils\";\n\nexport interface GetIndexExistParams {\n elasticsearchClient: Client;\n tenant: string;\n locale: string;\n type: string;\n isHeadlessCmsModel?: boolean;\n}\n\nexport const esGetIndexExist = async (params: GetIndexExistParams) => {\n const { elasticsearchClient, tenant, locale, type, isHeadlessCmsModel } = params;\n\n try {\n const index = esGetIndexName({ tenant, locale, type, isHeadlessCmsModel });\n\n const response = await elasticsearchClient.indices.exists({\n index\n });\n\n if (response.body) {\n return true;\n }\n\n return false;\n } catch (ex) {\n console.warn(`Could not find Elasticsearch index:`, ex.message);\n return false;\n }\n};\n"],"mappings":";;;;;;AACA,IAAAA,CAAA,GAAAC,OAAA;AAUO,MAAMC,eAAe,GAAG,MAAOC,MAA2B,IAAK;EAClE,MAAM;IAAEC,mBAAmB;IAAEC,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAmB,CAAC,GAAGL,MAAM;EAEhF,IAAI;IACA,MAAMM,KAAK,GAAG,IAAAC,gBAAc,EAAC;MAAEL,MAAM;MAAEC,MAAM;MAAEC,IAAI;MAAEC;IAAmB,CAAC,CAAC;IAE1E,MAAMG,QAAQ,GAAG,MAAMP,mBAAmB,CAACQ,OAAO,CAACC,MAAM,CAAC;MACtDJ;IACJ,CAAC,CAAC;IAEF,IAAIE,QAAQ,CAACG,IAAI,EAAE;MACf,OAAO,IAAI;IACf;IAEA,OAAO,KAAK;EAChB,CAAC,CAAC,OAAOC,EAAE,EAAE;IACTC,OAAO,CAACC,IAAI,CAAC,qCAAqC,EAAEF,EAAE,CAACG,OAAO,CAAC;IAC/D,OAAO,KAAK;EAChB;AACJ,CAAC;AAACC,OAAA,CAAAjB,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_","require","esGetIndexExist","params","elasticsearchClient","tenant","locale","type","isHeadlessCmsModel","index","esGetIndexName","response","indices","exists","body","ex","console","warn","message","exports"],"sources":["esGetIndexExist.ts"],"sourcesContent":["import type { Client } from \"@elastic/elasticsearch\";\nimport { esGetIndexName } from \"~/utils\";\n\nexport interface GetIndexExistParams {\n elasticsearchClient: Client;\n tenant: string;\n locale: string;\n type: string;\n isHeadlessCmsModel?: boolean;\n}\n\nexport const esGetIndexExist = async (params: GetIndexExistParams) => {\n const { elasticsearchClient, tenant, locale, type, isHeadlessCmsModel } = params;\n\n try {\n const index = esGetIndexName({ tenant, locale, type, isHeadlessCmsModel });\n\n const response = await elasticsearchClient.indices.exists({\n index\n });\n\n if (response.body) {\n return true;\n }\n\n return false;\n } catch (ex) {\n console.warn(`Could not find Elasticsearch index:`, ex.message);\n return false;\n }\n};\n"],"mappings":";;;;;;AACA,IAAAA,CAAA,GAAAC,OAAA;AAUO,MAAMC,eAAe,GAAG,MAAOC,MAA2B,IAAK;EAClE,MAAM;IAAEC,mBAAmB;IAAEC,MAAM;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAmB,CAAC,GAAGL,MAAM;EAEhF,IAAI;IACA,MAAMM,KAAK,GAAG,IAAAC,gBAAc,EAAC;MAAEL,MAAM;MAAEC,MAAM;MAAEC,IAAI;MAAEC;IAAmB,CAAC,CAAC;IAE1E,MAAMG,QAAQ,GAAG,MAAMP,mBAAmB,CAACQ,OAAO,CAACC,MAAM,CAAC;MACtDJ;IACJ,CAAC,CAAC;IAEF,IAAIE,QAAQ,CAACG,IAAI,EAAE;MACf,OAAO,IAAI;IACf;IAEA,OAAO,KAAK;EAChB,CAAC,CAAC,OAAOC,EAAE,EAAE;IACTC,OAAO,CAACC,IAAI,CAAC,qCAAqC,EAAEF,EAAE,CAACG,OAAO,CAAC;IAC/D,OAAO,KAAK;EAChB;AACJ,CAAC;AAACC,OAAA,CAAAjB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Client } from "@elastic/elasticsearch";
1
+ import type { Client } from "@elastic/elasticsearch";
2
2
  export interface GetIndexSettingsParams {
3
3
  elasticsearchClient: Client;
4
4
  index: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","_pick","esGetIndexSettings","params","elasticsearchClient","index","fields","response","indices","getSettings","settings","body","pick","ex","WebinyError","message","code","error","exports"],"sources":["esGetIndexSettings.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport pick from \"lodash/pick\";\n\nexport interface GetIndexSettingsParams {\n elasticsearchClient: Client;\n index: string;\n fields: string[];\n}\n\nexport const esGetIndexSettings = async (params: GetIndexSettingsParams) => {\n const { elasticsearchClient, index, fields } = params;\n\n try {\n const response = await elasticsearchClient.indices.getSettings({\n index\n });\n\n const settings = response.body[index].settings.index;\n\n return pick(settings, fields);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get Elasticsearch index settings.\",\n ex.code || \"GET_ELASTICSEARCH_INDEX_SETTINGS_ERROR\",\n {\n error: ex,\n index,\n fields\n }\n );\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAQO,MAAME,kBAAkB,GAAG,MAAOC,MAA8B,IAAK;EACxE,MAAM;IAAEC,mBAAmB;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGH,MAAM;EAErD,IAAI;IACA,MAAMI,QAAQ,GAAG,MAAMH,mBAAmB,CAACI,OAAO,CAACC,WAAW,CAAC;MAC3DJ;IACJ,CAAC,CAAC;IAEF,MAAMK,QAAQ,GAAGH,QAAQ,CAACI,IAAI,CAACN,KAAK,CAAC,CAACK,QAAQ,CAACL,KAAK;IAEpD,OAAO,IAAAO,aAAI,EAACF,QAAQ,EAAEJ,MAAM,CAAC;EACjC,CAAC,CAAC,OAAOO,EAAE,EAAE;IACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,6CAA6C,EAC3DF,EAAE,CAACG,IAAI,IAAI,wCAAwC,EACnD;MACIC,KAAK,EAAEJ,EAAE;MACTR,KAAK;MACLC;IACJ,CACJ,CAAC;EACL;AACJ,CAAC;AAACY,OAAA,CAAAhB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_pick","esGetIndexSettings","params","elasticsearchClient","index","fields","response","indices","getSettings","settings","body","pick","ex","WebinyError","message","code","error","exports"],"sources":["esGetIndexSettings.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { Client } from \"@elastic/elasticsearch\";\nimport pick from \"lodash/pick\";\n\nexport interface GetIndexSettingsParams {\n elasticsearchClient: Client;\n index: string;\n fields: string[];\n}\n\nexport const esGetIndexSettings = async (params: GetIndexSettingsParams) => {\n const { elasticsearchClient, index, fields } = params;\n\n try {\n const response = await elasticsearchClient.indices.getSettings({\n index\n });\n\n const settings = response.body[index].settings.index;\n\n return pick(settings, fields);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get Elasticsearch index settings.\",\n ex.code || \"GET_ELASTICSEARCH_INDEX_SETTINGS_ERROR\",\n {\n error: ex,\n index,\n fields\n }\n );\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAQO,MAAME,kBAAkB,GAAG,MAAOC,MAA8B,IAAK;EACxE,MAAM;IAAEC,mBAAmB;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGH,MAAM;EAErD,IAAI;IACA,MAAMI,QAAQ,GAAG,MAAMH,mBAAmB,CAACI,OAAO,CAACC,WAAW,CAAC;MAC3DJ;IACJ,CAAC,CAAC;IAEF,MAAMK,QAAQ,GAAGH,QAAQ,CAACI,IAAI,CAACN,KAAK,CAAC,CAACK,QAAQ,CAACL,KAAK;IAEpD,OAAO,IAAAO,aAAI,EAACF,QAAQ,EAAEJ,MAAM,CAAC;EACjC,CAAC,CAAC,OAAOO,EAAE,EAAE;IACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,6CAA6C,EAC3DF,EAAE,CAACG,IAAI,IAAI,wCAAwC,EACnD;MACIC,KAAK,EAAEJ,EAAE;MACTR,KAAK;MACLC;IACJ,CACJ,CAAC;EACL;AACJ,CAAC;AAACY,OAAA,CAAAhB,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Client } from "@elastic/elasticsearch";
1
+ import type { Client } from "@elastic/elasticsearch";
2
2
  export interface ListIndexesParams {
3
3
  elasticsearchClient: Client;
4
4
  match?: string;
@@ -1 +1 @@
1
- {"version":3,"names":["esListIndexes","params","elasticsearchClient","response","cat","indices","format","listOfIndexes","body","map","item","index","match","filter","includes","exports"],"sources":["esListIndexes.ts"],"sourcesContent":["import { Client } from \"@elastic/elasticsearch\";\n\nexport interface ListIndexesParams {\n elasticsearchClient: Client;\n match?: string;\n}\n\ntype IndicesApiResponse = Array<Record<string, string>>;\n\nexport const esListIndexes = async (params: ListIndexesParams): Promise<string[]> => {\n const { elasticsearchClient } = params;\n\n const response = await elasticsearchClient.cat.indices<IndicesApiResponse>({\n format: \"json\"\n });\n\n const listOfIndexes = response.body.map(item => item.index);\n\n const match = params.match;\n if (match) {\n return listOfIndexes.filter(index => index.includes(match));\n }\n\n return listOfIndexes;\n};\n"],"mappings":";;;;;;AASO,MAAMA,aAAa,GAAG,MAAOC,MAAyB,IAAwB;EACjF,MAAM;IAAEC;EAAoB,CAAC,GAAGD,MAAM;EAEtC,MAAME,QAAQ,GAAG,MAAMD,mBAAmB,CAACE,GAAG,CAACC,OAAO,CAAqB;IACvEC,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,aAAa,GAAGJ,QAAQ,CAACK,IAAI,CAACC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,KAAK,CAAC;EAE3D,MAAMC,KAAK,GAAGX,MAAM,CAACW,KAAK;EAC1B,IAAIA,KAAK,EAAE;IACP,OAAOL,aAAa,CAACM,MAAM,CAACF,KAAK,IAAIA,KAAK,CAACG,QAAQ,CAACF,KAAK,CAAC,CAAC;EAC/D;EAEA,OAAOL,aAAa;AACxB,CAAC;AAACQ,OAAA,CAAAf,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["esListIndexes","params","elasticsearchClient","response","cat","indices","format","listOfIndexes","body","map","item","index","match","filter","includes","exports"],"sources":["esListIndexes.ts"],"sourcesContent":["import type { Client } from \"@elastic/elasticsearch\";\n\nexport interface ListIndexesParams {\n elasticsearchClient: Client;\n match?: string;\n}\n\ntype IndicesApiResponse = Array<Record<string, string>>;\n\nexport const esListIndexes = async (params: ListIndexesParams): Promise<string[]> => {\n const { elasticsearchClient } = params;\n\n const response = await elasticsearchClient.cat.indices<IndicesApiResponse>({\n format: \"json\"\n });\n\n const listOfIndexes = response.body.map(item => item.index);\n\n const match = params.match;\n if (match) {\n return listOfIndexes.filter(index => index.includes(match));\n }\n\n return listOfIndexes;\n};\n"],"mappings":";;;;;;AASO,MAAMA,aAAa,GAAG,MAAOC,MAAyB,IAAwB;EACjF,MAAM;IAAEC;EAAoB,CAAC,GAAGD,MAAM;EAEtC,MAAME,QAAQ,GAAG,MAAMD,mBAAmB,CAACE,GAAG,CAACC,OAAO,CAAqB;IACvEC,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,aAAa,GAAGJ,QAAQ,CAACK,IAAI,CAACC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,KAAK,CAAC;EAE3D,MAAMC,KAAK,GAAGX,MAAM,CAACW,KAAK;EAC1B,IAAIA,KAAK,EAAE;IACP,OAAOL,aAAa,CAACM,MAAM,CAACF,KAAK,IAAIA,KAAK,CAACG,QAAQ,CAACF,KAAK,CAAC,CAAC;EAC/D;EAEA,OAAOL,aAAa;AACxB,CAAC;AAACQ,OAAA,CAAAf,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { Client } from "@elastic/elasticsearch";
1
+ import type { Client } from "@elastic/elasticsearch";
2
2
  export interface PutIndexSettingsParams {
3
3
  elasticsearchClient: Client;
4
4
  index: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_error","_interopRequireDefault","require","esPutIndexSettings","params","elasticsearchClient","index","settings","indices","putSettings","body","ex","WebinyError","message","code","error","exports"],"sources":["esPutIndexSettings.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Client } from \"@elastic/elasticsearch\";\n\nexport interface PutIndexSettingsParams {\n elasticsearchClient: Client;\n index: string;\n settings: Record<string, any>;\n}\n\nexport const esPutIndexSettings = async (params: PutIndexSettingsParams) => {\n const { elasticsearchClient, index, settings } = params;\n\n try {\n await elasticsearchClient.indices.putSettings({\n index,\n body: settings\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not put Elasticsearch index settings.\",\n ex.code || \"PUT_ELASTICSEARCH_INDEX_SETTINGS_ERROR\",\n {\n error: ex,\n index,\n settings\n }\n );\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AASO,MAAMC,kBAAkB,GAAG,MAAOC,MAA8B,IAAK;EACxE,MAAM;IAAEC,mBAAmB;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGH,MAAM;EAEvD,IAAI;IACA,MAAMC,mBAAmB,CAACG,OAAO,CAACC,WAAW,CAAC;MAC1CH,KAAK;MACLI,IAAI,EAAEH;IACV,CAAC,CAAC;EACN,CAAC,CAAC,OAAOI,EAAE,EAAE;IACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,6CAA6C,EAC3DF,EAAE,CAACG,IAAI,IAAI,wCAAwC,EACnD;MACIC,KAAK,EAAEJ,EAAE;MACTL,KAAK;MACLC;IACJ,CACJ,CAAC;EACL;AACJ,CAAC;AAACS,OAAA,CAAAb,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","esPutIndexSettings","params","elasticsearchClient","index","settings","indices","putSettings","body","ex","WebinyError","message","code","error","exports"],"sources":["esPutIndexSettings.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { Client } from \"@elastic/elasticsearch\";\n\nexport interface PutIndexSettingsParams {\n elasticsearchClient: Client;\n index: string;\n settings: Record<string, any>;\n}\n\nexport const esPutIndexSettings = async (params: PutIndexSettingsParams) => {\n const { elasticsearchClient, index, settings } = params;\n\n try {\n await elasticsearchClient.indices.putSettings({\n index,\n body: settings\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not put Elasticsearch index settings.\",\n ex.code || \"PUT_ELASTICSEARCH_INDEX_SETTINGS_ERROR\",\n {\n error: ex,\n index,\n settings\n }\n );\n }\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AASO,MAAMC,kBAAkB,GAAG,MAAOC,MAA8B,IAAK;EACxE,MAAM;IAAEC,mBAAmB;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGH,MAAM;EAEvD,IAAI;IACA,MAAMC,mBAAmB,CAACG,OAAO,CAACC,WAAW,CAAC;MAC1CH,KAAK;MACLI,IAAI,EAAEH;IACV,CAAC,CAAC;EACN,CAAC,CAAC,OAAOI,EAAE,EAAE;IACT,MAAM,IAAIC,cAAW,CACjBD,EAAE,CAACE,OAAO,IAAI,6CAA6C,EAC3DF,EAAE,CAACG,IAAI,IAAI,wCAAwC,EACnD;MACIC,KAAK,EAAEJ,EAAE;MACTL,KAAK;MACLC;IACJ,CACJ,CAAC;EACL;AACJ,CAAC;AAACS,OAAA,CAAAb,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { Client } from "@elastic/elasticsearch";
2
- import { SearchBody } from "@webiny/api-elasticsearch/types";
1
+ import type { Client } from "@elastic/elasticsearch";
2
+ import type { SearchBody } from "@webiny/api-elasticsearch/types";
3
3
  export interface EsQueryAllParams {
4
4
  elasticsearchClient: Client;
5
5
  index: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","esQueryAll","elasticsearchClient","body","index","search","response","executeWithRetry","hits","map","item","_source","exports"],"sources":["esQueryAll.ts"],"sourcesContent":["import { Client } from \"@elastic/elasticsearch\";\nimport { ElasticsearchSearchResponse, SearchBody } from \"@webiny/api-elasticsearch/types\";\nimport { executeWithRetry } from \"@webiny/utils\";\n\nexport interface EsQueryAllParams {\n elasticsearchClient: Client;\n index: string;\n body: SearchBody;\n}\n\nexport const esQueryAll = async <TItem>({ elasticsearchClient, body, index }: EsQueryAllParams) => {\n const search = async (): Promise<ElasticsearchSearchResponse<TItem>> => {\n return elasticsearchClient.search({\n index,\n body\n });\n };\n\n const response = await executeWithRetry(search);\n\n return response.body.hits.hits.map(item => {\n return item._source;\n });\n};\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAQO,MAAMC,UAAU,GAAG,MAAAA,CAAc;EAAEC,mBAAmB;EAAEC,IAAI;EAAEC;AAAwB,CAAC,KAAK;EAC/F,MAAMC,MAAM,GAAG,MAAAA,CAAA,KAAyD;IACpE,OAAOH,mBAAmB,CAACG,MAAM,CAAC;MAC9BD,KAAK;MACLD;IACJ,CAAC,CAAC;EACN,CAAC;EAED,MAAMG,QAAQ,GAAG,MAAM,IAAAC,uBAAgB,EAACF,MAAM,CAAC;EAE/C,OAAOC,QAAQ,CAACH,IAAI,CAACK,IAAI,CAACA,IAAI,CAACC,GAAG,CAACC,IAAI,IAAI;IACvC,OAAOA,IAAI,CAACC,OAAO;EACvB,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAX,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","esQueryAll","elasticsearchClient","body","index","search","response","executeWithRetry","hits","map","item","_source","exports"],"sources":["esQueryAll.ts"],"sourcesContent":["import type { Client } from \"@elastic/elasticsearch\";\nimport type { ElasticsearchSearchResponse, SearchBody } from \"@webiny/api-elasticsearch/types\";\nimport { executeWithRetry } from \"@webiny/utils\";\n\nexport interface EsQueryAllParams {\n elasticsearchClient: Client;\n index: string;\n body: SearchBody;\n}\n\nexport const esQueryAll = async <TItem>({ elasticsearchClient, body, index }: EsQueryAllParams) => {\n const search = async (): Promise<ElasticsearchSearchResponse<TItem>> => {\n return elasticsearchClient.search({\n index,\n body\n });\n };\n\n const response = await executeWithRetry(search);\n\n return response.body.hits.hits.map(item => {\n return item._source;\n });\n};\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAQO,MAAMC,UAAU,GAAG,MAAAA,CAAc;EAAEC,mBAAmB;EAAEC,IAAI;EAAEC;AAAwB,CAAC,KAAK;EAC/F,MAAMC,MAAM,GAAG,MAAAA,CAAA,KAAyD;IACpE,OAAOH,mBAAmB,CAACG,MAAM,CAAC;MAC9BD,KAAK;MACLD;IACJ,CAAC,CAAC;EACN,CAAC;EAED,MAAMG,QAAQ,GAAG,MAAM,IAAAC,uBAAgB,EAACF,MAAM,CAAC;EAE/C,OAAOC,QAAQ,CAACH,IAAI,CAACK,IAAI,CAACA,IAAI,CAACC,GAAG,CAACC,IAAI,IAAI;IACvC,OAAOA,IAAI,CAACC,OAAO;EACvB,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAX,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { Client } from "@elastic/elasticsearch";
2
- import { SearchBody } from "@webiny/api-elasticsearch/types";
1
+ import type { Client } from "@elastic/elasticsearch";
2
+ import type { SearchBody } from "@webiny/api-elasticsearch/types";
3
3
  export interface EsQueryAllWithCallbackParams<TItem> {
4
4
  elasticsearchClient: Client;
5
5
  index: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","esQueryAllWithCallback","elasticsearchClient","body","index","callback","onError","cursor","search_after","bodyWithCursor","search","response","executeWithRetry","hits","length","sort","map","item","_source","ex","exports"],"sources":["esQueryAllWithCallback.ts"],"sourcesContent":["import { Client } from \"@elastic/elasticsearch\";\nimport {\n ElasticsearchSearchResponse,\n PrimitiveValue,\n SearchBody\n} from \"@webiny/api-elasticsearch/types\";\nimport { executeWithRetry } from \"@webiny/utils\";\n\nexport interface EsQueryAllWithCallbackParams<TItem> {\n elasticsearchClient: Client;\n index: string;\n body: SearchBody;\n callback: (items: TItem[], cursor: string[]) => Promise<void>;\n onError?: (error: Error) => Promise<void> | void;\n}\n\nexport const esQueryAllWithCallback = async <TItem>({\n elasticsearchClient,\n body,\n index,\n callback,\n onError\n}: EsQueryAllWithCallbackParams<TItem>) => {\n let cursor: PrimitiveValue[] | undefined = body.search_after;\n while (true) {\n const bodyWithCursor = { ...body, search_after: cursor };\n\n const search = async (): Promise<ElasticsearchSearchResponse<TItem>> => {\n return elasticsearchClient.search({\n index,\n body: bodyWithCursor\n });\n };\n\n try {\n const response = await executeWithRetry(search);\n\n const hits = response.body.hits;\n if (hits.hits.length <= 0) {\n break;\n }\n\n cursor = hits.hits[hits.hits.length - 1].sort as unknown as string[];\n await callback(\n hits.hits.map(item => item._source),\n cursor as string[]\n );\n } catch (ex) {\n if (!onError) {\n throw ex;\n }\n await onError(ex);\n }\n }\n};\n"],"mappings":";;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AAUO,MAAMC,sBAAsB,GAAG,MAAAA,CAAc;EAChDC,mBAAmB;EACnBC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC;AACiC,CAAC,KAAK;EACvC,IAAIC,MAAoC,GAAGJ,IAAI,CAACK,YAAY;EAC5D,OAAO,IAAI,EAAE;IACT,MAAMC,cAAc,GAAG;MAAE,GAAGN,IAAI;MAAEK,YAAY,EAAED;IAAO,CAAC;IAExD,MAAMG,MAAM,GAAG,MAAAA,CAAA,KAAyD;MACpE,OAAOR,mBAAmB,CAACQ,MAAM,CAAC;QAC9BN,KAAK;QACLD,IAAI,EAAEM;MACV,CAAC,CAAC;IACN,CAAC;IAED,IAAI;MACA,MAAME,QAAQ,GAAG,MAAM,IAAAC,uBAAgB,EAACF,MAAM,CAAC;MAE/C,MAAMG,IAAI,GAAGF,QAAQ,CAACR,IAAI,CAACU,IAAI;MAC/B,IAAIA,IAAI,CAACA,IAAI,CAACC,MAAM,IAAI,CAAC,EAAE;QACvB;MACJ;MAEAP,MAAM,GAAGM,IAAI,CAACA,IAAI,CAACA,IAAI,CAACA,IAAI,CAACC,MAAM,GAAG,CAAC,CAAC,CAACC,IAA2B;MACpE,MAAMV,QAAQ,CACVQ,IAAI,CAACA,IAAI,CAACG,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,OAAO,CAAC,EACnCX,MACJ,CAAC;IACL,CAAC,CAAC,OAAOY,EAAE,EAAE;MACT,IAAI,CAACb,OAAO,EAAE;QACV,MAAMa,EAAE;MACZ;MACA,MAAMb,OAAO,CAACa,EAAE,CAAC;IACrB;EACJ;AACJ,CAAC;AAACC,OAAA,CAAAnB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","esQueryAllWithCallback","elasticsearchClient","body","index","callback","onError","cursor","search_after","bodyWithCursor","search","response","executeWithRetry","hits","length","sort","map","item","_source","ex","exports"],"sources":["esQueryAllWithCallback.ts"],"sourcesContent":["import type { Client } from \"@elastic/elasticsearch\";\nimport type {\n ElasticsearchSearchResponse,\n PrimitiveValue,\n SearchBody\n} from \"@webiny/api-elasticsearch/types\";\nimport { executeWithRetry } from \"@webiny/utils\";\n\nexport interface EsQueryAllWithCallbackParams<TItem> {\n elasticsearchClient: Client;\n index: string;\n body: SearchBody;\n callback: (items: TItem[], cursor: string[]) => Promise<void>;\n onError?: (error: Error) => Promise<void> | void;\n}\n\nexport const esQueryAllWithCallback = async <TItem>({\n elasticsearchClient,\n body,\n index,\n callback,\n onError\n}: EsQueryAllWithCallbackParams<TItem>) => {\n let cursor: PrimitiveValue[] | undefined = body.search_after;\n while (true) {\n const bodyWithCursor = { ...body, search_after: cursor };\n\n const search = async (): Promise<ElasticsearchSearchResponse<TItem>> => {\n return elasticsearchClient.search({\n index,\n body: bodyWithCursor\n });\n };\n\n try {\n const response = await executeWithRetry(search);\n\n const hits = response.body.hits;\n if (hits.hits.length <= 0) {\n break;\n }\n\n cursor = hits.hits[hits.hits.length - 1].sort as unknown as string[];\n await callback(\n hits.hits.map(item => item._source),\n cursor as string[]\n );\n } catch (ex) {\n if (!onError) {\n throw ex;\n }\n await onError(ex);\n }\n }\n};\n"],"mappings":";;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AAUO,MAAMC,sBAAsB,GAAG,MAAAA,CAAc;EAChDC,mBAAmB;EACnBC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC;AACiC,CAAC,KAAK;EACvC,IAAIC,MAAoC,GAAGJ,IAAI,CAACK,YAAY;EAC5D,OAAO,IAAI,EAAE;IACT,MAAMC,cAAc,GAAG;MAAE,GAAGN,IAAI;MAAEK,YAAY,EAAED;IAAO,CAAC;IAExD,MAAMG,MAAM,GAAG,MAAAA,CAAA,KAAyD;MACpE,OAAOR,mBAAmB,CAACQ,MAAM,CAAC;QAC9BN,KAAK;QACLD,IAAI,EAAEM;MACV,CAAC,CAAC;IACN,CAAC;IAED,IAAI;MACA,MAAME,QAAQ,GAAG,MAAM,IAAAC,uBAAgB,EAACF,MAAM,CAAC;MAE/C,MAAMG,IAAI,GAAGF,QAAQ,CAACR,IAAI,CAACU,IAAI;MAC/B,IAAIA,IAAI,CAACA,IAAI,CAACC,MAAM,IAAI,CAAC,EAAE;QACvB;MACJ;MAEAP,MAAM,GAAGM,IAAI,CAACA,IAAI,CAACA,IAAI,CAACA,IAAI,CAACC,MAAM,GAAG,CAAC,CAAC,CAACC,IAA2B;MACpE,MAAMV,QAAQ,CACVQ,IAAI,CAACA,IAAI,CAACG,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,OAAO,CAAC,EACnCX,MACJ,CAAC;IACL,CAAC,CAAC,OAAOY,EAAE,EAAE;MACT,IAAI,CAACb,OAAO,EAAE;QACV,MAAMa,EAAE;MACZ;MACA,MAAMb,OAAO,CAACa,EAAE,CAAC;IACrB;EACJ;AACJ,CAAC;AAACC,OAAA,CAAAnB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { Logger } from "@webiny/data-migration";
2
- import { Client } from "@elastic/elasticsearch";
1
+ import type { Logger } from "@webiny/data-migration";
2
+ import type { Client } from "@elastic/elasticsearch";
3
3
  interface FetchOriginalElasticsearchSettingsParams {
4
4
  elasticsearchClient: Client;
5
5
  index: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_","require","fetchOriginalElasticsearchSettings","params","index","logger","settings","esGetIndexSettings","elasticsearchClient","fields","refresh_interval","ex","error","message","code","data","exports"],"sources":["fetchOriginalEsSettings.ts"],"sourcesContent":["import { esGetIndexSettings } from \"~/utils\";\nimport { Logger } from \"@webiny/data-migration\";\nimport { Client } from \"@elastic/elasticsearch\";\n\ninterface FetchOriginalElasticsearchSettingsParams {\n elasticsearchClient: Client;\n index: string;\n logger: Logger;\n}\n\ninterface IndexSettings {\n refresh_interval: `${number}s`;\n}\n\nexport const fetchOriginalElasticsearchSettings = async (\n params: FetchOriginalElasticsearchSettingsParams\n): Promise<IndexSettings | null> => {\n const { index, logger } = params;\n try {\n const settings = await esGetIndexSettings({\n elasticsearchClient: params.elasticsearchClient,\n index,\n fields: [\"refresh_interval\"]\n });\n return {\n refresh_interval: settings.refresh_interval || \"1s\"\n };\n } catch (ex) {\n logger.error(`Failed to fetch original Elasticsearch settings for index \"${index}\".`);\n logger.error({\n ...ex,\n message: ex.message,\n code: ex.code,\n data: ex.data\n });\n }\n\n return null;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAcO,MAAMC,kCAAkC,GAAG,MAC9CC,MAAgD,IAChB;EAChC,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAChC,IAAI;IACA,MAAMG,QAAQ,GAAG,MAAM,IAAAC,oBAAkB,EAAC;MACtCC,mBAAmB,EAAEL,MAAM,CAACK,mBAAmB;MAC/CJ,KAAK;MACLK,MAAM,EAAE,CAAC,kBAAkB;IAC/B,CAAC,CAAC;IACF,OAAO;MACHC,gBAAgB,EAAEJ,QAAQ,CAACI,gBAAgB,IAAI;IACnD,CAAC;EACL,CAAC,CAAC,OAAOC,EAAE,EAAE;IACTN,MAAM,CAACO,KAAK,CAAC,8DAA8DR,KAAK,IAAI,CAAC;IACrFC,MAAM,CAACO,KAAK,CAAC;MACT,GAAGD,EAAE;MACLE,OAAO,EAAEF,EAAE,CAACE,OAAO;MACnBC,IAAI,EAAEH,EAAE,CAACG,IAAI;MACbC,IAAI,EAAEJ,EAAE,CAACI;IACb,CAAC,CAAC;EACN;EAEA,OAAO,IAAI;AACf,CAAC;AAACC,OAAA,CAAAd,kCAAA,GAAAA,kCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_","require","fetchOriginalElasticsearchSettings","params","index","logger","settings","esGetIndexSettings","elasticsearchClient","fields","refresh_interval","ex","error","message","code","data","exports"],"sources":["fetchOriginalEsSettings.ts"],"sourcesContent":["import { esGetIndexSettings } from \"~/utils\";\nimport type { Logger } from \"@webiny/data-migration\";\nimport type { Client } from \"@elastic/elasticsearch\";\n\ninterface FetchOriginalElasticsearchSettingsParams {\n elasticsearchClient: Client;\n index: string;\n logger: Logger;\n}\n\ninterface IndexSettings {\n refresh_interval: `${number}s`;\n}\n\nexport const fetchOriginalElasticsearchSettings = async (\n params: FetchOriginalElasticsearchSettingsParams\n): Promise<IndexSettings | null> => {\n const { index, logger } = params;\n try {\n const settings = await esGetIndexSettings({\n elasticsearchClient: params.elasticsearchClient,\n index,\n fields: [\"refresh_interval\"]\n });\n return {\n refresh_interval: settings.refresh_interval || \"1s\"\n };\n } catch (ex) {\n logger.error(`Failed to fetch original Elasticsearch settings for index \"${index}\".`);\n logger.error({\n ...ex,\n message: ex.message,\n code: ex.code,\n data: ex.data\n });\n }\n\n return null;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAcO,MAAMC,kCAAkC,GAAG,MAC9CC,MAAgD,IAChB;EAChC,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAChC,IAAI;IACA,MAAMG,QAAQ,GAAG,MAAM,IAAAC,oBAAkB,EAAC;MACtCC,mBAAmB,EAAEL,MAAM,CAACK,mBAAmB;MAC/CJ,KAAK;MACLK,MAAM,EAAE,CAAC,kBAAkB;IAC/B,CAAC,CAAC;IACF,OAAO;MACHC,gBAAgB,EAAEJ,QAAQ,CAACI,gBAAgB,IAAI;IACnD,CAAC;EACL,CAAC,CAAC,OAAOC,EAAE,EAAE;IACTN,MAAM,CAACO,KAAK,CAAC,8DAA8DR,KAAK,IAAI,CAAC;IACrFC,MAAM,CAACO,KAAK,CAAC;MACT,GAAGD,EAAE;MACLE,OAAO,EAAEF,EAAE,CAACE,OAAO;MACnBC,IAAI,EAAEH,EAAE,CAACG,IAAI;MACbC,IAAI,EAAEJ,EAAE,CAACI;IACb,CAAC,CAAC;EACN;EAEA,OAAO,IAAI;AACf,CAAC;AAACC,OAAA,CAAAd,kCAAA,GAAAA,kCAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { ElasticsearchIndexRequestBody } from "@webiny/api-elasticsearch/types";
1
+ import type { ElasticsearchIndexRequestBody } from "@webiny/api-elasticsearch/types";
2
2
  export interface ElasticsearchIndexPlugins {
3
3
  body: ElasticsearchIndexRequestBody;
4
4
  locales?: string[];
@@ -1 +1 @@
1
- {"version":3,"names":["_base","require","_japanese","elasticsearchIndexPlugins","base","japanese","exports"],"sources":["index.ts"],"sourcesContent":["import { ElasticsearchIndexRequestBody } from \"@webiny/api-elasticsearch/types\";\n\nimport { base } from \"./base\";\nimport { japanese } from \"./japanese\";\n\nexport interface ElasticsearchIndexPlugins {\n body: ElasticsearchIndexRequestBody;\n locales?: string[];\n}\n\nexport const elasticsearchIndexPlugins = (): ElasticsearchIndexPlugins[] => {\n return [base, japanese];\n};\n"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAOO,MAAME,yBAAyB,GAAGA,CAAA,KAAmC;EACxE,OAAO,CAACC,UAAI,EAAEC,kBAAQ,CAAC;AAC3B,CAAC;AAACC,OAAA,CAAAH,yBAAA,GAAAA,yBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_base","require","_japanese","elasticsearchIndexPlugins","base","japanese","exports"],"sources":["index.ts"],"sourcesContent":["import type { ElasticsearchIndexRequestBody } from \"@webiny/api-elasticsearch/types\";\n\nimport { base } from \"./base\";\nimport { japanese } from \"./japanese\";\n\nexport interface ElasticsearchIndexPlugins {\n body: ElasticsearchIndexRequestBody;\n locales?: string[];\n}\n\nexport const elasticsearchIndexPlugins = (): ElasticsearchIndexPlugins[] => {\n return [base, japanese];\n};\n"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAOO,MAAME,yBAAyB,GAAGA,CAAA,KAAmC;EACxE,OAAO,CAACC,UAAI,EAAEC,kBAAQ,CAAC;AAC3B,CAAC;AAACC,OAAA,CAAAH,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { Logger } from "@webiny/data-migration";
2
- import { Client } from "@elastic/elasticsearch";
1
+ import type { Logger } from "@webiny/data-migration";
2
+ import type { Client } from "@elastic/elasticsearch";
3
3
  interface IndexSettings {
4
4
  refresh_interval: `${number}s` | "-1";
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_","require","restoreOriginalElasticsearchSettings","params","indexSettings","logger","indexes","index","settings","refreshInterval","refresh_interval","esPutIndexSettings","elasticsearchClient","ex","error","message","code","data","exports"],"sources":["restoreOriginalEsSettings.ts"],"sourcesContent":["import { esPutIndexSettings } from \"~/utils\";\nimport { Logger } from \"@webiny/data-migration\";\nimport { Client } from \"@elastic/elasticsearch\";\n\ninterface IndexSettings {\n refresh_interval: `${number}s` | \"-1\";\n}\n\ninterface RestoreOriginalElasticsearchSettingsParams {\n indexSettings: {\n [index: string]: IndexSettings | null;\n };\n logger: Logger;\n elasticsearchClient: Client;\n}\n\nexport const restoreOriginalElasticsearchSettings = async (\n params: RestoreOriginalElasticsearchSettingsParams\n): Promise<void> => {\n const { indexSettings, logger } = params;\n\n const indexes = indexSettings;\n if (!indexes || typeof indexes !== \"object\") {\n return;\n }\n\n for (const index in indexes) {\n const settings = indexes[index];\n if (!settings || typeof settings !== \"object\") {\n continue;\n }\n\n // We must ensure that the refresh interval is not set to a negative value. Why?\n // We've had a case where a migration run has been manually stopped, and the index settings\n // were never restored. Once a second run was started and this restore function\n // was called, the refresh interval was set to `-1s`, which effectively disabled indexing.\n let refreshInterval = settings.refresh_interval || `1s`;\n if (refreshInterval === \"-1\") {\n refreshInterval = \"1s\";\n }\n\n try {\n await esPutIndexSettings({\n elasticsearchClient: params.elasticsearchClient,\n index,\n settings: {\n refresh_interval: refreshInterval\n }\n });\n } catch (ex) {\n logger.error(\n `Failed to restore original settings for index \"${index}\". Please do it manually.`\n );\n logger.error({\n ...ex,\n message: ex.message,\n code: ex.code,\n data: ex.data\n });\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAgBO,MAAMC,oCAAoC,GAAG,MAChDC,MAAkD,IAClC;EAChB,MAAM;IAAEC,aAAa;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAExC,MAAMG,OAAO,GAAGF,aAAa;EAC7B,IAAI,CAACE,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IACzC;EACJ;EAEA,KAAK,MAAMC,KAAK,IAAID,OAAO,EAAE;IACzB,MAAME,QAAQ,GAAGF,OAAO,CAACC,KAAK,CAAC;IAC/B,IAAI,CAACC,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MAC3C;IACJ;;IAEA;IACA;IACA;IACA;IACA,IAAIC,eAAe,GAAGD,QAAQ,CAACE,gBAAgB,IAAI,IAAI;IACvD,IAAID,eAAe,KAAK,IAAI,EAAE;MAC1BA,eAAe,GAAG,IAAI;IAC1B;IAEA,IAAI;MACA,MAAM,IAAAE,oBAAkB,EAAC;QACrBC,mBAAmB,EAAET,MAAM,CAACS,mBAAmB;QAC/CL,KAAK;QACLC,QAAQ,EAAE;UACNE,gBAAgB,EAAED;QACtB;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOI,EAAE,EAAE;MACTR,MAAM,CAACS,KAAK,CACR,kDAAkDP,KAAK,2BAC3D,CAAC;MACDF,MAAM,CAACS,KAAK,CAAC;QACT,GAAGD,EAAE;QACLE,OAAO,EAAEF,EAAE,CAACE,OAAO;QACnBC,IAAI,EAAEH,EAAE,CAACG,IAAI;QACbC,IAAI,EAAEJ,EAAE,CAACI;MACb,CAAC,CAAC;IACN;EACJ;AACJ,CAAC;AAACC,OAAA,CAAAhB,oCAAA,GAAAA,oCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_","require","restoreOriginalElasticsearchSettings","params","indexSettings","logger","indexes","index","settings","refreshInterval","refresh_interval","esPutIndexSettings","elasticsearchClient","ex","error","message","code","data","exports"],"sources":["restoreOriginalEsSettings.ts"],"sourcesContent":["import { esPutIndexSettings } from \"~/utils\";\nimport type { Logger } from \"@webiny/data-migration\";\nimport type { Client } from \"@elastic/elasticsearch\";\n\ninterface IndexSettings {\n refresh_interval: `${number}s` | \"-1\";\n}\n\ninterface RestoreOriginalElasticsearchSettingsParams {\n indexSettings: {\n [index: string]: IndexSettings | null;\n };\n logger: Logger;\n elasticsearchClient: Client;\n}\n\nexport const restoreOriginalElasticsearchSettings = async (\n params: RestoreOriginalElasticsearchSettingsParams\n): Promise<void> => {\n const { indexSettings, logger } = params;\n\n const indexes = indexSettings;\n if (!indexes || typeof indexes !== \"object\") {\n return;\n }\n\n for (const index in indexes) {\n const settings = indexes[index];\n if (!settings || typeof settings !== \"object\") {\n continue;\n }\n\n // We must ensure that the refresh interval is not set to a negative value. Why?\n // We've had a case where a migration run has been manually stopped, and the index settings\n // were never restored. Once a second run was started and this restore function\n // was called, the refresh interval was set to `-1s`, which effectively disabled indexing.\n let refreshInterval = settings.refresh_interval || `1s`;\n if (refreshInterval === \"-1\") {\n refreshInterval = \"1s\";\n }\n\n try {\n await esPutIndexSettings({\n elasticsearchClient: params.elasticsearchClient,\n index,\n settings: {\n refresh_interval: refreshInterval\n }\n });\n } catch (ex) {\n logger.error(\n `Failed to restore original settings for index \"${index}\". Please do it manually.`\n );\n logger.error({\n ...ex,\n message: ex.message,\n code: ex.code,\n data: ex.data\n });\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AAgBO,MAAMC,oCAAoC,GAAG,MAChDC,MAAkD,IAClC;EAChB,MAAM;IAAEC,aAAa;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAExC,MAAMG,OAAO,GAAGF,aAAa;EAC7B,IAAI,CAACE,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;IACzC;EACJ;EAEA,KAAK,MAAMC,KAAK,IAAID,OAAO,EAAE;IACzB,MAAME,QAAQ,GAAGF,OAAO,CAACC,KAAK,CAAC;IAC/B,IAAI,CAACC,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MAC3C;IACJ;;IAEA;IACA;IACA;IACA;IACA,IAAIC,eAAe,GAAGD,QAAQ,CAACE,gBAAgB,IAAI,IAAI;IACvD,IAAID,eAAe,KAAK,IAAI,EAAE;MAC1BA,eAAe,GAAG,IAAI;IAC1B;IAEA,IAAI;MACA,MAAM,IAAAE,oBAAkB,EAAC;QACrBC,mBAAmB,EAAET,MAAM,CAACS,mBAAmB;QAC/CL,KAAK;QACLC,QAAQ,EAAE;UACNE,gBAAgB,EAAED;QACtB;MACJ,CAAC,CAAC;IACN,CAAC,CAAC,OAAOI,EAAE,EAAE;MACTR,MAAM,CAACS,KAAK,CACR,kDAAkDP,KAAK,2BAC3D,CAAC;MACDF,MAAM,CAACS,KAAK,CAAC;QACT,GAAGD,EAAE;QACLE,OAAO,EAAEF,EAAE,CAACE,OAAO;QACnBC,IAAI,EAAEH,EAAE,CAACG,IAAI;QACbC,IAAI,EAAEJ,EAAE,CAACI;MACb,CAAC,CAAC;IACN;EACJ;AACJ,CAAC;AAACC,OAAA,CAAAhB,oCAAA,GAAAA,oCAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { Table } from "@webiny/db-dynamodb/toolbox";
2
- import { Logger } from "@webiny/logger";
1
+ import type { Table } from "@webiny/db-dynamodb/toolbox";
2
+ import type { Logger } from "@webiny/logger";
3
3
  export interface Tenant {
4
4
  data: {
5
5
  id: string;
@@ -1 +1 @@
1
- {"version":3,"names":["_","require","forEachTenantLocale","table","logger","callback","tenantEntity","createTenantEntity","tenants","queryAll","entity","partitionKey","options","index","gte","length","info","localeEntity","createLocaleEntity","tenant","locales","data","id","locale","result","tenantId","localeCode","code","exports"],"sources":["forEachTenantLocale.ts"],"sourcesContent":["import { createLocaleEntity, createTenantEntity, queryAll } from \"~/utils\";\nimport { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { Logger } from \"@webiny/logger\";\n\nexport interface Tenant {\n data: {\n id: string;\n name: string;\n };\n}\n\nexport interface I18NLocale {\n code: string;\n}\n\ntype ForEachTenantLocaleCallback = (params: {\n tenantId: string;\n localeCode: string;\n}) => boolean | Promise<boolean>;\n\ninterface ForEachTenantLocaleParams {\n table: Table<string, string, string>;\n logger: Logger;\n callback: ForEachTenantLocaleCallback;\n}\n\nexport const forEachTenantLocale = async ({\n table,\n logger,\n callback\n}: ForEachTenantLocaleParams) => {\n const tenantEntity = createTenantEntity(table);\n const tenants = await queryAll<Tenant>({\n entity: tenantEntity,\n partitionKey: \"TENANTS\",\n options: {\n index: \"GSI1\",\n gte: \" \"\n }\n });\n\n if (tenants.length === 0) {\n logger.info(`No tenants found in the system.`);\n return;\n }\n\n const localeEntity = createLocaleEntity(table);\n\n for (const tenant of tenants) {\n const locales = await queryAll<I18NLocale>({\n entity: localeEntity,\n partitionKey: `T#${tenant.data.id}#I18N#L`,\n options: {\n gte: \" \"\n }\n });\n\n if (locales.length === 0) {\n logger.info(`No locales found in tenant \"${tenant.data.id}\".`);\n continue;\n }\n\n for (const locale of locales) {\n const result = await callback({ tenantId: tenant.data.id, localeCode: locale.code });\n // For now, we only check if the return value is `false`. If so, we stop\n // iterating over the locales and tenants completely. If needed, we could\n // add more control over the iteration process.\n if (result === false) {\n return;\n }\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AA0BO,MAAMC,mBAAmB,GAAG,MAAAA,CAAO;EACtCC,KAAK;EACLC,MAAM;EACNC;AACuB,CAAC,KAAK;EAC7B,MAAMC,YAAY,GAAG,IAAAC,oBAAkB,EAACJ,KAAK,CAAC;EAC9C,MAAMK,OAAO,GAAG,MAAM,IAAAC,UAAQ,EAAS;IACnCC,MAAM,EAAEJ,YAAY;IACpBK,YAAY,EAAE,SAAS;IACvBC,OAAO,EAAE;MACLC,KAAK,EAAE,MAAM;MACbC,GAAG,EAAE;IACT;EACJ,CAAC,CAAC;EAEF,IAAIN,OAAO,CAACO,MAAM,KAAK,CAAC,EAAE;IACtBX,MAAM,CAACY,IAAI,CAAC,iCAAiC,CAAC;IAC9C;EACJ;EAEA,MAAMC,YAAY,GAAG,IAAAC,oBAAkB,EAACf,KAAK,CAAC;EAE9C,KAAK,MAAMgB,MAAM,IAAIX,OAAO,EAAE;IAC1B,MAAMY,OAAO,GAAG,MAAM,IAAAX,UAAQ,EAAa;MACvCC,MAAM,EAAEO,YAAY;MACpBN,YAAY,EAAE,KAAKQ,MAAM,CAACE,IAAI,CAACC,EAAE,SAAS;MAC1CV,OAAO,EAAE;QACLE,GAAG,EAAE;MACT;IACJ,CAAC,CAAC;IAEF,IAAIM,OAAO,CAACL,MAAM,KAAK,CAAC,EAAE;MACtBX,MAAM,CAACY,IAAI,CAAC,+BAA+BG,MAAM,CAACE,IAAI,CAACC,EAAE,IAAI,CAAC;MAC9D;IACJ;IAEA,KAAK,MAAMC,MAAM,IAAIH,OAAO,EAAE;MAC1B,MAAMI,MAAM,GAAG,MAAMnB,QAAQ,CAAC;QAAEoB,QAAQ,EAAEN,MAAM,CAACE,IAAI,CAACC,EAAE;QAAEI,UAAU,EAAEH,MAAM,CAACI;MAAK,CAAC,CAAC;MACpF;MACA;MACA;MACA,IAAIH,MAAM,KAAK,KAAK,EAAE;QAClB;MACJ;IACJ;EACJ;AACJ,CAAC;AAACI,OAAA,CAAA1B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_","require","forEachTenantLocale","table","logger","callback","tenantEntity","createTenantEntity","tenants","queryAll","entity","partitionKey","options","index","gte","length","info","localeEntity","createLocaleEntity","tenant","locales","data","id","locale","result","tenantId","localeCode","code","exports"],"sources":["forEachTenantLocale.ts"],"sourcesContent":["import { createLocaleEntity, createTenantEntity, queryAll } from \"~/utils\";\nimport type { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport type { Logger } from \"@webiny/logger\";\n\nexport interface Tenant {\n data: {\n id: string;\n name: string;\n };\n}\n\nexport interface I18NLocale {\n code: string;\n}\n\ntype ForEachTenantLocaleCallback = (params: {\n tenantId: string;\n localeCode: string;\n}) => boolean | Promise<boolean>;\n\ninterface ForEachTenantLocaleParams {\n table: Table<string, string, string>;\n logger: Logger;\n callback: ForEachTenantLocaleCallback;\n}\n\nexport const forEachTenantLocale = async ({\n table,\n logger,\n callback\n}: ForEachTenantLocaleParams) => {\n const tenantEntity = createTenantEntity(table);\n const tenants = await queryAll<Tenant>({\n entity: tenantEntity,\n partitionKey: \"TENANTS\",\n options: {\n index: \"GSI1\",\n gte: \" \"\n }\n });\n\n if (tenants.length === 0) {\n logger.info(`No tenants found in the system.`);\n return;\n }\n\n const localeEntity = createLocaleEntity(table);\n\n for (const tenant of tenants) {\n const locales = await queryAll<I18NLocale>({\n entity: localeEntity,\n partitionKey: `T#${tenant.data.id}#I18N#L`,\n options: {\n gte: \" \"\n }\n });\n\n if (locales.length === 0) {\n logger.info(`No locales found in tenant \"${tenant.data.id}\".`);\n continue;\n }\n\n for (const locale of locales) {\n const result = await callback({ tenantId: tenant.data.id, localeCode: locale.code });\n // For now, we only check if the return value is `false`. If so, we stop\n // iterating over the locales and tenants completely. If needed, we could\n // add more control over the iteration process.\n if (result === false) {\n return;\n }\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,CAAA,GAAAC,OAAA;AA0BO,MAAMC,mBAAmB,GAAG,MAAAA,CAAO;EACtCC,KAAK;EACLC,MAAM;EACNC;AACuB,CAAC,KAAK;EAC7B,MAAMC,YAAY,GAAG,IAAAC,oBAAkB,EAACJ,KAAK,CAAC;EAC9C,MAAMK,OAAO,GAAG,MAAM,IAAAC,UAAQ,EAAS;IACnCC,MAAM,EAAEJ,YAAY;IACpBK,YAAY,EAAE,SAAS;IACvBC,OAAO,EAAE;MACLC,KAAK,EAAE,MAAM;MACbC,GAAG,EAAE;IACT;EACJ,CAAC,CAAC;EAEF,IAAIN,OAAO,CAACO,MAAM,KAAK,CAAC,EAAE;IACtBX,MAAM,CAACY,IAAI,CAAC,iCAAiC,CAAC;IAC9C;EACJ;EAEA,MAAMC,YAAY,GAAG,IAAAC,oBAAkB,EAACf,KAAK,CAAC;EAE9C,KAAK,MAAMgB,MAAM,IAAIX,OAAO,EAAE;IAC1B,MAAMY,OAAO,GAAG,MAAM,IAAAX,UAAQ,EAAa;MACvCC,MAAM,EAAEO,YAAY;MACpBN,YAAY,EAAE,KAAKQ,MAAM,CAACE,IAAI,CAACC,EAAE,SAAS;MAC1CV,OAAO,EAAE;QACLE,GAAG,EAAE;MACT;IACJ,CAAC,CAAC;IAEF,IAAIM,OAAO,CAACL,MAAM,KAAK,CAAC,EAAE;MACtBX,MAAM,CAACY,IAAI,CAAC,+BAA+BG,MAAM,CAACE,IAAI,CAACC,EAAE,IAAI,CAAC;MAC9D;IACJ;IAEA,KAAK,MAAMC,MAAM,IAAIH,OAAO,EAAE;MAC1B,MAAMI,MAAM,GAAG,MAAMnB,QAAQ,CAAC;QAAEoB,QAAQ,EAAEN,MAAM,CAACE,IAAI,CAACC,EAAE;QAAEI,UAAU,EAAEH,MAAM,CAACI;MAAK,CAAC,CAAC;MACpF;MACA;MACA;MACA,IAAIH,MAAM,KAAK,KAAK,EAAE;QAClB;MACJ;IACJ;EACJ;AACJ,CAAC;AAACI,OAAA,CAAA1B,mBAAA,GAAAA,mBAAA","ignoreList":[]}