@remkoj/optimizely-graph-client 1.0.3 → 2.0.0-pre1

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 (81) hide show
  1. package/dist/admin-api/client/OptimizelyGraphAdminApi.js +1 -1
  2. package/dist/admin-api/client/core/OpenAPI.js +1 -1
  3. package/dist/admin-api/client/index.d.ts +1 -0
  4. package/dist/admin-api/client/index.js +1 -0
  5. package/dist/admin-api/client/index.js.map +1 -1
  6. package/dist/admin-api/client/models/DeleteMode.d.ts +5 -0
  7. package/dist/admin-api/client/models/DeleteMode.js +11 -0
  8. package/dist/admin-api/client/models/DeleteMode.js.map +1 -0
  9. package/dist/admin-api/client/models/PropertyType_V3.d.ts +2 -0
  10. package/dist/admin-api/client/services/DefinitionV3Service.d.ts +25 -11
  11. package/dist/admin-api/client/services/DefinitionV3Service.js +25 -12
  12. package/dist/admin-api/client/services/DefinitionV3Service.js.map +1 -1
  13. package/dist/admin-api/client/services/LogsService.d.ts +1 -1
  14. package/dist/admin-api/client/services/LogsService.js +1 -1
  15. package/dist/admin-api/client/services/ResourcesService.d.ts +20 -2
  16. package/dist/admin-api/client/services/ResourcesService.js +40 -2
  17. package/dist/admin-api/client/services/ResourcesService.js.map +1 -1
  18. package/dist/admin-api/client/services/WebhooksService.d.ts +10 -8
  19. package/dist/admin-api/client/services/WebhooksService.js +10 -8
  20. package/dist/admin-api/client/services/WebhooksService.js.map +1 -1
  21. package/dist/admin-api/index.d.ts +37 -2
  22. package/dist/admin-api/index.js +69 -14
  23. package/dist/admin-api/index.js.map +1 -1
  24. package/dist/admin-api/request/OptiHttpRequest.d.ts +18 -0
  25. package/dist/admin-api/request/OptiHttpRequest.js +27 -0
  26. package/dist/admin-api/request/OptiHttpRequest.js.map +1 -0
  27. package/dist/admin-api/request/index.d.ts +2 -0
  28. package/dist/admin-api/request/index.js +3 -0
  29. package/dist/admin-api/request/index.js.map +1 -0
  30. package/dist/admin-api/request/request.d.ts +14 -0
  31. package/dist/admin-api/request/request.js +70 -0
  32. package/dist/admin-api/request/request.js.map +1 -0
  33. package/dist/admin-api/types.d.ts +12 -0
  34. package/dist/admin-api/types.js +2 -0
  35. package/dist/admin-api/types.js.map +1 -0
  36. package/dist/client/client.d.ts +1 -1
  37. package/dist/client/client.js +4 -2
  38. package/dist/client/client.js.map +1 -1
  39. package/dist/client/index.d.ts +1 -1
  40. package/dist/client/index.js +1 -1
  41. package/dist/client/index.js.map +1 -1
  42. package/dist/client/types.d.ts +21 -0
  43. package/dist/{client/hmac-fetch.js → hmac-fetch.js} +3 -3
  44. package/dist/hmac-fetch.js.map +1 -0
  45. package/dist/services/channel-repository/definition.d.ts +7 -1
  46. package/dist/services/channel-repository/definition.js +14 -0
  47. package/dist/services/channel-repository/definition.js.map +1 -1
  48. package/dist/services/channel-repository/repository.js +3 -3
  49. package/dist/services/channel-repository/repository.js.map +1 -1
  50. package/dist/services/channel-repository/types.d.ts +9 -5
  51. package/dist/services/index.d.ts +5 -3
  52. package/dist/services/index.js +2 -1
  53. package/dist/services/index.js.map +1 -1
  54. package/dist/services/routing/index.d.ts +4 -83
  55. package/dist/services/routing/index.js +2 -242
  56. package/dist/services/routing/index.js.map +1 -1
  57. package/dist/services/routing/queries/getAllRoutes.d.ts +28 -0
  58. package/dist/services/routing/queries/getAllRoutes.js +31 -0
  59. package/dist/services/routing/queries/getAllRoutes.js.map +1 -0
  60. package/dist/services/routing/queries/getRouteById.d.ts +13 -0
  61. package/dist/services/routing/queries/getRouteById.js +24 -0
  62. package/dist/services/routing/queries/getRouteById.js.map +1 -0
  63. package/dist/services/routing/queries/getRouteByPath.d.ts +12 -0
  64. package/dist/services/routing/queries/getRouteByPath.js +30 -0
  65. package/dist/services/routing/queries/getRouteByPath.js.map +1 -0
  66. package/dist/services/routing/resolver.d.ts +45 -0
  67. package/dist/services/routing/resolver.js +137 -0
  68. package/dist/services/routing/resolver.js.map +1 -0
  69. package/dist/services/routing/types.d.ts +3 -18
  70. package/dist/services/types.d.ts +14 -0
  71. package/dist/services/types.js +2 -0
  72. package/dist/services/types.js.map +1 -0
  73. package/dist/services/utils.d.ts +69 -0
  74. package/dist/services/utils.js +135 -0
  75. package/dist/services/utils.js.map +1 -0
  76. package/package.json +12 -7
  77. package/dist/admin-api/request.d.ts +0 -5
  78. package/dist/admin-api/request.js +0 -32
  79. package/dist/admin-api/request.js.map +0 -1
  80. package/dist/client/hmac-fetch.js.map +0 -1
  81. /package/dist/{client/hmac-fetch.d.ts → hmac-fetch.d.ts} +0 -0
@@ -1,243 +1,3 @@
1
- import { gql } from "graphql-request";
2
- import createClient, { isContentGraphClient } from '../../client/index.js';
3
- export class RouteResolver {
4
- /**
5
- * Create a new Route Resolver
6
- *
7
- * @param client ContentGraph configuration override
8
- * @param apolloConfig Apollo Client configuration override
9
- */
10
- constructor(clientOrConfig) {
11
- this._cgClient = isContentGraphClient(clientOrConfig) ? clientOrConfig : createClient(clientOrConfig);
12
- }
13
- async getRoutes(siteId) {
14
- this._cgClient.updateFlags({ queryCache: false }, true);
15
- let page = await this._cgClient.request(GetAllRoutes.query, { siteId, typeFilter: "Page" });
16
- let results = page?.Content?.items ?? [];
17
- const totalCount = page?.Content?.total ?? 0;
18
- const cursor = page?.Content?.cursor ?? '';
19
- if (totalCount > 0 && cursor !== '' && totalCount > results.length)
20
- while ((page?.Content?.items?.length ?? 0) > 0 && results.length < totalCount) {
21
- page = await this._cgClient.request({
22
- document: GetAllRoutes.query,
23
- variables: {
24
- cursor,
25
- siteId,
26
- typeFilter: "Page"
27
- }
28
- });
29
- results = results.concat(page.Content?.items ?? []);
30
- }
31
- this._cgClient.restoreFlags();
32
- return results.map(this.tryConvertResponse.bind(this)).filter(this.isNotNullOrUndefined);
33
- }
34
- async getContentInfoByPath(path, siteId) {
35
- if (this._cgClient.debug)
36
- console.log(`Resolving content info for ${path} on ${siteId ? "site " + siteId : "all sites"}`);
37
- const resultSet = await this._cgClient.request({
38
- document: GetRouteByPath.query,
39
- variables: {
40
- path,
41
- siteId
42
- }
43
- });
44
- if ((resultSet.Content?.items?.length ?? 0) === 0) {
45
- if (this._cgClient.debug)
46
- console.warn("No items in the resultset");
47
- return undefined;
48
- }
49
- if ((resultSet.Content?.items?.length ?? 0) > 1)
50
- throw new Error("Ambiguous URL provided, did you omit the siteId in a multi-channel setup?");
51
- if (this._cgClient.debug)
52
- console.log(`Resolved content info for ${path} to:`, resultSet.Content.items[0]);
53
- return this.convertResponse(resultSet.Content.items[0]);
54
- }
55
- async getContentInfoById(contentId, locale) {
56
- const [id, workId] = this.parseIdString(contentId);
57
- const variables = {
58
- id,
59
- workId,
60
- locale: locale.replaceAll('-', '_')
61
- };
62
- if (this._cgClient.debug)
63
- console.log("Resolving content by id:", JSON.stringify(variables));
64
- const resultSet = await this._cgClient.request({
65
- document: GetRouteById.query,
66
- variables
67
- });
68
- if (resultSet.Content?.total >= 1) {
69
- if (this._cgClient.debug && resultSet.Content?.total > 1)
70
- 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('; ')}`);
71
- return this.convertResponse(resultSet.Content.items[0]);
72
- }
73
- return undefined;
74
- }
75
- routeToContentLink(route) {
76
- return {
77
- id: route.id,
78
- workId: route.workId,
79
- guidValue: route.guid,
80
- locale: route.language
81
- };
82
- }
83
- parseIdString(id) {
84
- let cId = -1;
85
- let workId = null;
86
- if (id.indexOf("_") > 0) {
87
- [cId, workId] = id.split("_").map(x => {
88
- try {
89
- return Number.parseInt(x, 10);
90
- }
91
- catch {
92
- return -1;
93
- }
94
- });
95
- if (workId < 0)
96
- workId = null;
97
- }
98
- else {
99
- try {
100
- cId = Number.parseInt(id, 10);
101
- }
102
- catch {
103
- cId = -1;
104
- }
105
- }
106
- return [cId, workId];
107
- }
108
- convertResponse(item) {
109
- return {
110
- // Take the GQL response
111
- ...item,
112
- // Then add/override the needed fields
113
- url: new URL(item.url),
114
- id: item.contentLink?.id || 0,
115
- workId: item.contentLink?.workId,
116
- guid: item.contentLink?.guidValue || "",
117
- language: item.locale.name,
118
- published: item.published ? new Date(item.published) : null,
119
- changed: item.changed ? new Date(item.changed) : null
120
- };
121
- }
122
- tryConvertResponse(item) {
123
- try {
124
- return this.convertResponse(item);
125
- }
126
- catch (e) {
127
- console.error(`Unable to convert ${JSON.stringify(item)} to Route`, e);
128
- return undefined;
129
- }
130
- }
131
- isNotNullOrUndefined(input) {
132
- return input != null && input != undefined;
133
- }
134
- }
135
- export default RouteResolver;
136
- export var GetAllRoutes;
137
- (function (GetAllRoutes) {
138
- GetAllRoutes.query = gql `query GetAllRoutes($cursor: String, $pageSize: Int = 100, $typeFilter: [String] = "Page", $siteId: String = null)
139
- {
140
- Content(
141
- where: {
142
- _and: {
143
- _and: {
144
- RelativePath: { exist: true }
145
- ContentType: { in: $typeFilter }
146
- SiteId: { eq: $siteId }
147
- }
148
- RelativePath: { notIn: [""] }
149
- }
150
- },
151
- limit: $pageSize,
152
- cursor: $cursor
153
- ) {
154
- items {
155
- path: RelativePath
156
- locale:Language { name: Name }
157
- contentLink: ContentLink { id: Id, workId: WorkId, guidValue: GuidValue }
158
- name: Name
159
- contentType: ContentType
160
- slug: RouteSegment
161
- changed: Changed
162
- published: StartPublish
163
- siteId: SiteId
164
- url: Url
165
- },
166
- cursor,
167
- total
168
- }
169
- }`;
170
- })(GetAllRoutes || (GetAllRoutes = {}));
171
- export var GetRouteByPath;
172
- (function (GetRouteByPath) {
173
- GetRouteByPath.query = gql `query GetRouteByPath($path: String!, $siteId: String) {
174
- Content(
175
- where: {
176
- _and: {
177
- RelativePath: {
178
- eq: $path
179
- },
180
- SiteId: {
181
- eq:$siteId
182
- }
183
- }
184
- }
185
- )
186
- {
187
- total,
188
- items {
189
- route: RelativePath
190
- url: Url
191
- locale:Language { name: Name }
192
- contentLink: ContentLink { id: Id, workId: WorkId, guidValue: GuidValue }
193
- name: Name,
194
- contentType: ContentType,
195
- slug: RouteSegment,
196
- changed: Changed,
197
- published: StartPublish
198
- siteId: SiteId
199
- }
200
- }
201
- }`;
202
- })(GetRouteByPath || (GetRouteByPath = {}));
203
- export var GetRouteById;
204
- (function (GetRouteById) {
205
- GetRouteById.query = gql `query GetRouteById($id: Int!, $workId: Int, $locale: [Locales]!) {
206
- Content(
207
- where: {
208
- ContentLink: {
209
- Id: {
210
- eq: $id
211
- }
212
- WorkId: {
213
- eq: $workId
214
- }
215
- }
216
- },
217
- locale: $locale
218
- limit: 1,
219
- orderBy: {
220
- ContentLink: {
221
- WorkId: DESC
222
- }
223
- Status: ASC
224
- }
225
- )
226
- {
227
- total,
228
- items {
229
- route: RelativePath
230
- url: Url
231
- locale:Language { name: Name }
232
- contentLink: ContentLink { id: Id, workId: WorkId, guidValue: GuidValue }
233
- name: Name,
234
- contentType: ContentType,
235
- slug: RouteSegment,
236
- changed: Changed,
237
- published: StartPublish
238
- siteId: SiteId
239
- }
240
- }
241
- }`;
242
- })(GetRouteById || (GetRouteById = {}));
1
+ export * from "./resolver.js";
2
+ export { RouteResolver as default } from "./resolver.js";
243
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/routing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/routing/index.ts"],"names":[],"mappings":"AAEA,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,28 @@
1
+ export type Route = {
2
+ _metadata: {
3
+ key: string;
4
+ version: string;
5
+ locale: string;
6
+ displayName: string;
7
+ types: Array<string>;
8
+ url: {
9
+ path: string;
10
+ domain: string;
11
+ };
12
+ };
13
+ changed: string;
14
+ };
15
+ export type Result = {
16
+ Content: {
17
+ items: Route[];
18
+ cursor: string;
19
+ total: number;
20
+ };
21
+ };
22
+ export type Variables = {
23
+ cursor?: string;
24
+ pageSize?: number;
25
+ typeFilter?: string | string[];
26
+ domain?: string;
27
+ };
28
+ export declare const query: string;
@@ -0,0 +1,31 @@
1
+ import { gql } from "graphql-request";
2
+ export const query = gql `query GetAllRoutes($cursor: String, $pageSize: Int = 100, $typeFilter: [String] = "Page", $domain: String) {
3
+ Content(
4
+ where: {
5
+ _metadata: {
6
+ url: { hierarchical: { exist: true }, base: { eq: $domain } }
7
+ types: { in: $typeFilter }
8
+ }
9
+ }
10
+ limit: $pageSize
11
+ cursor: $cursor
12
+ ) {
13
+ items {
14
+ _metadata {
15
+ key
16
+ version
17
+ locale
18
+ displayName
19
+ types
20
+ url {
21
+ path: hierarchical
22
+ domain: base
23
+ }
24
+ }
25
+ changed: _modified
26
+ }
27
+ cursor
28
+ total
29
+ }
30
+ }`;
31
+ //# sourceMappingURL=getAllRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllRoutes.js","sourceRoot":"","sources":["../../../../src/services/routing/queries/getAllRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAgCrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BtB,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { type Route } from "./getAllRoutes.js";
2
+ export type Variables = {
3
+ key: string;
4
+ version?: string | null;
5
+ locale?: Array<string | null> | string | null;
6
+ };
7
+ export type Result = {
8
+ Content: {
9
+ total: number;
10
+ items: Route[];
11
+ };
12
+ };
13
+ export declare const query: string;
@@ -0,0 +1,24 @@
1
+ import { gql } from "graphql-request";
2
+ export const query = gql `query GetRouteById($key: String!, $version: String, $locale: [Locales]) {
3
+ Content(
4
+ where: { _metadata: { key: { eq: $key }, version: { eq: $workId } } }
5
+ locale: $locale
6
+ ) {
7
+ total
8
+ items {
9
+ _metadata {
10
+ key
11
+ version
12
+ locale
13
+ displayName
14
+ types
15
+ url {
16
+ path: hierarchical
17
+ domain: base
18
+ }
19
+ }
20
+ changed: _modified
21
+ }
22
+ }
23
+ }`;
24
+ //# sourceMappingURL=getRouteById.js.map
@@ -0,0 +1 @@
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;;;;;;;;;;;;;;;;;;;;;EAqBtB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { type Route } from "./getAllRoutes.js";
2
+ export type Variables = {
3
+ path: string;
4
+ domain?: string | null;
5
+ };
6
+ export type Result = {
7
+ Content: {
8
+ total: number;
9
+ items: Route[];
10
+ };
11
+ };
12
+ export declare const query: string;
@@ -0,0 +1,30 @@
1
+ import { gql } from "graphql-request";
2
+ export const query = gql `query GetRouteByPath($path: String!, $domain: String) {
3
+ Content(
4
+ where: {
5
+ _metadata: {
6
+ url: {
7
+ hierarchical: { eq: $path }
8
+ base: { eq: $domain }
9
+ }
10
+ }
11
+ }
12
+ ) {
13
+ total
14
+ items {
15
+ _metadata {
16
+ key
17
+ version
18
+ locale
19
+ displayName
20
+ types
21
+ url {
22
+ path: hierarchical
23
+ domain: base
24
+ }
25
+ }
26
+ changed: _modified
27
+ }
28
+ }
29
+ }`;
30
+ //# sourceMappingURL=getRouteByPath.js.map
@@ -0,0 +1 @@
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;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BtB,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { type IOptiGraphClient } from '../../client/index.js';
2
+ import type { OptimizelyGraphConfig } from '../../types.js';
3
+ import type { Route } from "./types.js";
4
+ import type { ContentLinkWithLocale } from '../types.js';
5
+ import * as GetAllRoutes from './queries/getAllRoutes.js';
6
+ /**
7
+ *
8
+ */
9
+ export declare class RouteResolver {
10
+ private _cgClient;
11
+ /**
12
+ * Create a new Route Resolver
13
+ *
14
+ * @param client ContentGraph configuration override
15
+ * @param apolloConfig Apollo Client configuration override
16
+ */
17
+ constructor(clientOrConfig?: IOptiGraphClient | OptimizelyGraphConfig);
18
+ /**
19
+ * Retrieve all registered routes for the provided domain - all domains if none specified
20
+ *
21
+ * @param domain The domain to filter on
22
+ * @returns The list of routes
23
+ */
24
+ getRoutes(domain?: string): Promise<Route[]>;
25
+ /**
26
+ * Retrieve route details by path
27
+ *
28
+ * @param path
29
+ * @param domain
30
+ * @returns The route information for the path
31
+ */
32
+ getContentInfoByPath(path: string, domain?: string): Promise<undefined | Route>;
33
+ getContentInfoById(key: string, locale?: string, version?: string | number): 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
+ protected convertResponse(item: GetAllRoutes.Route): Route;
42
+ protected tryConvertResponse(item: GetAllRoutes.Route): Route | undefined;
43
+ protected isNotNullOrUndefined<T>(input: T | null | undefined): input is T;
44
+ }
45
+ export default RouteResolver;
@@ -0,0 +1,137 @@
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';
7
+ // Main router class
8
+ /**
9
+ *
10
+ */
11
+ export class RouteResolver {
12
+ /**
13
+ * Create a new Route Resolver
14
+ *
15
+ * @param client ContentGraph configuration override
16
+ * @param apolloConfig Apollo Client configuration override
17
+ */
18
+ constructor(clientOrConfig) {
19
+ this._cgClient = isContentGraphClient(clientOrConfig) ? clientOrConfig : createClient(clientOrConfig);
20
+ }
21
+ /**
22
+ * Retrieve all registered routes for the provided domain - all domains if none specified
23
+ *
24
+ * @param domain The domain to filter on
25
+ * @returns The list of routes
26
+ */
27
+ async getRoutes(domain) {
28
+ this._cgClient.updateFlags({ queryCache: false }, true);
29
+ let page = await this._cgClient.request(GetAllRoutes.query, { domain }).catch(e => {
30
+ if (this._cgClient.debug)
31
+ console.error("[RouteResolver] Error while fetching routes", e);
32
+ return undefined;
33
+ });
34
+ let results = page?.Content?.items ?? [];
35
+ const totalCount = page?.Content?.total ?? 0;
36
+ const cursor = page?.Content?.cursor ?? '';
37
+ if (totalCount > 0 && cursor !== '' && totalCount > results.length)
38
+ while ((page?.Content?.items?.length ?? 0) > 0 && results.length < totalCount) {
39
+ page = await this._cgClient.request({
40
+ document: GetAllRoutes.query,
41
+ variables: {
42
+ cursor,
43
+ domain
44
+ }
45
+ });
46
+ results = results.concat(page.Content?.items ?? []);
47
+ }
48
+ this._cgClient.restoreFlags();
49
+ return results.map(this.tryConvertResponse.bind(this)).filter(this.isNotNullOrUndefined);
50
+ }
51
+ /**
52
+ * Retrieve route details by path
53
+ *
54
+ * @param path
55
+ * @param domain
56
+ * @returns The route information for the path
57
+ */
58
+ async getContentInfoByPath(path, domain) {
59
+ if (this._cgClient.debug)
60
+ console.log(`Resolving content info for ${path} on ${domain ? domain : "all domains"}`);
61
+ const resultSet = await this._cgClient.request({
62
+ document: GetRouteByPath.query,
63
+ variables: { path, domain }
64
+ });
65
+ if ((resultSet.Content?.items?.length ?? 0) === 0) {
66
+ if (this._cgClient.debug)
67
+ console.warn("No items in the resultset");
68
+ return undefined;
69
+ }
70
+ if ((resultSet.Content?.items?.length ?? 0) > 1)
71
+ throw new Error("Ambiguous URL provided, did you omit the siteId in a multi-channel setup?");
72
+ if (this._cgClient.debug)
73
+ console.log(`Resolved content info for ${path} to:`, resultSet.Content.items[0]);
74
+ return this.convertResponse(resultSet.Content.items[0]);
75
+ }
76
+ 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;
90
+ }
91
+ /**
92
+ * Extract a content link from a route definition
93
+ *
94
+ * @param route The route to parse
95
+ * @returns The ContentLink, with locale information
96
+ */
97
+ routeToContentLink(route) {
98
+ return {
99
+ key: route.key,
100
+ version: route.version,
101
+ locale: route.locale
102
+ };
103
+ }
104
+ convertResponse(item) {
105
+ let itemUrl = new URL('http://localhost');
106
+ try {
107
+ itemUrl = new URL(item._metadata.url.path, item._metadata.url.domain);
108
+ }
109
+ catch (e) {
110
+ //Ignore
111
+ }
112
+ return {
113
+ locale: item._metadata.locale,
114
+ path: item._metadata.url.path,
115
+ url: itemUrl,
116
+ slug: "",
117
+ changed: item.changed ? new Date(item.changed) : null,
118
+ contentType: item._metadata.types,
119
+ version: item._metadata.version,
120
+ key: item._metadata.key
121
+ };
122
+ }
123
+ tryConvertResponse(item) {
124
+ try {
125
+ return this.convertResponse(item);
126
+ }
127
+ catch (e) {
128
+ console.error(`Unable to convert ${JSON.stringify(item)} to Route`, e);
129
+ return undefined;
130
+ }
131
+ }
132
+ isNotNullOrUndefined(input) {
133
+ return input != null && input != undefined;
134
+ }
135
+ }
136
+ export default RouteResolver;
137
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/services/routing/resolver.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,10 @@
1
- export type ContentLink = {
2
- id: number;
3
- workId?: number | null;
4
- guidValue?: string | null;
5
- } | {
6
- id?: number | null;
7
- workId?: number | null;
8
- guidValue: string;
9
- };
10
- export type ContentLinkWithLocale = ContentLink & {
11
- locale?: string;
12
- };
13
1
  export type Route = {
14
- language: string;
2
+ locale: string;
15
3
  path: string;
16
4
  url: URL;
17
5
  slug: string;
18
6
  changed: Date | null;
19
- published: Date | null;
20
7
  contentType: string[];
21
- id: number;
22
- workId?: number | null;
23
- guid: string;
24
- siteId: string;
8
+ version?: string | null;
9
+ key: string;
25
10
  };
@@ -0,0 +1,14 @@
1
+ export type ContentLink = {
2
+ key: string;
3
+ version?: string | null;
4
+ };
5
+ export type InlineContentLink = {
6
+ key?: null | undefined;
7
+ version?: null;
8
+ };
9
+ export type ContentLinkWithLocale<LocaleType = string> = ContentLink & {
10
+ locale?: LocaleType;
11
+ };
12
+ export type InlineContentLinkWithLocale<LocaleType = string> = InlineContentLink & {
13
+ locale?: LocaleType;
14
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":""}