@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
@@ -0,0 +1,32 @@
1
+ export type Route = {
2
+ path: string;
3
+ siteId: string;
4
+ locale: {
5
+ name: string;
6
+ };
7
+ contentLink: {
8
+ id?: number | null;
9
+ workId?: number | null;
10
+ guidValue?: string | null;
11
+ };
12
+ name: string;
13
+ contentType: string[];
14
+ slug: string;
15
+ changed: string;
16
+ published: string;
17
+ url: string;
18
+ };
19
+ export type Result = {
20
+ Content: {
21
+ items: Route[];
22
+ cursor: string;
23
+ total: number;
24
+ };
25
+ };
26
+ export type Variables = {
27
+ cursor?: string;
28
+ pageSize?: number;
29
+ typeFilter?: string | string[];
30
+ siteId?: string;
31
+ };
32
+ export declare const query: string;
@@ -0,0 +1,34 @@
1
+ import { gql } from "graphql-request";
2
+ export const query = gql `query GetAllRoutes($cursor: String, $pageSize: Int = 100, $typeFilter: [String] = "Page", $siteId: String = null)
3
+ {
4
+ Content(
5
+ where: {
6
+ _and: {
7
+ _and: {
8
+ RelativePath: { exist: true }
9
+ ContentType: { in: $typeFilter }
10
+ SiteId: { eq: $siteId }
11
+ }
12
+ RelativePath: { notIn: [""] }
13
+ }
14
+ },
15
+ limit: $pageSize,
16
+ cursor: $cursor
17
+ ) {
18
+ items {
19
+ path: RelativePath
20
+ locale:Language { name: Name }
21
+ contentLink: ContentLink { id: Id, workId: WorkId, guidValue: GuidValue }
22
+ name: Name
23
+ contentType: ContentType
24
+ slug: RouteSegment
25
+ changed: Changed
26
+ published: StartPublish
27
+ siteId: SiteId
28
+ url: Url
29
+ },
30
+ cursor,
31
+ total
32
+ }
33
+ }`;
34
+ //# sourceMappingURL=getAllRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllRoutes.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms12/getAllRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AA8BrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BtB,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type * as GetAllRoutes from './getAllRoutes.js';
2
+ export type Variables = {
3
+ id: number;
4
+ workId?: number | null;
5
+ locale?: string | string[];
6
+ };
7
+ export type Result = {
8
+ Content: {
9
+ total: number;
10
+ items: GetAllRoutes.Route[];
11
+ };
12
+ };
13
+ export declare const query: string;
@@ -0,0 +1,39 @@
1
+ import { gql } from "graphql-request";
2
+ export const query = gql `query GetRouteById($id: Int!, $workId: Int, $locale: [Locales]!) {
3
+ Content(
4
+ where: {
5
+ ContentLink: {
6
+ Id: {
7
+ eq: $id
8
+ }
9
+ WorkId: {
10
+ eq: $workId
11
+ }
12
+ }
13
+ },
14
+ locale: $locale
15
+ limit: 1,
16
+ orderBy: {
17
+ ContentLink: {
18
+ WorkId: DESC
19
+ }
20
+ Status: ASC
21
+ }
22
+ )
23
+ {
24
+ total,
25
+ items {
26
+ route: RelativePath
27
+ url: Url
28
+ locale:Language { name: Name }
29
+ contentLink: ContentLink { id: Id, workId: WorkId, guidValue: GuidValue }
30
+ name: Name,
31
+ contentType: ContentType,
32
+ slug: RouteSegment,
33
+ changed: Changed,
34
+ published: StartPublish
35
+ siteId: SiteId
36
+ }
37
+ }
38
+ }`;
39
+ //# sourceMappingURL=getRouteById.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRouteById.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms12/getRouteById.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAerC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCtB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type * as GetAllRoutes from './getAllRoutes.js';
2
+ export type Variables = {
3
+ path: string;
4
+ siteId?: string | null;
5
+ };
6
+ export type Result = {
7
+ Content: {
8
+ total: number;
9
+ items: GetAllRoutes.Route[];
10
+ };
11
+ };
12
+ export declare const query: string;
@@ -0,0 +1,31 @@
1
+ import { gql } from "graphql-request";
2
+ export const query = gql `query GetRouteByPath($path: String!, $siteId: String) {
3
+ Content(
4
+ where: {
5
+ _and: {
6
+ RelativePath: {
7
+ eq: $path
8
+ },
9
+ SiteId: {
10
+ eq:$siteId
11
+ }
12
+ }
13
+ }
14
+ )
15
+ {
16
+ total,
17
+ items {
18
+ route: RelativePath
19
+ url: Url
20
+ locale:Language { name: Name }
21
+ contentLink: ContentLink { id: Id, workId: WorkId, guidValue: GuidValue }
22
+ name: Name,
23
+ contentType: ContentType,
24
+ slug: RouteSegment,
25
+ changed: Changed,
26
+ published: StartPublish
27
+ siteId: SiteId
28
+ }
29
+ }
30
+ }`;
31
+ //# sourceMappingURL=getRouteByPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRouteByPath.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms12/getRouteByPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAarC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BtB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import * as GetAllRoutes from './getAllRoutes.js';
2
+ import type { Route } from '../../types.js';
3
+ import { type IOptiGraphClient as GraphQLClient } from '../../../../client/types.js';
4
+ import { type OptimizelyCmsRoutingApi } from '../types.js';
5
+ export declare class OptimizelyCms12Client implements OptimizelyCmsRoutingApi {
6
+ getRoutes(client: GraphQLClient, siteId?: string): Promise<Route[]>;
7
+ getRouteByPath(client: GraphQLClient, path: string, siteId?: string): Promise<undefined | Route>;
8
+ getRouteById(client: GraphQLClient, contentId: string, locale: string, version: string | number): Promise<undefined | Route>;
9
+ protected parseIdString(id: string): [number, number | null];
10
+ protected convertResponse(item: GetAllRoutes.Route): Route;
11
+ protected tryConvertResponse(item: GetAllRoutes.Route): Route | undefined;
12
+ protected isNotNullOrUndefined<T>(input: T | null | undefined): input is T;
13
+ }
14
+ export default OptimizelyCms12Client;
@@ -0,0 +1,118 @@
1
+ import * as GetAllRoutes from './getAllRoutes.js';
2
+ import * as GetRouteById from './getRouteById.js';
3
+ import * as GetRouteByPath from './getRouteByPath.js';
4
+ export class OptimizelyCms12Client {
5
+ async getRoutes(client, siteId) {
6
+ client.updateFlags({ queryCache: false /*, cache: false*/ }, true);
7
+ let page = await client.request(GetAllRoutes.query, { siteId, typeFilter: "Page" });
8
+ let results = page?.Content?.items ?? [];
9
+ const totalCount = page?.Content?.total ?? 0;
10
+ const cursor = page?.Content?.cursor ?? '';
11
+ if (totalCount > 0 && cursor !== '' && totalCount > results.length)
12
+ while ((page?.Content?.items?.length ?? 0) > 0 && results.length < totalCount) {
13
+ page = await client.request({
14
+ document: GetAllRoutes.query,
15
+ variables: {
16
+ cursor,
17
+ siteId,
18
+ typeFilter: "Page"
19
+ }
20
+ });
21
+ results = results.concat(page.Content?.items ?? []);
22
+ }
23
+ client.restoreFlags();
24
+ return results.map(this.tryConvertResponse.bind(this)).filter(this.isNotNullOrUndefined);
25
+ }
26
+ async getRouteByPath(client, path, siteId) {
27
+ if (client.debug)
28
+ console.log(`Resolving content info for ${path} on ${siteId ? "site " + siteId : "all sites"}`);
29
+ const resultSet = await client.request({
30
+ document: GetRouteByPath.query,
31
+ variables: {
32
+ path,
33
+ siteId
34
+ }
35
+ });
36
+ if ((resultSet.Content?.items?.length ?? 0) === 0) {
37
+ if (client.debug)
38
+ console.warn("No items in the resultset");
39
+ return undefined;
40
+ }
41
+ if ((resultSet.Content?.items?.length ?? 0) > 1)
42
+ throw new Error("Ambiguous URL provided, did you omit the siteId in a multi-channel setup?");
43
+ if (client.debug)
44
+ console.log(`Resolved content info for ${path} to:`, resultSet.Content.items[0]);
45
+ return this.convertResponse(resultSet.Content.items[0]);
46
+ }
47
+ async getRouteById(client, contentId, locale, version) {
48
+ const [id, workId] = this.parseIdString(contentId);
49
+ const variables = {
50
+ id,
51
+ workId,
52
+ locale: locale.replaceAll('-', '_')
53
+ };
54
+ if (client.debug)
55
+ console.log("Resolving content by id:", JSON.stringify(variables));
56
+ const resultSet = await client.request({
57
+ document: GetRouteById.query,
58
+ variables
59
+ });
60
+ if (resultSet.Content?.total >= 1) {
61
+ if (client.debug && resultSet.Content?.total > 1)
62
+ console.warn(`Received multiple entries with this ID, returning the first one from: ${(resultSet.Content?.items || []).map(x => { return `${x.contentLink.id}_${x.contentLink.workId}_${x.locale.name}`; }).join('; ')}`);
63
+ return this.convertResponse(resultSet.Content.items[0]);
64
+ }
65
+ return undefined;
66
+ }
67
+ parseIdString(id) {
68
+ let cId = -1;
69
+ let workId = null;
70
+ if (id.indexOf("_") > 0) {
71
+ [cId, workId] = id.split("_").map(x => {
72
+ try {
73
+ return Number.parseInt(x, 10);
74
+ }
75
+ catch {
76
+ return -1;
77
+ }
78
+ });
79
+ if (workId < 0)
80
+ workId = null;
81
+ }
82
+ else {
83
+ try {
84
+ cId = Number.parseInt(id, 10);
85
+ }
86
+ catch {
87
+ cId = -1;
88
+ }
89
+ }
90
+ return [cId, workId];
91
+ }
92
+ convertResponse(item) {
93
+ return {
94
+ // Take the GQL response
95
+ ...item,
96
+ // Then add/override the needed fields
97
+ url: new URL(item.url),
98
+ key: item.contentLink?.guidValue || "",
99
+ version: item.contentLink?.workId?.toString(),
100
+ locale: item.locale.name,
101
+ changed: item.changed ? new Date(item.changed) : null
102
+ };
103
+ }
104
+ tryConvertResponse(item) {
105
+ try {
106
+ return this.convertResponse(item);
107
+ }
108
+ catch (e) {
109
+ console.error(`Unable to convert ${JSON.stringify(item)} to Route`, e);
110
+ return undefined;
111
+ }
112
+ }
113
+ isNotNullOrUndefined(input) {
114
+ return input != null && input != undefined;
115
+ }
116
+ }
117
+ export default OptimizelyCms12Client;
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms12/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllRoutes.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms13/getAllRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAiCrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCtB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRouteById.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms13/getRouteById.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAgBrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BtB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { gql } from "graphql-request";
2
2
  export const query = gql `query getRouteByPath($path: String!, $domain: String) {
3
3
  getRouteByPath: _Content(
4
- where: { _metadata: { url: { default: { eq: $path }, base: { eq: $domain } } } }
4
+ where: { _metadata: { url: { default: { eq: $path }, base: { endsWith: $domain } } } }
5
5
  ) {
6
6
  total
7
7
  items {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRouteByPath.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms13/getRouteByPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAerC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BtB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { Route } from '../../types.js';
2
+ import { type IOptiGraphClient as GraphQLClient } from '../../../../client/types.js';
3
+ import { type OptimizelyCmsRoutingApi } from '../types.js';
4
+ export declare class OptimizelyCms13Client implements OptimizelyCmsRoutingApi {
5
+ getRoutes(client: GraphQLClient, siteId?: string): Promise<Route[]>;
6
+ getRouteByPath(client: GraphQLClient, path: string, siteId?: string): Promise<undefined | Route>;
7
+ getRouteById(client: GraphQLClient, contentId: string, locale: string, version: string | number): Promise<undefined | Route>;
8
+ private convertResponse;
9
+ private tryConvertResponse;
10
+ private isNotNullOrUndefined;
11
+ }
12
+ export default OptimizelyCms13Client;
@@ -0,0 +1,91 @@
1
+ import * as GetAllRoutes from './getAllRoutes.js';
2
+ import * as GetRouteById from './getRouteById.js';
3
+ import * as GetRouteByPath from './getRouteByPath.js';
4
+ export class OptimizelyCms13Client {
5
+ async getRoutes(client, siteId) {
6
+ client.updateFlags({ queryCache: false /*, cache: false*/ }, true);
7
+ let page = await client.request(GetAllRoutes.query, { domain: siteId }).catch(e => {
8
+ if (client.debug)
9
+ console.error("[RouteResolver] Error while fetching routes", e);
10
+ return undefined;
11
+ });
12
+ let results = page?.Content?.items ?? [];
13
+ const totalCount = page?.Content?.total ?? 0;
14
+ const cursor = page?.Content?.cursor ?? '';
15
+ if (totalCount > 0 && cursor !== '' && totalCount > results.length)
16
+ while ((page?.Content?.items?.length ?? 0) > 0 && results.length < totalCount) {
17
+ page = await client.request({
18
+ document: GetAllRoutes.query,
19
+ variables: {
20
+ cursor,
21
+ domain: siteId
22
+ }
23
+ });
24
+ results = results.concat(page.Content?.items ?? []);
25
+ }
26
+ client.restoreFlags();
27
+ return results.map(this.tryConvertResponse.bind(this)).filter(this.isNotNullOrUndefined);
28
+ }
29
+ async getRouteByPath(client, path, siteId) {
30
+ if (client.debug)
31
+ console.log(`⚪ [RouteResolver] Resolving content info for ${path} on ${siteId ? siteId : "all domains"}`);
32
+ const resultSet = await client.request({
33
+ document: GetRouteByPath.query,
34
+ variables: { path: path, domain: siteId }
35
+ });
36
+ if ((resultSet.getRouteByPath?.items?.length ?? 0) === 0) {
37
+ if (client.debug)
38
+ console.warn("🟠 [RouteResolver] No items in the resultset");
39
+ return undefined;
40
+ }
41
+ if ((resultSet.getRouteByPath?.items?.length ?? 0) > 1)
42
+ throw new Error("🔴 [RouteResolver] Ambiguous URL provided, did you omit the domain in a multi-site setup?");
43
+ if (client.debug)
44
+ console.log(`⚪ [RouteResolver] Resolved content info for ${path} to: ${JSON.stringify(resultSet.getRouteByPath.items[0])}`);
45
+ return this.convertResponse(resultSet.getRouteByPath.items[0]);
46
+ }
47
+ async getRouteById(client, contentId, locale, version) {
48
+ const variables = { key: contentId, version: version?.toString(), locale: locale?.replaceAll('-', '_') };
49
+ if (client.debug)
50
+ console.log("Resolving content by id:", JSON.stringify(variables));
51
+ const resultSet = await client.request({
52
+ document: GetRouteById.query,
53
+ variables
54
+ });
55
+ if (resultSet.Content?.total >= 1) {
56
+ if (client.debug && resultSet.Content?.total > 1)
57
+ 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('; ')}`);
58
+ return this.convertResponse(resultSet.Content.items[0]);
59
+ }
60
+ return undefined;
61
+ }
62
+ convertResponse(item) {
63
+ if (!item)
64
+ throw new Error("RouteResolver.convertResponse(): mandatory parameter \"item\" not provided!");
65
+ const itemUrl = new URL(item._metadata?.url?.path ?? '/', item._metadata?.url?.domain ?? 'https://example.com');
66
+ return {
67
+ locale: item._metadata.locale,
68
+ path: item._metadata.url.path,
69
+ url: itemUrl,
70
+ slug: item._metadata?.slug ?? "",
71
+ changed: item.changed ? new Date(item.changed) : null,
72
+ contentType: item._metadata.types.reverse(),
73
+ version: item._metadata.version,
74
+ key: item._metadata.key
75
+ };
76
+ }
77
+ tryConvertResponse(item) {
78
+ try {
79
+ return this.convertResponse(item);
80
+ }
81
+ catch (e) {
82
+ console.error(`Unable to convert ${JSON.stringify(item)} to Route`, e);
83
+ return undefined;
84
+ }
85
+ }
86
+ isNotNullOrUndefined(input) {
87
+ return input != null && input != undefined;
88
+ }
89
+ }
90
+ export default OptimizelyCms13Client;
91
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms13/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/routing/queries/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { Route } from '../types.js';
2
+ import { type IOptiGraphClient as GraphQLClient } from '../../../client/types.js';
3
+ export interface OptimizelyCmsRoutingApi {
4
+ getRoutes(client: GraphQLClient, siteId?: string): Promise<Route[]>;
5
+ getRouteByPath(client: GraphQLClient, path: string, siteId?: string): Promise<undefined | Route>;
6
+ getRouteById(client: GraphQLClient, contentId: string, locale?: string, version?: string | number): Promise<undefined | Route>;
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/services/routing/queries/types.ts"],"names":[],"mappings":""}
@@ -1,14 +1,18 @@
1
- import { type IOptiGraphClient } from '../../client/index.js';
2
- import type { OptimizelyGraphConfig } from '../../types.js';
3
- import type { Route } from "./types.js";
1
+ import { type IOptiGraphClient, OptiCmsSchema } from '../../client/index.js';
2
+ import { type OptimizelyGraphConfig } from '../../types.js';
3
+ import type { Route, IRouteResolver } from "./types.js";
4
4
  import type { ContentLinkWithLocale } from '../types.js';
5
- import * as GetAllRoutes from './queries/getAllRoutes.js';
6
5
  /**
7
6
  *
8
7
  */
9
- export declare class RouteResolver {
8
+ export declare class RouteResolver implements IRouteResolver {
10
9
  private _cgClient;
11
10
  private _defaultUrlBase;
11
+ private _resolverMode;
12
+ private _resolver;
13
+ protected get client(): IOptiGraphClient;
14
+ protected get urlBase(): string | URL;
15
+ protected get schema(): OptiCmsSchema;
12
16
  /**
13
17
  * Create a new Route Resolver
14
18
  *
@@ -19,7 +23,8 @@ export declare class RouteResolver {
19
23
  * constructor when reading routes from Optimizely
20
24
  * Graph
21
25
  */
22
- constructor(clientOrConfig?: IOptiGraphClient | OptimizelyGraphConfig, urlBase?: string | URL);
26
+ constructor(clientOrConfig?: IOptiGraphClient | OptimizelyGraphConfig, urlBase?: string | URL, resolverMode?: OptiCmsSchema);
27
+ private getResolver;
23
28
  /**
24
29
  * Retrieve all registered routes for the provided domain - all domains if none specified
25
30
  *
@@ -45,8 +50,5 @@ export declare class RouteResolver {
45
50
  * @returns The ContentLink, with locale information
46
51
  */
47
52
  routeToContentLink(route: Route): ContentLinkWithLocale;
48
- protected convertResponse(item: GetAllRoutes.Route): Route;
49
- protected tryConvertResponse(item: GetAllRoutes.Route): Route | undefined;
50
- protected isNotNullOrUndefined<T>(input: T | null | undefined): input is T;
51
53
  }
52
54
  export default RouteResolver;