@webiny/migrations 0.0.0-unstable.2aaa1916d9

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 (93) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +1 -0
  3. package/ddb-es.d.ts +2 -0
  4. package/ddb-es.js +17 -0
  5. package/ddb-es.js.map +1 -0
  6. package/ddb.d.ts +2 -0
  7. package/ddb.js +17 -0
  8. package/ddb.js.map +1 -0
  9. package/migrations/5.43.0/001/constants.d.ts +2 -0
  10. package/migrations/5.43.0/001/constants.js +10 -0
  11. package/migrations/5.43.0/001/constants.js.map +1 -0
  12. package/migrations/5.43.0/001/ddb/index.d.ts +13 -0
  13. package/migrations/5.43.0/001/ddb/index.js +215 -0
  14. package/migrations/5.43.0/001/ddb/index.js.map +1 -0
  15. package/migrations/5.43.0/001/ddb-es/index.d.ts +16 -0
  16. package/migrations/5.43.0/001/ddb-es/index.js +257 -0
  17. package/migrations/5.43.0/001/ddb-es/index.js.map +1 -0
  18. package/migrations/5.43.0/001/entities/createEntryEntity.d.ts +91 -0
  19. package/migrations/5.43.0/001/entities/createEntryEntity.js +188 -0
  20. package/migrations/5.43.0/001/entities/createEntryEntity.js.map +1 -0
  21. package/migrations/5.43.0/001/types.d.ts +47 -0
  22. package/migrations/5.43.0/001/types.js +7 -0
  23. package/migrations/5.43.0/001/types.js.map +1 -0
  24. package/package.json +36 -0
  25. package/utils/createEntity.d.ts +90 -0
  26. package/utils/createEntity.js +67 -0
  27. package/utils/createEntity.js.map +1 -0
  28. package/utils/createLocaleEntity.d.ts +42 -0
  29. package/utils/createLocaleEntity.js +32 -0
  30. package/utils/createLocaleEntity.js.map +1 -0
  31. package/utils/createTenantEntity.d.ts +48 -0
  32. package/utils/createTenantEntity.js +13 -0
  33. package/utils/createTenantEntity.js.map +1 -0
  34. package/utils/dynamoDb.d.ts +4 -0
  35. package/utils/dynamoDb.js +62 -0
  36. package/utils/dynamoDb.js.map +1 -0
  37. package/utils/elasticsearch/disableEsIndexing.d.ts +9 -0
  38. package/utils/elasticsearch/disableEsIndexing.js +33 -0
  39. package/utils/elasticsearch/disableEsIndexing.js.map +1 -0
  40. package/utils/elasticsearch/esCreateIndex.d.ts +9 -0
  41. package/utils/elasticsearch/esCreateIndex.js +62 -0
  42. package/utils/elasticsearch/esCreateIndex.js.map +1 -0
  43. package/utils/elasticsearch/esFindOne.d.ts +8 -0
  44. package/utils/elasticsearch/esFindOne.js +27 -0
  45. package/utils/elasticsearch/esFindOne.js.map +1 -0
  46. package/utils/elasticsearch/esGetIndexExist.d.ts +9 -0
  47. package/utils/elasticsearch/esGetIndexExist.js +37 -0
  48. package/utils/elasticsearch/esGetIndexExist.js.map +1 -0
  49. package/utils/elasticsearch/esGetIndexName.d.ts +7 -0
  50. package/utils/elasticsearch/esGetIndexName.js +41 -0
  51. package/utils/elasticsearch/esGetIndexName.js.map +1 -0
  52. package/utils/elasticsearch/esGetIndexSettings.d.ts +7 -0
  53. package/utils/elasticsearch/esGetIndexSettings.js +32 -0
  54. package/utils/elasticsearch/esGetIndexSettings.js.map +1 -0
  55. package/utils/elasticsearch/esListIndexes.d.ts +6 -0
  56. package/utils/elasticsearch/esListIndexes.js +23 -0
  57. package/utils/elasticsearch/esListIndexes.js.map +1 -0
  58. package/utils/elasticsearch/esPutIndexSettings.d.ts +7 -0
  59. package/utils/elasticsearch/esPutIndexSettings.js +30 -0
  60. package/utils/elasticsearch/esPutIndexSettings.js.map +1 -0
  61. package/utils/elasticsearch/esQueryAll.d.ts +8 -0
  62. package/utils/elasticsearch/esQueryAll.js +26 -0
  63. package/utils/elasticsearch/esQueryAll.js.map +1 -0
  64. package/utils/elasticsearch/esQueryAllWithCallback.d.ts +10 -0
  65. package/utils/elasticsearch/esQueryAllWithCallback.js +45 -0
  66. package/utils/elasticsearch/esQueryAllWithCallback.js.map +1 -0
  67. package/utils/elasticsearch/fetchOriginalEsSettings.d.ts +12 -0
  68. package/utils/elasticsearch/fetchOriginalEsSettings.js +35 -0
  69. package/utils/elasticsearch/fetchOriginalEsSettings.js.map +1 -0
  70. package/utils/elasticsearch/index.d.ts +12 -0
  71. package/utils/elasticsearch/index.js +139 -0
  72. package/utils/elasticsearch/index.js.map +1 -0
  73. package/utils/elasticsearch/plugins/base.d.ts +3 -0
  74. package/utils/elasticsearch/plugins/base.js +12 -0
  75. package/utils/elasticsearch/plugins/base.js.map +1 -0
  76. package/utils/elasticsearch/plugins/index.d.ts +6 -0
  77. package/utils/elasticsearch/plugins/index.js +14 -0
  78. package/utils/elasticsearch/plugins/index.js.map +1 -0
  79. package/utils/elasticsearch/plugins/japanese.d.ts +4 -0
  80. package/utils/elasticsearch/plugins/japanese.js +13 -0
  81. package/utils/elasticsearch/plugins/japanese.js.map +1 -0
  82. package/utils/elasticsearch/restoreOriginalEsSettings.d.ts +14 -0
  83. package/utils/elasticsearch/restoreOriginalEsSettings.js +52 -0
  84. package/utils/elasticsearch/restoreOriginalEsSettings.js.map +1 -0
  85. package/utils/forEachTenantLocale.d.ts +22 -0
  86. package/utils/forEachTenantLocale.js +55 -0
  87. package/utils/forEachTenantLocale.js.map +1 -0
  88. package/utils/getCompressedData.d.ts +4 -0
  89. package/utils/getCompressedData.js +19 -0
  90. package/utils/getCompressedData.js.map +1 -0
  91. package/utils/index.d.ts +7 -0
  92. package/utils/index.js +84 -0
  93. package/utils/index.js.map +1 -0
@@ -0,0 +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 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":[]}
@@ -0,0 +1,91 @@
1
+ import type { Table } from "@webiny/db-dynamodb/toolbox";
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
+ PK: {
4
+ partitionKey: true;
5
+ };
6
+ SK: {
7
+ sortKey: true;
8
+ };
9
+ GSI1_PK: {
10
+ type: "string";
11
+ };
12
+ GSI1_SK: {
13
+ type: "string";
14
+ };
15
+ TYPE: {
16
+ type: "string";
17
+ };
18
+ }, {
19
+ PK: {
20
+ partitionKey: true;
21
+ };
22
+ SK: {
23
+ sortKey: true;
24
+ };
25
+ GSI1_PK: {
26
+ type: "string";
27
+ };
28
+ GSI1_SK: {
29
+ type: "string";
30
+ };
31
+ TYPE: {
32
+ type: "string";
33
+ };
34
+ }, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
35
+ [x: string]: any;
36
+ [x: number]: any;
37
+ [x: symbol]: any;
38
+ }, {
39
+ [x: string]: any;
40
+ [x: number]: any;
41
+ [x: symbol]: any;
42
+ }>;
43
+ export declare const createDdbEsEntryEntity: (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, {
44
+ PK: {
45
+ partitionKey: true;
46
+ };
47
+ SK: {
48
+ sortKey: true;
49
+ };
50
+ GSI1_PK: {
51
+ type: "string";
52
+ };
53
+ GSI1_SK: {
54
+ type: "string";
55
+ };
56
+ TYPE: {
57
+ type: "string";
58
+ };
59
+ data: {
60
+ type: "map"; /**
61
+ * Entry-level meta fields. 👇
62
+ */
63
+ };
64
+ }, {
65
+ PK: {
66
+ partitionKey: true;
67
+ };
68
+ SK: {
69
+ sortKey: true;
70
+ };
71
+ GSI1_PK: {
72
+ type: "string";
73
+ };
74
+ GSI1_SK: {
75
+ type: "string";
76
+ };
77
+ TYPE: {
78
+ type: "string";
79
+ };
80
+ data: {
81
+ type: "map";
82
+ };
83
+ }, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
84
+ [x: string]: any;
85
+ [x: number]: any;
86
+ [x: symbol]: any;
87
+ }, {
88
+ [x: string]: any;
89
+ [x: number]: any;
90
+ [x: symbol]: any;
91
+ }>;
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createDdbEsEntryEntity = exports.createDdbEntryEntity = void 0;
7
+ var _utils = require("../../../../utils");
8
+ const ddbAttributes = {
9
+ PK: {
10
+ type: "string",
11
+ partitionKey: true
12
+ },
13
+ SK: {
14
+ type: "string",
15
+ sortKey: true
16
+ },
17
+ GSI1_PK: {
18
+ type: "string"
19
+ },
20
+ GSI1_SK: {
21
+ type: "string"
22
+ },
23
+ TYPE: {
24
+ type: "string"
25
+ },
26
+ __type: {
27
+ type: "string"
28
+ },
29
+ webinyVersion: {
30
+ type: "string"
31
+ },
32
+ tenant: {
33
+ type: "string"
34
+ },
35
+ entryId: {
36
+ type: "string"
37
+ },
38
+ id: {
39
+ type: "string"
40
+ },
41
+ modelId: {
42
+ type: "string"
43
+ },
44
+ locale: {
45
+ type: "string"
46
+ },
47
+ /**
48
+ * Revision-level meta fields. 👇
49
+ */
50
+ revisionCreatedOn: {
51
+ type: "string"
52
+ },
53
+ revisionSavedOn: {
54
+ type: "string"
55
+ },
56
+ revisionModifiedOn: {
57
+ type: "string"
58
+ },
59
+ revisionDeletedOn: {
60
+ type: "string"
61
+ },
62
+ revisionRestoredOn: {
63
+ type: "string"
64
+ },
65
+ revisionFirstPublishedOn: {
66
+ type: "string"
67
+ },
68
+ revisionLastPublishedOn: {
69
+ type: "string"
70
+ },
71
+ revisionCreatedBy: {
72
+ type: "map"
73
+ },
74
+ revisionSavedBy: {
75
+ type: "map"
76
+ },
77
+ revisionModifiedBy: {
78
+ type: "map"
79
+ },
80
+ revisionDeletedBy: {
81
+ type: "map"
82
+ },
83
+ revisionRestoredBy: {
84
+ type: "map"
85
+ },
86
+ revisionFirstPublishedBy: {
87
+ type: "map"
88
+ },
89
+ revisionLastPublishedBy: {
90
+ type: "map"
91
+ },
92
+ /**
93
+ * Entry-level meta fields. 👇
94
+ */
95
+ createdOn: {
96
+ type: "string"
97
+ },
98
+ savedOn: {
99
+ type: "string"
100
+ },
101
+ modifiedOn: {
102
+ type: "string"
103
+ },
104
+ deletedOn: {
105
+ type: "string"
106
+ },
107
+ restoredOn: {
108
+ type: "string"
109
+ },
110
+ firstPublishedOn: {
111
+ type: "string"
112
+ },
113
+ lastPublishedOn: {
114
+ type: "string"
115
+ },
116
+ createdBy: {
117
+ type: "map"
118
+ },
119
+ savedBy: {
120
+ type: "map"
121
+ },
122
+ modifiedBy: {
123
+ type: "map"
124
+ },
125
+ deletedBy: {
126
+ type: "map"
127
+ },
128
+ restoredBy: {
129
+ type: "map"
130
+ },
131
+ firstPublishedBy: {
132
+ type: "map"
133
+ },
134
+ lastPublishedBy: {
135
+ type: "map"
136
+ },
137
+ // Deprecated fields.
138
+ ownedBy: {
139
+ type: "map"
140
+ },
141
+ publishedOn: {
142
+ type: "string"
143
+ },
144
+ version: {
145
+ type: "number"
146
+ },
147
+ locked: {
148
+ type: "boolean"
149
+ },
150
+ status: {
151
+ type: "string"
152
+ },
153
+ values: {
154
+ type: "map"
155
+ },
156
+ meta: {
157
+ type: "map"
158
+ },
159
+ location: {
160
+ type: "map"
161
+ }
162
+ };
163
+ const ddbEsAttributes = {
164
+ PK: {
165
+ type: "string",
166
+ partitionKey: true
167
+ },
168
+ SK: {
169
+ type: "string",
170
+ sortKey: true
171
+ },
172
+ index: {
173
+ type: "string"
174
+ },
175
+ data: {
176
+ type: "map"
177
+ }
178
+ };
179
+ const createDdbEntryEntity = table => {
180
+ return (0, _utils.createLegacyEntity)(table, "CmsEntries", ddbAttributes);
181
+ };
182
+ exports.createDdbEntryEntity = createDdbEntryEntity;
183
+ const createDdbEsEntryEntity = table => {
184
+ return (0, _utils.createStandardEntity)(table, "CmsEntriesElasticsearch", ddbEsAttributes);
185
+ };
186
+ exports.createDdbEsEntryEntity = createDdbEsEntryEntity;
187
+
188
+ //# sourceMappingURL=createEntryEntity.js.map
@@ -0,0 +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 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":[]}
@@ -0,0 +1,47 @@
1
+ export interface Tenant {
2
+ data: {
3
+ id: string;
4
+ name: string;
5
+ };
6
+ }
7
+ export interface I18NLocale {
8
+ code: string;
9
+ }
10
+ export interface Identity {
11
+ id: string;
12
+ displayName: string | null;
13
+ type: string;
14
+ }
15
+ export interface CmsEntryValues {
16
+ [key: string]: any;
17
+ }
18
+ export type CmsEntryStatus = "published" | "unpublished" | "draft";
19
+ export interface CmsEntry<TValues = CmsEntryValues> {
20
+ webinyVersion: string;
21
+ tenant: string;
22
+ entryId: string;
23
+ id: string;
24
+ createdBy: Identity;
25
+ ownedBy: Identity;
26
+ modifiedBy?: Identity | null;
27
+ createdOn: string;
28
+ savedOn: string;
29
+ modelId: string;
30
+ locale: string;
31
+ publishedOn?: string;
32
+ version: number;
33
+ locked: boolean;
34
+ status: CmsEntryStatus;
35
+ values: TValues;
36
+ meta?: {
37
+ [key: string]: any;
38
+ };
39
+ }
40
+ export interface TaskEntryEventPayload {
41
+ tenant: string;
42
+ locale: string;
43
+ id: string;
44
+ definitionId: string;
45
+ name: string;
46
+ input: Record<string, any>;
47
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export interface Tenant {\n data: {\n id: string;\n name: string;\n };\n}\n\nexport interface I18NLocale {\n code: string;\n}\n\nexport interface Identity {\n id: string;\n displayName: string | null;\n type: string;\n}\n\nexport interface CmsEntryValues {\n [key: string]: any;\n}\n\nexport type CmsEntryStatus = \"published\" | \"unpublished\" | \"draft\";\n\nexport interface CmsEntry<TValues = CmsEntryValues> {\n webinyVersion: string;\n tenant: string;\n entryId: string;\n id: string;\n createdBy: Identity;\n ownedBy: Identity;\n modifiedBy?: Identity | null;\n createdOn: string;\n savedOn: string;\n modelId: string;\n locale: string;\n publishedOn?: string;\n version: number;\n locked: boolean;\n status: CmsEntryStatus;\n values: TValues;\n meta?: {\n [key: string]: any;\n };\n}\n\nexport interface TaskEntryEventPayload {\n tenant: string;\n locale: string;\n id: string;\n definitionId: string;\n name: string;\n input: Record<string, any>;\n}\n"],"mappings":"","ignoreList":[]}
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@webiny/migrations",
3
+ "version": "0.0.0-unstable.2aaa1916d9",
4
+ "scripts": {
5
+ "build": "node ../cli/bin.js run build",
6
+ "watch": "node ../cli/bin.js run watch"
7
+ },
8
+ "dependencies": {
9
+ "@elastic/elasticsearch": "7.12.0",
10
+ "@webiny/api-elasticsearch": "0.0.0-unstable.2aaa1916d9",
11
+ "@webiny/aws-sdk": "0.0.0-unstable.2aaa1916d9",
12
+ "@webiny/data-migration": "0.0.0-unstable.2aaa1916d9",
13
+ "@webiny/db-dynamodb": "0.0.0-unstable.2aaa1916d9",
14
+ "@webiny/error": "0.0.0-unstable.2aaa1916d9",
15
+ "@webiny/ioc": "0.0.0-unstable.2aaa1916d9",
16
+ "@webiny/logger": "0.0.0-unstable.2aaa1916d9",
17
+ "@webiny/tasks": "0.0.0-unstable.2aaa1916d9",
18
+ "@webiny/utils": "0.0.0-unstable.2aaa1916d9",
19
+ "lodash": "4.17.21"
20
+ },
21
+ "publishConfig": {
22
+ "access": "public",
23
+ "directory": "dist"
24
+ },
25
+ "devDependencies": {
26
+ "@webiny/api-headless-cms": "0.0.0-unstable.2aaa1916d9",
27
+ "@webiny/api-headless-cms-ddb-es": "0.0.0-unstable.2aaa1916d9",
28
+ "@webiny/handler-aws": "0.0.0-unstable.2aaa1916d9",
29
+ "@webiny/plugins": "0.0.0-unstable.2aaa1916d9",
30
+ "@webiny/project-utils": "0.0.0-unstable.2aaa1916d9",
31
+ "elastic-ts": "0.12.0",
32
+ "jest-dynalite": "3.6.1",
33
+ "typescript": "5.3.3"
34
+ },
35
+ "gitHead": "2aaa1916d95b4fb2aa0cc2543f60934c2f3d969c"
36
+ }
@@ -0,0 +1,90 @@
1
+ import type { AttributeDefinitions, Table } from "@webiny/db-dynamodb/toolbox";
2
+ import { Entity } from "@webiny/db-dynamodb/toolbox";
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, {
4
+ PK: {
5
+ partitionKey: true;
6
+ };
7
+ SK: {
8
+ sortKey: true;
9
+ };
10
+ GSI1_PK: {
11
+ type: "string";
12
+ };
13
+ GSI1_SK: {
14
+ type: "string";
15
+ };
16
+ TYPE: {
17
+ type: "string";
18
+ };
19
+ }, {
20
+ PK: {
21
+ partitionKey: true;
22
+ };
23
+ SK: {
24
+ sortKey: true;
25
+ };
26
+ GSI1_PK: {
27
+ type: "string";
28
+ };
29
+ GSI1_SK: {
30
+ type: "string";
31
+ };
32
+ TYPE: {
33
+ type: "string";
34
+ };
35
+ }, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
36
+ [x: string]: any;
37
+ [x: number]: any;
38
+ [x: symbol]: any;
39
+ }, {
40
+ [x: string]: any;
41
+ [x: number]: any;
42
+ [x: symbol]: any;
43
+ }>;
44
+ export declare const createStandardEntity: (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, {
45
+ PK: {
46
+ partitionKey: true;
47
+ };
48
+ SK: {
49
+ sortKey: true;
50
+ };
51
+ GSI1_PK: {
52
+ type: "string";
53
+ };
54
+ GSI1_SK: {
55
+ type: "string";
56
+ };
57
+ TYPE: {
58
+ type: "string";
59
+ };
60
+ data: {
61
+ type: "map";
62
+ };
63
+ }, {
64
+ PK: {
65
+ partitionKey: true;
66
+ };
67
+ SK: {
68
+ sortKey: true;
69
+ };
70
+ GSI1_PK: {
71
+ type: "string";
72
+ };
73
+ GSI1_SK: {
74
+ type: "string";
75
+ };
76
+ TYPE: {
77
+ type: "string";
78
+ };
79
+ data: {
80
+ type: "map";
81
+ };
82
+ }, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
83
+ [x: string]: any;
84
+ [x: number]: any;
85
+ [x: symbol]: any;
86
+ }, {
87
+ [x: string]: any;
88
+ [x: number]: any;
89
+ [x: symbol]: any;
90
+ }>;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createStandardEntity = exports.createLegacyEntity = void 0;
7
+ var _toolbox = require("@webiny/db-dynamodb/toolbox");
8
+ const createLegacyEntity = (table, entityName, attributes) => {
9
+ return new _toolbox.Entity({
10
+ table,
11
+ name: entityName,
12
+ attributes: {
13
+ PK: {
14
+ partitionKey: true
15
+ },
16
+ SK: {
17
+ sortKey: true
18
+ },
19
+ GSI1_PK: {
20
+ type: "string"
21
+ },
22
+ GSI1_SK: {
23
+ type: "string"
24
+ },
25
+ TYPE: {
26
+ type: "string"
27
+ },
28
+ ...(attributes || {})
29
+ },
30
+ autoExecute: true,
31
+ autoParse: true
32
+ });
33
+ };
34
+ exports.createLegacyEntity = createLegacyEntity;
35
+ const createStandardEntity = (table, entityName, attributes = {}) => {
36
+ return new _toolbox.Entity({
37
+ table,
38
+ name: entityName,
39
+ attributes: {
40
+ PK: {
41
+ partitionKey: true
42
+ },
43
+ SK: {
44
+ sortKey: true
45
+ },
46
+ GSI1_PK: {
47
+ type: "string"
48
+ },
49
+ GSI1_SK: {
50
+ type: "string"
51
+ },
52
+ TYPE: {
53
+ type: "string"
54
+ },
55
+ data: {
56
+ type: "map"
57
+ },
58
+ // When moving attributes to `data` envelope, we need to keep the old attributes in place for 1 version.
59
+ ...attributes
60
+ },
61
+ autoExecute: true,
62
+ autoParse: true
63
+ });
64
+ };
65
+ exports.createStandardEntity = createStandardEntity;
66
+
67
+ //# sourceMappingURL=createEntity.js.map
@@ -0,0 +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 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":[]}
@@ -0,0 +1,42 @@
1
+ import type { Table } from "@webiny/db-dynamodb/toolbox";
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
+ PK: {
4
+ partitionKey: true;
5
+ };
6
+ SK: {
7
+ sortKey: true;
8
+ };
9
+ GSI1_PK: {
10
+ type: "string";
11
+ };
12
+ GSI1_SK: {
13
+ type: "string";
14
+ };
15
+ TYPE: {
16
+ type: "string";
17
+ };
18
+ }, {
19
+ PK: {
20
+ partitionKey: true;
21
+ };
22
+ SK: {
23
+ sortKey: true;
24
+ };
25
+ GSI1_PK: {
26
+ type: "string";
27
+ };
28
+ GSI1_SK: {
29
+ type: "string";
30
+ };
31
+ TYPE: {
32
+ type: "string";
33
+ };
34
+ }, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
35
+ [x: string]: any;
36
+ [x: number]: any;
37
+ [x: symbol]: any;
38
+ }, {
39
+ [x: string]: any;
40
+ [x: number]: any;
41
+ [x: symbol]: any;
42
+ }>;