@webiny/api-headless-cms-utils-os 0.0.0-unstable.0d717d18dd → 6.6.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.
- package/configurations.d.ts +8 -9
- package/configurations.js +15 -22
- package/configurations.js.map +1 -1
- package/exports/api/cms/opensearch.d.ts +1 -0
- package/exports/api/cms/opensearch.js +1 -0
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.d.ts +1 -1
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js +1 -1
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.js +3 -4
- package/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.js.map +1 -1
- package/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.js +3 -4
- package/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.js.map +1 -1
- package/features/CmsEntryOpenSearchUtilsFeature.js +2 -0
- package/features/CmsEntryOpenSearchUtilsFeature.js.map +1 -1
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.d.ts +8 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.js +17 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.js.map +1 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.d.ts +12 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.js +35 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.js.map +1 -0
- package/features/CmsModelOpenSearchIndex/feature.d.ts +4 -0
- package/features/CmsModelOpenSearchIndex/feature.js +13 -0
- package/features/CmsModelOpenSearchIndex/feature.js.map +1 -0
- package/features/CmsModelOpenSearchIndex/index.d.ts +3 -0
- package/features/CmsModelOpenSearchIndex/index.js +3 -0
- package/package.json +6 -6
- package/testing/createTestModelIndexName.d.ts +3 -0
- package/testing/createTestModelIndexName.js +11 -0
- package/testing/createTestModelIndexName.js.map +1 -0
- package/testing/index.d.ts +1 -0
- package/testing/index.js +1 -0
package/configurations.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { StorageCmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
2
|
+
import type { CmsModelOpenSearchIndexProvider, ICmsModelOpenSearchIndexProviderResult } from "./features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js";
|
|
3
|
+
export interface CmsElasticsearchParams {
|
|
4
|
+
model: StorageCmsModel;
|
|
5
|
+
}
|
|
6
|
+
export interface Configurations {
|
|
7
|
+
es: (params: CmsElasticsearchParams) => Promise<ICmsModelOpenSearchIndexProviderResult>;
|
|
8
|
+
}
|
|
9
|
+
export declare const createConfigurations: (provider: CmsModelOpenSearchIndexProvider.Interface) => Configurations;
|
package/configurations.js
CHANGED
|
@@ -1,24 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
index: prefix ? prefix + index : index,
|
|
17
|
-
settings: getBaseConfiguration(),
|
|
18
|
-
shared
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
export { configurations };
|
|
1
|
+
import { getOpenSearchIndexPrefix } from "@webiny/api-opensearch";
|
|
2
|
+
const createConfigurations = (provider)=>({
|
|
3
|
+
async es ({ model }) {
|
|
4
|
+
const result = await provider.execute({
|
|
5
|
+
model
|
|
6
|
+
});
|
|
7
|
+
const prefix = getOpenSearchIndexPrefix();
|
|
8
|
+
if (!prefix) return result;
|
|
9
|
+
return {
|
|
10
|
+
...result,
|
|
11
|
+
index: prefix + result.index
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
export { createConfigurations };
|
|
23
16
|
|
|
24
17
|
//# sourceMappingURL=configurations.js.map
|
package/configurations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurations.js","sources":["../src/configurations.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"configurations.js","sources":["../src/configurations.ts"],"sourcesContent":["import { getOpenSearchIndexPrefix } from \"@webiny/api-opensearch\";\nimport type { StorageCmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type {\n CmsModelOpenSearchIndexProvider,\n ICmsModelOpenSearchIndexProviderResult\n} from \"./features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js\";\n\nexport interface CmsElasticsearchParams {\n model: StorageCmsModel;\n}\n\nexport interface Configurations {\n es: (params: CmsElasticsearchParams) => Promise<ICmsModelOpenSearchIndexProviderResult>;\n}\n\nexport const createConfigurations = (\n provider: CmsModelOpenSearchIndexProvider.Interface\n): Configurations => ({\n async es({ model }) {\n const result = await provider.execute({ model });\n\n const prefix = getOpenSearchIndexPrefix();\n\n if (!prefix) {\n return result;\n }\n return {\n ...result,\n index: prefix + result.index\n };\n }\n});\n"],"names":["createConfigurations","provider","model","result","prefix","getOpenSearchIndexPrefix"],"mappings":";AAeO,MAAMA,uBAAuB,CAChCC,WACkB;QAClB,MAAM,IAAG,EAAEC,KAAK,EAAE;YACd,MAAMC,SAAS,MAAMF,SAAS,OAAO,CAAC;gBAAEC;YAAM;YAE9C,MAAME,SAASC;YAEf,IAAI,CAACD,QACD,OAAOD;YAEX,OAAO;gBACH,GAAGA,MAAM;gBACT,OAAOC,SAASD,OAAO,KAAK;YAChC;QACJ;IACJ"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { CmsModelOpenSearchIndexProvider, CmsModelOpenSearchIndex } from "../../../features/CmsModelOpenSearchIndex/index.js";
|
|
1
2
|
export { CmsEntryOpenSearchUtilsFeature } from "../../../features/CmsEntryOpenSearchUtilsFeature.js";
|
|
2
3
|
export { CmsEntryOpenSearchFieldIndexRegistry, CmsEntryOpenSearchFieldIndex } from "../../../features/CmsEntryOpenSearchFieldIndex/index.js";
|
|
3
4
|
export { CmsEntryOpenSearchFilterRegistry, CmsEntryOpenSearchFilter } from "../../../features/CmsEntryOpenSearchFilter/index.js";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { CmsModelOpenSearchIndex, CmsModelOpenSearchIndexProvider } from "../../../features/CmsModelOpenSearchIndex/index.js";
|
|
1
2
|
export { CmsEntryOpenSearchUtilsFeature } from "../../../features/CmsEntryOpenSearchUtilsFeature.js";
|
|
2
3
|
export { CmsEntryOpenSearchFieldIndex, CmsEntryOpenSearchFieldIndexRegistry } from "../../../features/CmsEntryOpenSearchFieldIndex/index.js";
|
|
3
4
|
export { CmsEntryOpenSearchFilter, CmsEntryOpenSearchFilterRegistry } from "../../../features/CmsEntryOpenSearchFilter/index.js";
|
|
@@ -3,7 +3,7 @@ import type { OpenSearchIndexRequestBody } from "@webiny/api-opensearch/types.js
|
|
|
3
3
|
declare class BaseOpenSearchIndexImpl implements CmsEntryOpenSearchIndex.Interface {
|
|
4
4
|
readonly body: OpenSearchIndexRequestBody;
|
|
5
5
|
constructor();
|
|
6
|
-
canUse(
|
|
6
|
+
canUse(): boolean;
|
|
7
7
|
}
|
|
8
8
|
export declare const BaseOpenSearchIndex: typeof BaseOpenSearchIndexImpl & {
|
|
9
9
|
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICmsEntryOpenSearchIndex>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js","sources":["../../../src/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.ts"],"sourcesContent":["import { getBaseConfiguration } from \"@webiny/api-opensearch\";\nimport { CmsEntryOpenSearchIndex } from \"./abstractions.js\";\nimport type { OpenSearchIndexRequestBody } from \"@webiny/api-opensearch/types.js\";\n\nclass BaseOpenSearchIndexImpl implements CmsEntryOpenSearchIndex.Interface {\n public readonly body: OpenSearchIndexRequestBody;\n\n public constructor() {\n this.body = getBaseConfiguration();\n }\n public canUse(
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js","sources":["../../../src/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.ts"],"sourcesContent":["import { getBaseConfiguration } from \"@webiny/api-opensearch\";\nimport { CmsEntryOpenSearchIndex } from \"./abstractions.js\";\nimport type { OpenSearchIndexRequestBody } from \"@webiny/api-opensearch/types.js\";\n\nclass BaseOpenSearchIndexImpl implements CmsEntryOpenSearchIndex.Interface {\n public readonly body: OpenSearchIndexRequestBody;\n\n public constructor() {\n this.body = getBaseConfiguration();\n }\n public canUse(): boolean {\n return true;\n }\n}\n\nexport const BaseOpenSearchIndex = CmsEntryOpenSearchIndex.createImplementation({\n implementation: BaseOpenSearchIndexImpl,\n dependencies: []\n});\n"],"names":["BaseOpenSearchIndexImpl","getBaseConfiguration","BaseOpenSearchIndex","CmsEntryOpenSearchIndex"],"mappings":";;AAIA,MAAMA;IAGF,aAAqB;QACjB,IAAI,CAAC,IAAI,GAAGC;IAChB;IACO,SAAkB;QACrB,OAAO;IACX;AACJ;AAEO,MAAMC,sBAAsBC,wBAAwB,oBAAoB,CAAC;IAC5E,gBAAgBH;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -2,7 +2,7 @@ import error from "@webiny/error";
|
|
|
2
2
|
import { OpenSearchClient } from "@webiny/api-opensearch/exports/api/opensearch.js";
|
|
3
3
|
import { CmsModelOpenSearchIndexProvider } from "../CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js";
|
|
4
4
|
import { CmsEntryOpenSearchIndexCreate } from "./abstractions.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createConfigurations } from "../../configurations.js";
|
|
6
6
|
class CmsEntryOpenSearchIndexCreateImpl {
|
|
7
7
|
constructor(openSearchClient, indexProvider){
|
|
8
8
|
this.openSearchClient = openSearchClient;
|
|
@@ -11,11 +11,10 @@ class CmsEntryOpenSearchIndexCreateImpl {
|
|
|
11
11
|
async execute(params) {
|
|
12
12
|
const { model } = params;
|
|
13
13
|
const client = this.openSearchClient.use();
|
|
14
|
-
const
|
|
14
|
+
const configurations = createConfigurations(this.indexProvider);
|
|
15
|
+
const { index, settings } = await configurations.es({
|
|
15
16
|
model
|
|
16
17
|
});
|
|
17
|
-
const prefix = getOpenSearchIndexPrefix();
|
|
18
|
-
const index = prefix ? prefix + rawIndex : rawIndex;
|
|
19
18
|
try {
|
|
20
19
|
const response = await client.indices.exists({
|
|
21
20
|
index,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.js","sources":["../../../src/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { OpenSearchClient } from \"@webiny/api-opensearch/exports/api/opensearch.js\";\nimport { CmsModelOpenSearchIndexProvider } from \"~/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js\";\nimport { CmsEntryOpenSearchIndexCreate as CmsEntryOpenSearchIndexCreateAbstraction } from \"./abstractions.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.js","sources":["../../../src/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { OpenSearchClient } from \"@webiny/api-opensearch/exports/api/opensearch.js\";\nimport { CmsModelOpenSearchIndexProvider } from \"~/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js\";\nimport { CmsEntryOpenSearchIndexCreate as CmsEntryOpenSearchIndexCreateAbstraction } from \"./abstractions.js\";\nimport { createConfigurations } from \"~/configurations.js\";\n\nclass CmsEntryOpenSearchIndexCreateImpl\n implements CmsEntryOpenSearchIndexCreateAbstraction.Interface\n{\n public constructor(\n private readonly openSearchClient: OpenSearchClient.Interface,\n private readonly indexProvider: CmsModelOpenSearchIndexProvider.Interface\n ) {}\n\n public async execute(params: CmsEntryOpenSearchIndexCreateAbstraction.Params): Promise<void> {\n const { model } = params;\n const client = this.openSearchClient.use();\n\n const configurations = createConfigurations(this.indexProvider);\n const { index, settings } = await configurations.es({ model });\n\n try {\n const response = await client.indices.exists({\n index,\n ignore_unavailable: false,\n allow_no_indices: true,\n include_defaults: true,\n flat_settings: false,\n local: false\n });\n if (response.body) {\n console.log(\n `Elasticsearch index \"${index}\" for the CMS model \"${model.name}\" already exists.`\n );\n return;\n }\n } catch {\n console.error(`Could not determine if the index \"${index}\" exists.`);\n }\n\n try {\n await client.indices.create({\n index,\n body: {\n ...settings\n }\n });\n } catch (ex) {\n console.error(\n `Could not create Elasticsearch index \"${index}\" for the CMS model \"${model.name}\".`\n );\n console.error(ex);\n throw new WebinyError(\n ex.message || \"Could not create OpenSearch index for the CMS entry.\",\n ex.code || \"CREATE_OPENSEARCH_INDEX_ERROR\",\n {\n error: {\n ...ex,\n message: ex.message,\n code: ex.code,\n data: ex.data\n },\n tenant: model.tenant,\n index,\n body: settings\n }\n );\n }\n }\n}\n\nexport const CmsEntryOpenSearchIndexCreate =\n CmsEntryOpenSearchIndexCreateAbstraction.createImplementation({\n implementation: CmsEntryOpenSearchIndexCreateImpl,\n dependencies: [OpenSearchClient, CmsModelOpenSearchIndexProvider]\n });\n"],"names":["CmsEntryOpenSearchIndexCreateImpl","openSearchClient","indexProvider","params","model","client","configurations","createConfigurations","index","settings","response","console","ex","WebinyError","CmsEntryOpenSearchIndexCreate","CmsEntryOpenSearchIndexCreateAbstraction","OpenSearchClient","CmsModelOpenSearchIndexProvider"],"mappings":";;;;;AAMA,MAAMA;IAGF,YACqBC,gBAA4C,EAC5CC,aAAwD,CAC3E;aAFmBD,gBAAgB,GAAhBA;aACAC,aAAa,GAAbA;IAClB;IAEH,MAAa,QAAQC,MAAuD,EAAiB;QACzF,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,MAAME,SAAS,IAAI,CAAC,gBAAgB,CAAC,GAAG;QAExC,MAAMC,iBAAiBC,qBAAqB,IAAI,CAAC,aAAa;QAC9D,MAAM,EAAEC,KAAK,EAAEC,QAAQ,EAAE,GAAG,MAAMH,eAAe,EAAE,CAAC;YAAEF;QAAM;QAE5D,IAAI;YACA,MAAMM,WAAW,MAAML,OAAO,OAAO,CAAC,MAAM,CAAC;gBACzCG;gBACA,oBAAoB;gBACpB,kBAAkB;gBAClB,kBAAkB;gBAClB,eAAe;gBACf,OAAO;YACX;YACA,IAAIE,SAAS,IAAI,EAAE,YACfC,QAAQ,GAAG,CACP,CAAC,qBAAqB,EAAEH,MAAM,qBAAqB,EAAEJ,MAAM,IAAI,CAAC,iBAAiB,CAAC;QAI9F,EAAE,OAAM;YACJO,QAAQ,KAAK,CAAC,CAAC,kCAAkC,EAAEH,MAAM,SAAS,CAAC;QACvE;QAEA,IAAI;YACA,MAAMH,OAAO,OAAO,CAAC,MAAM,CAAC;gBACxBG;gBACA,MAAM;oBACF,GAAGC,QAAQ;gBACf;YACJ;QACJ,EAAE,OAAOG,IAAI;YACTD,QAAQ,KAAK,CACT,CAAC,sCAAsC,EAAEH,MAAM,qBAAqB,EAAEJ,MAAM,IAAI,CAAC,EAAE,CAAC;YAExFO,QAAQ,KAAK,CAACC;YACd,MAAM,IAAIC,MACND,GAAG,OAAO,IAAI,wDACdA,GAAG,IAAI,IAAI,iCACX;gBACI,OAAO;oBACH,GAAGA,EAAE;oBACL,SAASA,GAAG,OAAO;oBACnB,MAAMA,GAAG,IAAI;oBACb,MAAMA,GAAG,IAAI;gBACjB;gBACA,QAAQR,MAAM,MAAM;gBACpBI;gBACA,MAAMC;YACV;QAER;IACJ;AACJ;AAEO,MAAMK,8DACTC,8BAAAA,oBAA6D,CAAC;IAC1D,gBAAgBf;IAChB,cAAc;QAACgB;QAAkBC;KAAgC;AACrE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OpenSearchClient } from "@webiny/api-opensearch/exports/api/opensearch.js";
|
|
2
2
|
import { CmsModelOpenSearchIndexProvider } from "../CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js";
|
|
3
3
|
import { CmsEntryOpenSearchIndexDelete } from "./abstractions.js";
|
|
4
|
-
import {
|
|
4
|
+
import { createConfigurations } from "../../configurations.js";
|
|
5
5
|
class CmsEntryOpenSearchIndexDeleteImpl {
|
|
6
6
|
constructor(openSearchClient, indexProvider){
|
|
7
7
|
this.openSearchClient = openSearchClient;
|
|
@@ -9,12 +9,11 @@ class CmsEntryOpenSearchIndexDeleteImpl {
|
|
|
9
9
|
}
|
|
10
10
|
async execute(params) {
|
|
11
11
|
const { model } = params;
|
|
12
|
-
const
|
|
12
|
+
const configurations = createConfigurations(this.indexProvider);
|
|
13
|
+
const { index, shared } = await configurations.es({
|
|
13
14
|
model
|
|
14
15
|
});
|
|
15
16
|
if (shared) return;
|
|
16
|
-
const prefix = getOpenSearchIndexPrefix();
|
|
17
|
-
const index = prefix ? prefix + rawIndex : rawIndex;
|
|
18
17
|
const client = this.openSearchClient.use();
|
|
19
18
|
const { body: exists } = await client.indices.exists({
|
|
20
19
|
index
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.js","sources":["../../../src/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.ts"],"sourcesContent":["import { OpenSearchClient } from \"@webiny/api-opensearch/exports/api/opensearch.js\";\nimport { CmsModelOpenSearchIndexProvider } from \"~/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js\";\nimport { CmsEntryOpenSearchIndexDelete as CmsEntryOpenSearchIndexDeleteAbstraction } from \"./abstractions.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.js","sources":["../../../src/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.ts"],"sourcesContent":["import { OpenSearchClient } from \"@webiny/api-opensearch/exports/api/opensearch.js\";\nimport { CmsModelOpenSearchIndexProvider } from \"~/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js\";\nimport { CmsEntryOpenSearchIndexDelete as CmsEntryOpenSearchIndexDeleteAbstraction } from \"./abstractions.js\";\nimport { createConfigurations } from \"~/configurations.js\";\n\nclass CmsEntryOpenSearchIndexDeleteImpl\n implements CmsEntryOpenSearchIndexDeleteAbstraction.Interface\n{\n public constructor(\n private readonly openSearchClient: OpenSearchClient.Interface,\n private readonly indexProvider: CmsModelOpenSearchIndexProvider.Interface\n ) {}\n\n public async execute(params: CmsEntryOpenSearchIndexDeleteAbstraction.Params): Promise<void> {\n const { model } = params;\n\n const configurations = createConfigurations(this.indexProvider);\n const { index, shared } = await configurations.es({ model });\n if (shared) {\n return;\n }\n const client = this.openSearchClient.use();\n\n const { body: exists } = await client.indices.exists({ index });\n if (!exists) {\n return;\n }\n\n try {\n await client.indices.delete({\n index,\n ignore_unavailable: true\n });\n } catch (ex) {\n console.log(`Could not delete Elasticsearch index \"${index}\". Please do it manually.`);\n console.log(ex.message);\n }\n }\n}\n\nexport const CmsEntryOpenSearchIndexDelete =\n CmsEntryOpenSearchIndexDeleteAbstraction.createImplementation({\n implementation: CmsEntryOpenSearchIndexDeleteImpl,\n dependencies: [OpenSearchClient, CmsModelOpenSearchIndexProvider]\n });\n"],"names":["CmsEntryOpenSearchIndexDeleteImpl","openSearchClient","indexProvider","params","model","configurations","createConfigurations","index","shared","client","exists","ex","console","CmsEntryOpenSearchIndexDelete","CmsEntryOpenSearchIndexDeleteAbstraction","OpenSearchClient","CmsModelOpenSearchIndexProvider"],"mappings":";;;;AAKA,MAAMA;IAGF,YACqBC,gBAA4C,EAC5CC,aAAwD,CAC3E;aAFmBD,gBAAgB,GAAhBA;aACAC,aAAa,GAAbA;IAClB;IAEH,MAAa,QAAQC,MAAuD,EAAiB;QACzF,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAElB,MAAME,iBAAiBC,qBAAqB,IAAI,CAAC,aAAa;QAC9D,MAAM,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAG,MAAMH,eAAe,EAAE,CAAC;YAAED;QAAM;QAC1D,IAAII,QACA;QAEJ,MAAMC,SAAS,IAAI,CAAC,gBAAgB,CAAC,GAAG;QAExC,MAAM,EAAE,MAAMC,MAAM,EAAE,GAAG,MAAMD,OAAO,OAAO,CAAC,MAAM,CAAC;YAAEF;QAAM;QAC7D,IAAI,CAACG,QACD;QAGJ,IAAI;YACA,MAAMD,OAAO,OAAO,CAAC,MAAM,CAAC;gBACxBF;gBACA,oBAAoB;YACxB;QACJ,EAAE,OAAOI,IAAI;YACTC,QAAQ,GAAG,CAAC,CAAC,sCAAsC,EAAEL,MAAM,yBAAyB,CAAC;YACrFK,QAAQ,GAAG,CAACD,GAAG,OAAO;QAC1B;IACJ;AACJ;AAEO,MAAME,8DACTC,8BAAAA,oBAA6D,CAAC;IAC1D,gBAAgBd;IAChB,cAAc;QAACe;QAAkBC;KAAgC;AACrE"}
|
|
@@ -13,9 +13,11 @@ import { CmsEntryOpenSearchValueSearchFeature } from "./CmsEntryOpenSearchValueS
|
|
|
13
13
|
import { ModelAfterCreateHandler } from "./CmsEntryOpenSearchIndexCreate/ModelAfterCreateHandler.js";
|
|
14
14
|
import { ModelAfterCreateFromHandler } from "./CmsEntryOpenSearchIndexCreate/ModelAfterCreateFromHandler.js";
|
|
15
15
|
import { ModelAfterDeleteHandler } from "./CmsEntryOpenSearchIndexDelete/ModelAfterDeleteHandler.js";
|
|
16
|
+
import { CmsModelOpenSearchIndexFeature } from "./CmsModelOpenSearchIndex/index.js";
|
|
16
17
|
const CmsEntryOpenSearchUtilsFeature = createFeature({
|
|
17
18
|
name: "Cms/Entry/OpenSearch/UtilsFeature",
|
|
18
19
|
register: (container)=>{
|
|
20
|
+
CmsModelOpenSearchIndexFeature.register(container);
|
|
19
21
|
CmsEntryOpenSearchFieldIndexFeature.register(container);
|
|
20
22
|
CmsEntryOpenSearchFilterFeature.register(container);
|
|
21
23
|
CmsEntryOpenSearchIndexFeature.register(container);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/CmsEntryOpenSearchUtilsFeature.js","sources":["../../src/features/CmsEntryOpenSearchUtilsFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CmsEntryOpenSearchFieldIndexFeature } from \"./CmsEntryOpenSearchFieldIndex/feature.js\";\nimport { CmsEntryOpenSearchFilterFeature } from \"./CmsEntryOpenSearchFilter/feature.js\";\nimport { CmsEntryOpenSearchIndexFeature } from \"./CmsEntryOpenSearchIndex/feature.js\";\nimport { CmsEntryOpenSearchIndexCreateFeature } from \"./CmsEntryOpenSearchIndexCreate/feature.js\";\nimport { CmsEntryOpenSearchIndexDeleteFeature } from \"./CmsEntryOpenSearchIndexDelete/feature.js\";\nimport { CmsEntryOpenSearchFieldPathFactoryFeature } from \"./CmsEntryOpenSearchFieldPathFactory/feature.js\";\nimport { CmsEntryOpenSearchValueTransformerFeature } from \"./CmsEntryOpenSearchValueTransformer/feature.js\";\nimport { CmsEntryOpenSearchOperatorListFeature } from \"./CmsEntryOpenSearchOperatorList/feature.js\";\nimport { CmsEntryOpenSearchExecFilteringFeature } from \"./CmsEntryOpenSearchExecFiltering/feature.js\";\nimport { CmsEntryOpenSearchBodyBuilderFeature } from \"./CmsEntryOpenSearchBodyBuilder/feature.js\";\nimport { CmsEntryOpenSearchValueSearchFeature } from \"./CmsEntryOpenSearchValueSearch/feature.js\";\nimport { ModelAfterCreateHandler } from \"./CmsEntryOpenSearchIndexCreate/ModelAfterCreateHandler.js\";\nimport { ModelAfterCreateFromHandler } from \"./CmsEntryOpenSearchIndexCreate/ModelAfterCreateFromHandler.js\";\nimport { ModelAfterDeleteHandler } from \"./CmsEntryOpenSearchIndexDelete/ModelAfterDeleteHandler.js\";\n\nexport const CmsEntryOpenSearchUtilsFeature = createFeature({\n name: \"Cms/Entry/OpenSearch/UtilsFeature\",\n register: container => {\n CmsEntryOpenSearchFieldIndexFeature.register(container);\n CmsEntryOpenSearchFilterFeature.register(container);\n CmsEntryOpenSearchIndexFeature.register(container);\n CmsEntryOpenSearchIndexCreateFeature.register(container);\n CmsEntryOpenSearchIndexDeleteFeature.register(container);\n CmsEntryOpenSearchFieldPathFactoryFeature.register(container);\n CmsEntryOpenSearchValueTransformerFeature.register(container);\n CmsEntryOpenSearchOperatorListFeature.register(container);\n CmsEntryOpenSearchExecFilteringFeature.register(container);\n CmsEntryOpenSearchBodyBuilderFeature.register(container);\n CmsEntryOpenSearchValueSearchFeature.register(container);\n\n // Model lifecycle event handlers for OpenSearch index management\n container.register(ModelAfterCreateHandler);\n container.register(ModelAfterCreateFromHandler);\n container.register(ModelAfterDeleteHandler);\n }\n});\n"],"names":["CmsEntryOpenSearchUtilsFeature","createFeature","container","CmsEntryOpenSearchFieldIndexFeature","CmsEntryOpenSearchFilterFeature","CmsEntryOpenSearchIndexFeature","CmsEntryOpenSearchIndexCreateFeature","CmsEntryOpenSearchIndexDeleteFeature","CmsEntryOpenSearchFieldPathFactoryFeature","CmsEntryOpenSearchValueTransformerFeature","CmsEntryOpenSearchOperatorListFeature","CmsEntryOpenSearchExecFilteringFeature","CmsEntryOpenSearchBodyBuilderFeature","CmsEntryOpenSearchValueSearchFeature","ModelAfterCreateHandler","ModelAfterCreateFromHandler","ModelAfterDeleteHandler"],"mappings":"
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchUtilsFeature.js","sources":["../../src/features/CmsEntryOpenSearchUtilsFeature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CmsEntryOpenSearchFieldIndexFeature } from \"./CmsEntryOpenSearchFieldIndex/feature.js\";\nimport { CmsEntryOpenSearchFilterFeature } from \"./CmsEntryOpenSearchFilter/feature.js\";\nimport { CmsEntryOpenSearchIndexFeature } from \"./CmsEntryOpenSearchIndex/feature.js\";\nimport { CmsEntryOpenSearchIndexCreateFeature } from \"./CmsEntryOpenSearchIndexCreate/feature.js\";\nimport { CmsEntryOpenSearchIndexDeleteFeature } from \"./CmsEntryOpenSearchIndexDelete/feature.js\";\nimport { CmsEntryOpenSearchFieldPathFactoryFeature } from \"./CmsEntryOpenSearchFieldPathFactory/feature.js\";\nimport { CmsEntryOpenSearchValueTransformerFeature } from \"./CmsEntryOpenSearchValueTransformer/feature.js\";\nimport { CmsEntryOpenSearchOperatorListFeature } from \"./CmsEntryOpenSearchOperatorList/feature.js\";\nimport { CmsEntryOpenSearchExecFilteringFeature } from \"./CmsEntryOpenSearchExecFiltering/feature.js\";\nimport { CmsEntryOpenSearchBodyBuilderFeature } from \"./CmsEntryOpenSearchBodyBuilder/feature.js\";\nimport { CmsEntryOpenSearchValueSearchFeature } from \"./CmsEntryOpenSearchValueSearch/feature.js\";\nimport { ModelAfterCreateHandler } from \"./CmsEntryOpenSearchIndexCreate/ModelAfterCreateHandler.js\";\nimport { ModelAfterCreateFromHandler } from \"./CmsEntryOpenSearchIndexCreate/ModelAfterCreateFromHandler.js\";\nimport { ModelAfterDeleteHandler } from \"./CmsEntryOpenSearchIndexDelete/ModelAfterDeleteHandler.js\";\nimport { CmsModelOpenSearchIndexFeature } from \"./CmsModelOpenSearchIndex/index.js\";\n\nexport const CmsEntryOpenSearchUtilsFeature = createFeature({\n name: \"Cms/Entry/OpenSearch/UtilsFeature\",\n register: container => {\n CmsModelOpenSearchIndexFeature.register(container);\n CmsEntryOpenSearchFieldIndexFeature.register(container);\n CmsEntryOpenSearchFilterFeature.register(container);\n CmsEntryOpenSearchIndexFeature.register(container);\n CmsEntryOpenSearchIndexCreateFeature.register(container);\n CmsEntryOpenSearchIndexDeleteFeature.register(container);\n CmsEntryOpenSearchFieldPathFactoryFeature.register(container);\n CmsEntryOpenSearchValueTransformerFeature.register(container);\n CmsEntryOpenSearchOperatorListFeature.register(container);\n CmsEntryOpenSearchExecFilteringFeature.register(container);\n CmsEntryOpenSearchBodyBuilderFeature.register(container);\n CmsEntryOpenSearchValueSearchFeature.register(container);\n\n // Model lifecycle event handlers for OpenSearch index management\n container.register(ModelAfterCreateHandler);\n container.register(ModelAfterCreateFromHandler);\n container.register(ModelAfterDeleteHandler);\n }\n});\n"],"names":["CmsEntryOpenSearchUtilsFeature","createFeature","container","CmsModelOpenSearchIndexFeature","CmsEntryOpenSearchFieldIndexFeature","CmsEntryOpenSearchFilterFeature","CmsEntryOpenSearchIndexFeature","CmsEntryOpenSearchIndexCreateFeature","CmsEntryOpenSearchIndexDeleteFeature","CmsEntryOpenSearchFieldPathFactoryFeature","CmsEntryOpenSearchValueTransformerFeature","CmsEntryOpenSearchOperatorListFeature","CmsEntryOpenSearchExecFilteringFeature","CmsEntryOpenSearchBodyBuilderFeature","CmsEntryOpenSearchValueSearchFeature","ModelAfterCreateHandler","ModelAfterCreateFromHandler","ModelAfterDeleteHandler"],"mappings":";;;;;;;;;;;;;;;;AAiBO,MAAMA,iCAAiCC,cAAc;IACxD,MAAM;IACN,UAAUC,CAAAA;QACNC,+BAA+B,QAAQ,CAACD;QACxCE,oCAAoC,QAAQ,CAACF;QAC7CG,gCAAgC,QAAQ,CAACH;QACzCI,+BAA+B,QAAQ,CAACJ;QACxCK,qCAAqC,QAAQ,CAACL;QAC9CM,qCAAqC,QAAQ,CAACN;QAC9CO,0CAA0C,QAAQ,CAACP;QACnDQ,0CAA0C,QAAQ,CAACR;QACnDS,sCAAsC,QAAQ,CAACT;QAC/CU,uCAAuC,QAAQ,CAACV;QAChDW,qCAAqC,QAAQ,CAACX;QAC9CY,qCAAqC,QAAQ,CAACZ;QAG9CA,UAAU,QAAQ,CAACa;QACnBb,UAAU,QAAQ,CAACc;QACnBd,UAAU,QAAQ,CAACe;IACvB;AACJ"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CmsModelOpenSearchIndex } from "./abstractions.js";
|
|
2
|
+
declare class DefaultCmsModelOpenSearchIndexImpl implements CmsModelOpenSearchIndex.Interface {
|
|
3
|
+
execute(): Promise<CmsModelOpenSearchIndex.Result>;
|
|
4
|
+
}
|
|
5
|
+
export declare const DefaultCmsModelOpenSearchIndex: typeof DefaultCmsModelOpenSearchIndexImpl & {
|
|
6
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICmsModelOpenSearchIndex>;
|
|
7
|
+
};
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { getBaseConfiguration, isSharedOpenSearchIndex } from "@webiny/api-opensearch";
|
|
2
|
+
import { CmsModelOpenSearchIndex } from "./abstractions.js";
|
|
3
|
+
class DefaultCmsModelOpenSearchIndexImpl {
|
|
4
|
+
async execute() {
|
|
5
|
+
return {
|
|
6
|
+
settings: getBaseConfiguration(),
|
|
7
|
+
shared: isSharedOpenSearchIndex()
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const DefaultCmsModelOpenSearchIndex = CmsModelOpenSearchIndex.createImplementation({
|
|
12
|
+
implementation: DefaultCmsModelOpenSearchIndexImpl,
|
|
13
|
+
dependencies: []
|
|
14
|
+
});
|
|
15
|
+
export { DefaultCmsModelOpenSearchIndex };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=DefaultCmsModelOpenSearchIndex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.js","sources":["../../../src/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.ts"],"sourcesContent":["import { getBaseConfiguration, isSharedOpenSearchIndex } from \"@webiny/api-opensearch\";\nimport { CmsModelOpenSearchIndex } from \"./abstractions.js\";\n\nclass DefaultCmsModelOpenSearchIndexImpl implements CmsModelOpenSearchIndex.Interface {\n public async execute(): Promise<CmsModelOpenSearchIndex.Result> {\n return {\n settings: getBaseConfiguration(),\n shared: isSharedOpenSearchIndex()\n };\n }\n}\n\nexport const DefaultCmsModelOpenSearchIndex = CmsModelOpenSearchIndex.createImplementation({\n implementation: DefaultCmsModelOpenSearchIndexImpl,\n dependencies: []\n});\n"],"names":["DefaultCmsModelOpenSearchIndexImpl","getBaseConfiguration","isSharedOpenSearchIndex","DefaultCmsModelOpenSearchIndex","CmsModelOpenSearchIndex"],"mappings":";;AAGA,MAAMA;IACF,MAAa,UAAmD;QAC5D,OAAO;YACH,UAAUC;YACV,QAAQC;QACZ;IACJ;AACJ;AAEO,MAAMC,iCAAiCC,wBAAwB,oBAAoB,CAAC;IACvF,gBAAgBJ;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CmsModelOpenSearchIndexProvider, type ICmsModelOpenSearchIndexProviderResult } from "./CmsModelOpenSearchIndexProvider.js";
|
|
2
|
+
import { CmsModelOpenSearchIndex } from "./abstractions.js";
|
|
3
|
+
declare class CmsModelOpenSearchIndexProviderImpl implements CmsModelOpenSearchIndexProvider.Interface {
|
|
4
|
+
private readonly indexConfig;
|
|
5
|
+
private readonly cache;
|
|
6
|
+
constructor(indexConfig: CmsModelOpenSearchIndex.Interface);
|
|
7
|
+
execute(params: CmsModelOpenSearchIndex.Params): Promise<ICmsModelOpenSearchIndexProviderResult>;
|
|
8
|
+
}
|
|
9
|
+
export declare const DefaultCmsModelOpenSearchIndexProvider: typeof CmsModelOpenSearchIndexProviderImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./CmsModelOpenSearchIndexProvider.js").ICmsModelOpenSearchIndexProvider>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CmsModelOpenSearchIndexProvider } from "./CmsModelOpenSearchIndexProvider.js";
|
|
2
|
+
import { CmsModelOpenSearchIndex } from "./abstractions.js";
|
|
3
|
+
class CmsModelOpenSearchIndexProviderImpl {
|
|
4
|
+
constructor(indexConfig){
|
|
5
|
+
this.indexConfig = indexConfig;
|
|
6
|
+
this.cache = new Map();
|
|
7
|
+
}
|
|
8
|
+
async execute(params) {
|
|
9
|
+
const key = `${params.model.tenant}:${params.model.modelId}`;
|
|
10
|
+
const cached = this.cache.get(key);
|
|
11
|
+
if (cached) return cached;
|
|
12
|
+
const { shared, settings } = await this.indexConfig.execute(params);
|
|
13
|
+
const index = [
|
|
14
|
+
shared ? "root" : params.model.tenant,
|
|
15
|
+
"headless-cms",
|
|
16
|
+
params.model.modelId
|
|
17
|
+
].join("-").toLowerCase();
|
|
18
|
+
const result = {
|
|
19
|
+
index,
|
|
20
|
+
settings,
|
|
21
|
+
shared
|
|
22
|
+
};
|
|
23
|
+
this.cache.set(key, result);
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const DefaultCmsModelOpenSearchIndexProvider = CmsModelOpenSearchIndexProvider.createImplementation({
|
|
28
|
+
implementation: CmsModelOpenSearchIndexProviderImpl,
|
|
29
|
+
dependencies: [
|
|
30
|
+
CmsModelOpenSearchIndex
|
|
31
|
+
]
|
|
32
|
+
});
|
|
33
|
+
export { DefaultCmsModelOpenSearchIndexProvider };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=DefaultCmsModelOpenSearchIndexProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.js","sources":["../../../src/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.ts"],"sourcesContent":["import {\n CmsModelOpenSearchIndexProvider,\n type ICmsModelOpenSearchIndexProviderResult\n} from \"./CmsModelOpenSearchIndexProvider.js\";\nimport { CmsModelOpenSearchIndex } from \"./abstractions.js\";\n\nclass CmsModelOpenSearchIndexProviderImpl implements CmsModelOpenSearchIndexProvider.Interface {\n private readonly cache = new Map<string, ICmsModelOpenSearchIndexProviderResult>();\n\n public constructor(private readonly indexConfig: CmsModelOpenSearchIndex.Interface) {}\n\n public async execute(\n params: CmsModelOpenSearchIndex.Params\n ): Promise<ICmsModelOpenSearchIndexProviderResult> {\n const key = `${params.model.tenant}:${params.model.modelId}`;\n const cached = this.cache.get(key);\n if (cached) {\n return cached;\n }\n\n const { shared, settings } = await this.indexConfig.execute(params);\n\n const index = [shared ? \"root\" : params.model.tenant, \"headless-cms\", params.model.modelId]\n .join(\"-\")\n .toLowerCase();\n\n const result: ICmsModelOpenSearchIndexProviderResult = { index, settings, shared };\n this.cache.set(key, result);\n return result;\n }\n}\n\nexport const DefaultCmsModelOpenSearchIndexProvider =\n CmsModelOpenSearchIndexProvider.createImplementation({\n implementation: CmsModelOpenSearchIndexProviderImpl,\n dependencies: [CmsModelOpenSearchIndex]\n });\n"],"names":["CmsModelOpenSearchIndexProviderImpl","indexConfig","Map","params","key","cached","shared","settings","index","result","DefaultCmsModelOpenSearchIndexProvider","CmsModelOpenSearchIndexProvider","CmsModelOpenSearchIndex"],"mappings":";;AAMA,MAAMA;IAGF,YAAoCC,WAA8C,CAAE;aAAhDA,WAAW,GAAXA;aAFnB,KAAK,GAAG,IAAIC;IAEwD;IAErF,MAAa,QACTC,MAAsC,EACS;QAC/C,MAAMC,MAAM,GAAGD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,EAAEA,OAAO,KAAK,CAAC,OAAO,EAAE;QAC5D,MAAME,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAACD;QAC9B,IAAIC,QACA,OAAOA;QAGX,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACJ;QAE5D,MAAMK,QAAQ;YAACF,SAAS,SAASH,OAAO,KAAK,CAAC,MAAM;YAAE;YAAgBA,OAAO,KAAK,CAAC,OAAO;SAAC,CACtF,IAAI,CAAC,KACL,WAAW;QAEhB,MAAMM,SAAiD;YAAED;YAAOD;YAAUD;QAAO;QACjF,IAAI,CAAC,KAAK,CAAC,GAAG,CAACF,KAAKK;QACpB,OAAOA;IACX;AACJ;AAEO,MAAMC,yCACTC,gCAAgC,oBAAoB,CAAC;IACjD,gBAAgBX;IAChB,cAAc;QAACY;KAAwB;AAC3C"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api/index.js";
|
|
2
|
+
import { DefaultCmsModelOpenSearchIndex } from "./DefaultCmsModelOpenSearchIndex.js";
|
|
3
|
+
import { DefaultCmsModelOpenSearchIndexProvider } from "./DefaultCmsModelOpenSearchIndexProvider.js";
|
|
4
|
+
const CmsModelOpenSearchIndexFeature = createFeature({
|
|
5
|
+
name: "Cms/Model/OpenSearch/IndexFeature",
|
|
6
|
+
register: (container)=>{
|
|
7
|
+
container.register(DefaultCmsModelOpenSearchIndex);
|
|
8
|
+
container.register(DefaultCmsModelOpenSearchIndexProvider).inSingletonScope();
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
export { CmsModelOpenSearchIndexFeature };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsModelOpenSearchIndex/feature.js","sources":["../../../src/features/CmsModelOpenSearchIndex/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api/index.js\";\nimport { DefaultCmsModelOpenSearchIndex } from \"./DefaultCmsModelOpenSearchIndex.js\";\nimport { DefaultCmsModelOpenSearchIndexProvider } from \"./DefaultCmsModelOpenSearchIndexProvider.js\";\n\nexport const CmsModelOpenSearchIndexFeature = createFeature({\n name: \"Cms/Model/OpenSearch/IndexFeature\",\n register: container => {\n container.register(DefaultCmsModelOpenSearchIndex);\n container.register(DefaultCmsModelOpenSearchIndexProvider).inSingletonScope();\n }\n});\n"],"names":["CmsModelOpenSearchIndexFeature","createFeature","container","DefaultCmsModelOpenSearchIndex","DefaultCmsModelOpenSearchIndexProvider"],"mappings":";;;AAIO,MAAMA,iCAAiCC,cAAc;IACxD,MAAM;IACN,UAAUC,CAAAA;QACNA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE,wCAAwC,gBAAgB;IAC/E;AACJ"}
|
|
@@ -2,3 +2,6 @@ export { CmsModelOpenSearchIndex } from "./abstractions.js";
|
|
|
2
2
|
export type { ICmsModelOpenSearchIndex, ICmsModelOpenSearchIndexParams, ICmsModelOpenSearchIndexResult } from "./abstractions.js";
|
|
3
3
|
export { CmsModelOpenSearchIndexProvider } from "./CmsModelOpenSearchIndexProvider.js";
|
|
4
4
|
export type { ICmsModelOpenSearchIndexProvider, ICmsModelOpenSearchIndexProviderResult } from "./CmsModelOpenSearchIndexProvider.js";
|
|
5
|
+
export { DefaultCmsModelOpenSearchIndex } from "./DefaultCmsModelOpenSearchIndex.js";
|
|
6
|
+
export { DefaultCmsModelOpenSearchIndexProvider } from "./DefaultCmsModelOpenSearchIndexProvider.js";
|
|
7
|
+
export { CmsModelOpenSearchIndexFeature } from "./feature.js";
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
export { CmsModelOpenSearchIndex } from "./abstractions.js";
|
|
2
2
|
export { CmsModelOpenSearchIndexProvider } from "./CmsModelOpenSearchIndexProvider.js";
|
|
3
|
+
export { DefaultCmsModelOpenSearchIndex } from "./DefaultCmsModelOpenSearchIndex.js";
|
|
4
|
+
export { DefaultCmsModelOpenSearchIndexProvider } from "./DefaultCmsModelOpenSearchIndexProvider.js";
|
|
5
|
+
export { CmsModelOpenSearchIndexFeature } from "./feature.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-headless-cms-utils-os",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.6.0-alpha.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"author": "Webiny Ltd.",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@webiny/api-headless-cms": "
|
|
19
|
-
"@webiny/api-opensearch": "
|
|
20
|
-
"@webiny/error": "
|
|
21
|
-
"@webiny/feature": "
|
|
18
|
+
"@webiny/api-headless-cms": "6.6.0-alpha.1",
|
|
19
|
+
"@webiny/api-opensearch": "6.6.0-alpha.1",
|
|
20
|
+
"@webiny/error": "6.6.0-alpha.1",
|
|
21
|
+
"@webiny/feature": "6.6.0-alpha.1"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@webiny/build-tools": "
|
|
24
|
+
"@webiny/build-tools": "6.6.0-alpha.1",
|
|
25
25
|
"typescript": "7.0.2"
|
|
26
26
|
},
|
|
27
27
|
"publishConfig": {
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Container } from "@webiny/feature/api/index.js";
|
|
2
|
+
import type { CmsModelOpenSearchIndex } from "../features/CmsModelOpenSearchIndex/abstractions.js";
|
|
3
|
+
export declare const createTestModelIndexName: (container: Container, params: CmsModelOpenSearchIndex.Params) => Promise<string>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { getOpenSearchIndexPrefix } from "@webiny/api-opensearch";
|
|
2
|
+
import { CmsModelOpenSearchIndexProvider } from "../features/CmsModelOpenSearchIndex/index.js";
|
|
3
|
+
const createTestModelIndexName = async (container, params)=>{
|
|
4
|
+
const provider = container.resolve(CmsModelOpenSearchIndexProvider);
|
|
5
|
+
const result = await provider.execute(params);
|
|
6
|
+
const prefix = getOpenSearchIndexPrefix();
|
|
7
|
+
return prefix ? prefix + result.index : result.index;
|
|
8
|
+
};
|
|
9
|
+
export { createTestModelIndexName };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=createTestModelIndexName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing/createTestModelIndexName.js","sources":["../../src/testing/createTestModelIndexName.ts"],"sourcesContent":["import { getOpenSearchIndexPrefix } from \"@webiny/api-opensearch\";\nimport type { Container } from \"@webiny/feature/api/index.js\";\nimport type { CmsModelOpenSearchIndex } from \"../features/CmsModelOpenSearchIndex/abstractions.js\";\nimport { CmsModelOpenSearchIndexProvider } from \"../features/CmsModelOpenSearchIndex/index.js\";\n\nexport const createTestModelIndexName = async (\n container: Container,\n params: CmsModelOpenSearchIndex.Params\n): Promise<string> => {\n const provider = container.resolve(CmsModelOpenSearchIndexProvider);\n const result = await provider.execute(params);\n const prefix = getOpenSearchIndexPrefix();\n return prefix ? prefix + result.index : result.index;\n};\n"],"names":["createTestModelIndexName","container","params","provider","CmsModelOpenSearchIndexProvider","result","prefix","getOpenSearchIndexPrefix"],"mappings":";;AAKO,MAAMA,2BAA2B,OACpCC,WACAC;IAEA,MAAMC,WAAWF,UAAU,OAAO,CAACG;IACnC,MAAMC,SAAS,MAAMF,SAAS,OAAO,CAACD;IACtC,MAAMI,SAASC;IACf,OAAOD,SAASA,SAASD,OAAO,KAAK,GAAGA,OAAO,KAAK;AACxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createTestModelIndexName } from "./createTestModelIndexName.js";
|
package/testing/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createTestModelIndexName } from "./createTestModelIndexName.js";
|