@remkoj/optimizely-graph-client 2.0.4 → 3.0.0

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/README.md +195 -135
  2. package/dist/admin-api/client/OptimizelyGraphAdminApi.js +1 -1
  3. package/dist/admin-api/client/core/OpenAPI.js +1 -1
  4. package/dist/admin-api/client/index.d.ts +4 -3
  5. package/dist/admin-api/client/index.js.map +1 -1
  6. package/dist/admin-api/client/models/{ContentTypeDefinition_V2.d.ts → ContentSource_V2.d.ts} +1 -1
  7. package/dist/admin-api/client/models/ContentSource_V2.js +2 -0
  8. package/dist/admin-api/client/models/ContentSource_V2.js.map +1 -0
  9. package/dist/admin-api/client/models/{ContentTypeDefinition_V3.d.ts → ContentSource_V3.d.ts} +2 -1
  10. package/dist/admin-api/client/models/ContentSource_V3.js +2 -0
  11. package/dist/admin-api/client/models/ContentSource_V3.js.map +1 -0
  12. package/dist/admin-api/client/models/FilterMap.d.ts +2 -2
  13. package/dist/admin-api/client/models/OperationMap.d.ts +1 -1
  14. package/dist/admin-api/client/models/Partial_Record_string_OperationMap__.d.ts +5 -0
  15. package/dist/admin-api/client/models/Partial_Record_string_OperationMap__.js +2 -0
  16. package/dist/admin-api/client/models/Partial_Record_string_OperationMap__.js.map +1 -0
  17. package/dist/admin-api/client/models/SourceInfo.d.ts +1 -0
  18. package/dist/admin-api/client/models/SourceMetadata.d.ts +4 -0
  19. package/dist/admin-api/client/models/SourceMetadata.js +2 -0
  20. package/dist/admin-api/client/models/SourceMetadata.js.map +1 -0
  21. package/dist/admin-api/client/models/Webhook.d.ts +2 -0
  22. package/dist/admin-api/client/models/WebhookPayload.d.ts +2 -2
  23. package/dist/admin-api/client/services/DefinitionV2Service.d.ts +2 -2
  24. package/dist/admin-api/client/services/DefinitionV2Service.js.map +1 -1
  25. package/dist/admin-api/client/services/DefinitionV3Service.d.ts +16 -6
  26. package/dist/admin-api/client/services/DefinitionV3Service.js +21 -2
  27. package/dist/admin-api/client/services/DefinitionV3Service.js.map +1 -1
  28. package/dist/client/client.d.ts +5 -2
  29. package/dist/client/client.js +40 -6
  30. package/dist/client/client.js.map +1 -1
  31. package/dist/client/index.d.ts +14 -3
  32. package/dist/client/index.js +15 -3
  33. package/dist/client/index.js.map +1 -1
  34. package/dist/client/types.d.ts +53 -6
  35. package/dist/client/types.js +6 -0
  36. package/dist/client/types.js.map +1 -1
  37. package/dist/client/utils.d.ts +33 -1
  38. package/dist/client/utils.js +46 -0
  39. package/dist/client/utils.js.map +1 -1
  40. package/dist/config.d.ts +1 -0
  41. package/dist/config.js +14 -1
  42. package/dist/config.js.map +1 -1
  43. package/dist/services/channel-repository/repository.d.ts +1 -1
  44. package/dist/services/channel-repository/repository.js +4 -2
  45. package/dist/services/channel-repository/repository.js.map +1 -1
  46. package/dist/services/routing/queries/cms12/getAllRoutes.d.ts +32 -0
  47. package/dist/services/routing/queries/cms12/getAllRoutes.js +34 -0
  48. package/dist/services/routing/queries/cms12/getAllRoutes.js.map +1 -0
  49. package/dist/services/routing/queries/cms12/getRouteById.d.ts +13 -0
  50. package/dist/services/routing/queries/cms12/getRouteById.js +39 -0
  51. package/dist/services/routing/queries/cms12/getRouteById.js.map +1 -0
  52. package/dist/services/routing/queries/cms12/getRouteByPath.d.ts +12 -0
  53. package/dist/services/routing/queries/cms12/getRouteByPath.js +31 -0
  54. package/dist/services/routing/queries/cms12/getRouteByPath.js.map +1 -0
  55. package/dist/services/routing/queries/cms12/index.d.ts +14 -0
  56. package/dist/services/routing/queries/cms12/index.js +118 -0
  57. package/dist/services/routing/queries/cms12/index.js.map +1 -0
  58. package/dist/services/routing/queries/cms13/getAllRoutes.js.map +1 -0
  59. package/dist/services/routing/queries/cms13/getRouteById.js.map +1 -0
  60. package/dist/services/routing/queries/{getRouteByPath.js → cms13/getRouteByPath.js} +1 -1
  61. package/dist/services/routing/queries/cms13/getRouteByPath.js.map +1 -0
  62. package/dist/services/routing/queries/cms13/index.d.ts +12 -0
  63. package/dist/services/routing/queries/cms13/index.js +91 -0
  64. package/dist/services/routing/queries/cms13/index.js.map +1 -0
  65. package/dist/services/routing/queries/index.d.ts +1 -0
  66. package/dist/services/routing/queries/index.js +2 -0
  67. package/dist/services/routing/queries/index.js.map +1 -0
  68. package/dist/services/routing/queries/types.d.ts +7 -0
  69. package/dist/services/routing/queries/types.js +2 -0
  70. package/dist/services/routing/queries/types.js.map +1 -0
  71. package/dist/services/routing/resolver.d.ts +11 -9
  72. package/dist/services/routing/resolver.js +24 -85
  73. package/dist/services/routing/resolver.js.map +1 -1
  74. package/dist/services/routing/types.d.ts +32 -0
  75. package/dist/services/utils.js +2 -2
  76. package/dist/services/utils.js.map +1 -1
  77. package/dist/types.d.ts +9 -0
  78. package/package.json +3 -3
  79. package/dist/admin-api/client/models/ContentTypeDefinition_V2.js +0 -2
  80. package/dist/admin-api/client/models/ContentTypeDefinition_V2.js.map +0 -1
  81. package/dist/admin-api/client/models/ContentTypeDefinition_V3.js +0 -2
  82. package/dist/admin-api/client/models/ContentTypeDefinition_V3.js.map +0 -1
  83. package/dist/admin-api/client/models/Partial_Record_FieldKeys_OperationMap__.d.ts +0 -8
  84. package/dist/admin-api/client/models/Partial_Record_FieldKeys_OperationMap__.js +0 -2
  85. package/dist/admin-api/client/models/Partial_Record_FieldKeys_OperationMap__.js.map +0 -1
  86. package/dist/services/routing/queries/getAllRoutes.js.map +0 -1
  87. package/dist/services/routing/queries/getRouteById.js.map +0 -1
  88. package/dist/services/routing/queries/getRouteByPath.js.map +0 -1
  89. /package/dist/services/routing/queries/{getAllRoutes.d.ts → cms13/getAllRoutes.d.ts} +0 -0
  90. /package/dist/services/routing/queries/{getAllRoutes.js → cms13/getAllRoutes.js} +0 -0
  91. /package/dist/services/routing/queries/{getRouteById.d.ts → cms13/getRouteById.d.ts} +0 -0
  92. /package/dist/services/routing/queries/{getRouteById.js → cms13/getRouteById.js} +0 -0
  93. /package/dist/services/routing/queries/{getRouteByPath.d.ts → cms13/getRouteByPath.d.ts} +0 -0
@@ -1,14 +1,19 @@
1
1
  // Import GraphQL Client
2
- import createClient, { isContentGraphClient } from '../../client/index.js';
3
- // Import GraphQL Queries
4
- import * as GetRouteById from './queries/getRouteById.js';
5
- import * as GetAllRoutes from './queries/getAllRoutes.js';
6
- import * as GetRouteByPath from './queries/getRouteByPath.js';
2
+ import createClient, { isOptiGraphClient, OptiCmsSchema } from '../../client/index.js';
7
3
  // Main router class
8
4
  /**
9
5
  *
10
6
  */
11
7
  export class RouteResolver {
8
+ get client() {
9
+ return this._cgClient;
10
+ }
11
+ get urlBase() {
12
+ return this._defaultUrlBase;
13
+ }
14
+ get schema() {
15
+ return this._resolverMode;
16
+ }
12
17
  /**
13
18
  * Create a new Route Resolver
14
19
  *
@@ -19,9 +24,18 @@ export class RouteResolver {
19
24
  * constructor when reading routes from Optimizely
20
25
  * Graph
21
26
  */
22
- constructor(clientOrConfig, urlBase = "https://example.com") {
23
- this._cgClient = isContentGraphClient(clientOrConfig) ? clientOrConfig : createClient(clientOrConfig);
27
+ constructor(clientOrConfig, urlBase = "https://example.com", resolverMode) {
28
+ this._cgClient = isOptiGraphClient(clientOrConfig) ? clientOrConfig : createClient(clientOrConfig);
24
29
  this._defaultUrlBase = urlBase;
30
+ this._resolverMode = resolverMode ?? this._cgClient.currentOptiCmsSchema;
31
+ }
32
+ async getResolver() {
33
+ if (!this._resolver) {
34
+ if (this._resolverMode == OptiCmsSchema.CMS12)
35
+ return new (await import('./queries/cms12/index.js')).default;
36
+ this._resolver = new (await import('./queries/cms13/index.js')).default;
37
+ }
38
+ return this._resolver;
25
39
  }
26
40
  /**
27
41
  * Retrieve all registered routes for the provided domain - all domains if none specified
@@ -30,63 +44,15 @@ export class RouteResolver {
30
44
  * @returns The list of routes
31
45
  */
32
46
  async getRoutes(domain) {
33
- this._cgClient.updateFlags({ queryCache: false }, true);
34
- let page = await this._cgClient.request(GetAllRoutes.query, { domain }).catch(e => {
35
- if (this._cgClient.debug)
36
- console.error("[RouteResolver] Error while fetching routes", e);
37
- return undefined;
38
- });
39
- let results = page?.Content?.items ?? [];
40
- const totalCount = page?.Content?.total ?? 0;
41
- const cursor = page?.Content?.cursor ?? '';
42
- if (totalCount > 0 && cursor !== '' && totalCount > results.length)
43
- while ((page?.Content?.items?.length ?? 0) > 0 && results.length < totalCount) {
44
- page = await this._cgClient.request({
45
- document: GetAllRoutes.query,
46
- variables: {
47
- cursor,
48
- domain
49
- }
50
- });
51
- results = results.concat(page.Content?.items ?? []);
52
- }
53
- this._cgClient.restoreFlags();
54
- return results.map(this.tryConvertResponse.bind(this)).filter(this.isNotNullOrUndefined);
47
+ return (await this.getResolver()).getRoutes(this._cgClient, domain);
55
48
  }
56
49
  async getContentInfoByPath(path, domain) {
57
50
  const queryPath = typeof path == 'object' && path != null ? path.pathname : path;
58
51
  const queryDomain = typeof path == 'object' && path != null ? path.protocol + '//' + path.host : domain;
59
- if (this._cgClient.debug)
60
- console.log(`⚪ [RouteResolver] Resolving content info for ${path} on ${domain ? domain : "all domains"}`);
61
- const resultSet = await this._cgClient.request({
62
- document: GetRouteByPath.query,
63
- variables: { path: queryPath, domain: queryDomain }
64
- });
65
- if ((resultSet.getRouteByPath?.items?.length ?? 0) === 0) {
66
- if (this._cgClient.debug)
67
- console.warn("🟠 [RouteResolver] No items in the resultset");
68
- return undefined;
69
- }
70
- if ((resultSet.getRouteByPath?.items?.length ?? 0) > 1)
71
- throw new Error("🔴 [RouteResolver] Ambiguous URL provided, did you omit the domain in a multi-site setup?");
72
- if (this._cgClient.debug)
73
- console.log(`⚪ [RouteResolver] Resolved content info for ${path} to: ${JSON.stringify(resultSet.getRouteByPath.items[0])}`);
74
- return this.convertResponse(resultSet.getRouteByPath.items[0]);
52
+ return (await this.getResolver()).getRouteByPath(this._cgClient, queryPath, queryDomain);
75
53
  }
76
54
  async getContentInfoById(key, locale, version) {
77
- const variables = { key, version: version?.toString(), locale: locale?.replaceAll('-', '_') };
78
- if (this._cgClient.debug)
79
- console.log("Resolving content by id:", JSON.stringify(variables));
80
- const resultSet = await this._cgClient.request({
81
- document: GetRouteById.query,
82
- variables
83
- });
84
- if (resultSet.Content?.total >= 1) {
85
- if (this._cgClient.debug && resultSet.Content?.total > 1)
86
- console.warn(`Received multiple entries with this ID, returning the first one from: ${(resultSet.Content?.items || []).map(x => { return `${x._metadata.key} (version: ${x._metadata.version}, locale: ${x._metadata.locale})`; }).join('; ')}`);
87
- return this.convertResponse(resultSet.Content.items[0]);
88
- }
89
- return undefined;
55
+ return (await this.getResolver()).getRouteById(this._cgClient, key, locale, version);
90
56
  }
91
57
  /**
92
58
  * Extract a content link from a route definition
@@ -101,33 +67,6 @@ export class RouteResolver {
101
67
  locale: route.locale
102
68
  };
103
69
  }
104
- convertResponse(item) {
105
- if (!item)
106
- throw new Error("RouteResolver.convertResponse(): mandatory parameter \"item\" not provided!");
107
- const itemUrl = new URL(item._metadata?.url?.path ?? '/', item._metadata?.url?.domain ?? this._defaultUrlBase);
108
- return {
109
- locale: item._metadata.locale,
110
- path: item._metadata.url.path,
111
- url: itemUrl,
112
- slug: item._metadata?.slug ?? "",
113
- changed: item.changed ? new Date(item.changed) : null,
114
- contentType: item._metadata.types.reverse(),
115
- version: item._metadata.version,
116
- key: item._metadata.key
117
- };
118
- }
119
- tryConvertResponse(item) {
120
- try {
121
- return this.convertResponse(item);
122
- }
123
- catch (e) {
124
- console.error(`Unable to convert ${JSON.stringify(item)} to Route`, e);
125
- return undefined;
126
- }
127
- }
128
- isNotNullOrUndefined(input) {
129
- return input != null && input != undefined;
130
- }
131
70
  }
132
71
  export default RouteResolver;
133
72
  //# sourceMappingURL=resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/services/routing/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/services/routing/resolver.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,YAAY,EAAE,EAAyB,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAU7G,oBAAoB;AACpB;;GAEG;AACH,MAAM,OAAO,aAAa;IAMtB,IAAc,MAAM;QAEhB,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAED,IAAc,OAAO;QAEjB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC/B,CAAC;IAED,IAAc,MAAM;QAEhB,OAAO,IAAI,CAAC,aAAa,CAAA;IAC7B,CAAC;IAED;;;;;;;;;OASG;IACH,YACI,cAAyD,EACzD,UAAwB,qBAAqB,EAC7C,YAA4B;QAE5B,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;QAClG,IAAI,CAAC,eAAe,GAAG,OAAO,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAA;IAC5E,CAAC;IAEO,KAAK,CAAC,WAAW;QAErB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK;gBACzC,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,OAAO,CAAA;YACjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,OAAO,CAAA;QAC3E,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,SAAS,CAAC,MAAe;QAElC,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACvE,CAAC;IAYM,KAAK,CAAC,oBAAoB,CAAC,IAAkB,EAAE,MAAe;QAEjE,MAAM,SAAS,GAAK,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;QAClF,MAAM,WAAW,GAAG,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;QAEvG,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IAC5F,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,GAAW,EAAE,MAAe,EAAE,OAAyB;QAEnF,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAC,MAAM,EAAC,OAAO,CAAC,CAAA;IACtF,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CAAC,KAAY;QAElC,OAAO;YACH,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;SACvB,CAAA;IACL,CAAC;CACJ;AAED,eAAe,aAAa,CAAA"}
@@ -1,3 +1,4 @@
1
+ import type { ContentLinkWithLocale } from '../types.js';
1
2
  export type Route = {
2
3
  locale: string;
3
4
  path: string;
@@ -8,3 +9,34 @@ export type Route = {
8
9
  version?: string | null;
9
10
  key: string;
10
11
  };
12
+ /**
13
+ * Main Router pattern, allow for implementation specific overrides
14
+ */
15
+ export interface IRouteResolver {
16
+ /**
17
+ * Retrieve all registered routes for the provided domain - all domains if none specified
18
+ *
19
+ * @param domain The domain to filter on
20
+ * @returns The list of routes
21
+ */
22
+ getRoutes(domainOrChannelId?: string): Promise<Route[]>;
23
+ /**
24
+ * Resolve a path to route information, either from string or from URL
25
+ * object.
26
+ *
27
+ * @param path The path to resolve for
28
+ * @param domain The domain to filter the results by
29
+ * @returns The route information for the path
30
+ */
31
+ getContentInfoByPath(path: URL): Promise<undefined | Route>;
32
+ getContentInfoByPath(path: string, domain?: string): Promise<undefined | Route>;
33
+ getContentInfoByPath(path: URL | string, domain?: string): Promise<undefined | Route>;
34
+ /**
35
+ * Extract a content link from a route definition
36
+ *
37
+ * @param route The route to parse
38
+ * @returns The ContentLink, with locale information
39
+ */
40
+ routeToContentLink(route: Route): ContentLinkWithLocale;
41
+ getContentInfoById(key: string, locale?: string, version?: string | number): Promise<undefined | Route>;
42
+ }
@@ -6,7 +6,7 @@
6
6
  * @returns The Optimizely Graph safe locale
7
7
  */
8
8
  export function localeToGraphLocale(locale) {
9
- if (typeof (locale) != 'string' || (locale.length != 2 && locale.length != 5))
9
+ if (typeof (locale) != 'string' || (locale.length != 2 && locale.length != 5 && locale != 'ALL' && locale != 'NEUTRAL'))
10
10
  throw new Error(`The value ${locale} is not a supported ISO locale`);
11
11
  return locale.replaceAll('-', '_');
12
12
  }
@@ -17,7 +17,7 @@ export function localeToGraphLocale(locale) {
17
17
  * @returns The ISO Locale
18
18
  */
19
19
  export function graphLocaleToLocale(graphLocale) {
20
- if (typeof (graphLocale) != 'string' || (graphLocale.length != 2 && graphLocale.length != 5))
20
+ if (typeof (graphLocale) != 'string' || (graphLocale.length != 2 && graphLocale.length != 5 && graphLocale != 'ALL' && graphLocale != 'NEUTRAL'))
21
21
  throw new Error(`The value ${graphLocale} is not a supported ISO locale`);
22
22
  return graphLocale.replaceAll('_', '-');
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/services/utils.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAI,MAAS;IAE5C,IAAI,OAAM,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,aAAc,MAAO,gCAAgC,CAAC,CAAA;IAC1E,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,EAAC,GAAG,CAAsC,CAAA;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAI,WAAc;IAEjD,IAAI,OAAM,CAAC,WAAW,CAAC,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,aAAc,WAAY,gCAAgC,CAAC,CAAA;IAC/E,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAsC,CAAA;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA0C,EAAE,KAA0C;IAErH,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG;QACtB,OAAO,KAAK,CAAA;IAChB,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO;QAClE,OAAO,KAAK,CAAA;IAChB,IAAI,CAAE,KAA+B,CAAC,MAAM,IAAK,KAA+B,CAAC,MAAM,CAAC,IAAK,KAA+B,CAAC,MAAM,IAAK,KAA+B,CAAC,MAAM;QAC1K,OAAO,KAAK,CAAA;IAChB,OAAO,IAAI,CAAA;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAA0C,EAAE,KAA0C;IAElI,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG;QACtB,OAAO,KAAK,CAAA;IAChB,IAAI,CAAE,KAA+B,CAAC,MAAM,IAAK,KAA+B,CAAC,MAAM,CAAC,IAAK,KAA+B,CAAC,MAAM,IAAK,KAA+B,CAAC,MAAM;QAC1K,OAAO,KAAK,CAAA;IAChB,OAAO,IAAI,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,MAAW;IAErC,uBAAuB;IACvB,IAAI,OAAM,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,MAAM,IAAI,IAAI;QAC5C,OAAO,KAAK,CAAA;IAEhB,6DAA6D;IAC7D,OAAO,OAAM,CAAE,MAAsB,CAAC,GAAG,CAAC,IAAI,QAAQ,IAAM,MAAsB,CAAC,GAAc,CAAC,MAAM,GAAG,CAAC,CAAA;AAChH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAW;IAE/C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACtB,OAAO,KAAK,CAAA;IAEhB,MAAM,MAAM,GAAI,MAAgC,CAAC,MAAM,CAAA;IACvD,OAAO,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,OAAM,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;AAC5H,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAW;IAE3C,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,MAAM,IAAI,IAAI;QAC3C,OAAO,KAAK,CAAA;IAEhB,OAAQ,MAAsC,CAAC,GAAG,IAAI,IAAI;QACtD,CAAE,MAAsC,CAAC,OAAO,IAAI,IAAI,IAAK,MAAsC,CAAC,OAAO,IAAI,SAAS,CAAC;QACzH,CAAC,OAAQ,MAAsC,CAAC,MAAM,IAAI,QAAQ,IAAK,MAAsC,CAAC,MAAM,IAAI,IAAI,IAAK,MAAsC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAA;AACpM,CAAC;AAMD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAsD;IAEvF,IAAI,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,SAAS,CAAA;IAEpB,MAAM,OAAO,GAAqC;QAC9C,GAAG,EAAE,WAAW,CAAC,GAAG;KACvB,CAAA;IACD,IAAI,WAAW,CAAC,OAAO;QACnB,OAAO,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;IAEpD,OAAO,WAAW,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAc,WAAgD;IAExG,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,CAA8B,CAAA;IACjF,IAAI,WAAW,EAAE,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,OAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACpJ,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;IAC1C,OAAO,UAAU,CAAA;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,UAAU;IAElD,IAAI,CAAC;QACD,OAAO,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,GAAG,EAAC,EAAE,CAAC,CAAA;IAC1D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;QACpE,OAAO,MAAM,GAAG,SAAS,CAAA;IAC7B,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAA+D,EAAE,SAAkB,KAAK;IAExH,IAAI,CAAC,WAAW;QACZ,OAAO,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;IACtE,OAAO;QACH,WAAW,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG;QAC/F,WAAW,CAAC,OAAO;QAClB,WAAqC,CAAC,MAAM;KAChD,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/services/utils.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { OptiCmsSchema } from "./client/types.js";
1
2
  export type OptimizelyGraphConfigInternal = {
2
3
  /**
3
4
  * Optimizely Graph AppKey, it is recommended to not let this key leave the server side
@@ -35,6 +36,14 @@ export type OptimizelyGraphConfigInternal = {
35
36
  * Publishing token to validate webhooks - if implemented
36
37
  */
37
38
  publish?: string;
39
+ /**
40
+ * The CMS Schema version that is used
41
+ */
42
+ opti_cms_schema: OptiCmsSchema;
43
+ /**
44
+ * The Turnstile Tenant ID that must be used - if any
45
+ */
46
+ tenant_id?: string;
38
47
  };
39
48
  export type OptimizelyGraphConfig = Partial<Omit<OptimizelyGraphConfigInternal, 'single_key'>> & Pick<OptimizelyGraphConfigInternal, 'single_key'>;
40
49
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@remkoj/optimizely-graph-client",
3
3
  "license": "Apache-2.0",
4
- "version": "2.0.4",
4
+ "version": "3.0.0",
5
5
  "packageManager": "yarn@4.1.1",
6
6
  "repository": "https://github.com/remkoj/optimizely-dxp-clients.git",
7
7
  "author": "Remko Jantzen <693172+remkoj@users.noreply.github.com>",
@@ -52,13 +52,13 @@
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/crypto-js": "^4.2.2",
55
- "@types/node": "^22.2.0",
55
+ "@types/node": "^22.8.4",
56
56
  "graphql": "^16.9.0",
57
57
  "graphql-request": "^6.1.0",
58
58
  "openapi-typescript-codegen": "^0.29.0",
59
59
  "prop-types": "^15.8.1",
60
60
  "scheduler": "^0.23.2",
61
- "typescript": "^5.5.4"
61
+ "typescript": "^5.6.3"
62
62
  },
63
63
  "dependencies": {
64
64
  "crypto-js": "^4.2.0"
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ContentTypeDefinition_V2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContentTypeDefinition_V2.js","sourceRoot":"","sources":["../../../../src/admin-api/client/models/ContentTypeDefinition_V2.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ContentTypeDefinition_V3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContentTypeDefinition_V3.js","sourceRoot":"","sources":["../../../../src/admin-api/client/models/ContentTypeDefinition_V3.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import type { OperationMap } from './OperationMap.js';
2
- /**
3
- * Make all properties in T optional
4
- */
5
- export type Partial_Record_FieldKeys_OperationMap__ = {
6
- status?: OperationMap;
7
- id?: OperationMap;
8
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Partial_Record_FieldKeys_OperationMap__.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Partial_Record_FieldKeys_OperationMap__.js","sourceRoot":"","sources":["../../../../src/admin-api/client/models/Partial_Record_FieldKeys_OperationMap__.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAllRoutes.js","sourceRoot":"","sources":["../../../../src/services/routing/queries/getAllRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAiCrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCtB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getRouteById.js","sourceRoot":"","sources":["../../../../src/services/routing/queries/getRouteById.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAgBrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BtB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getRouteByPath.js","sourceRoot":"","sources":["../../../../src/services/routing/queries/getRouteByPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAerC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BtB,CAAA"}