@remkoj/optimizely-graph-client 5.0.2 → 5.1.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/README.md +110 -2
- package/dist/client/client.d.ts +5 -0
- package/dist/client/client.js +19 -0
- package/dist/client/client.js.map +1 -1
- package/dist/client/types.d.ts +20 -0
- package/dist/services/channel-repository/definition.d.ts +19 -2
- package/dist/services/channel-repository/definition.js +42 -9
- package/dist/services/channel-repository/definition.js.map +1 -1
- package/dist/services/channel-repository/index.d.ts +3 -1
- package/dist/services/channel-repository/index.js +1 -1
- package/dist/services/channel-repository/index.js.map +1 -1
- package/dist/services/channel-repository/repository.d.ts +12 -0
- package/dist/services/channel-repository/repository.js +41 -0
- package/dist/services/channel-repository/repository.js.map +1 -1
- package/dist/services/channel-repository/types.d.ts +24 -2
- package/dist/services/routing/queries/cms12/index.d.ts +2 -0
- package/dist/services/routing/queries/cms12/index.js +6 -0
- package/dist/services/routing/queries/cms12/index.js.map +1 -1
- package/dist/services/routing/queries/cms13/getAllRoutes.d.ts +1 -0
- package/dist/services/routing/queries/cms13/getAllRoutes.js +2 -1
- package/dist/services/routing/queries/cms13/getAllRoutes.js.map +1 -1
- package/dist/services/routing/queries/cms13/getRouteById.d.ts +1 -0
- package/dist/services/routing/queries/cms13/getRouteById.js +27 -25
- package/dist/services/routing/queries/cms13/getRouteById.js.map +1 -1
- package/dist/services/routing/queries/cms13/getRouteByPath.d.ts +1 -0
- package/dist/services/routing/queries/cms13/getRouteByPath.js.map +1 -1
- package/dist/services/routing/queries/cms13/index.d.ts +3 -0
- package/dist/services/routing/queries/cms13/index.js +17 -7
- package/dist/services/routing/queries/cms13/index.js.map +1 -1
- package/dist/services/routing/queries/types.d.ts +2 -0
- package/dist/services/routing/resolver.d.ts +3 -1
- package/dist/services/routing/resolver.js +15 -2
- package/dist/services/routing/resolver.js.map +1 -1
- package/dist/services/routing/types.d.ts +25 -0
- package/dist/services/types.d.ts +3 -1
- package/dist/services/utils.d.ts +4 -1
- package/dist/services/utils.js +9 -1
- package/dist/services/utils.js.map +1 -1
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -12,7 +12,10 @@ An extension of the [graphql-request](https://www.npmjs.com/package/graphql-requ
|
|
|
12
12
|
- [2.2.4. Token passthrough](#224-token-passthrough)
|
|
13
13
|
- [2.3. Admin API](#23-admin-api)
|
|
14
14
|
- [3. Configuration](#3-configuration)
|
|
15
|
-
- [3.1.
|
|
15
|
+
- [3.1. Preview mode/deployments](#31-preview-modedeployments)
|
|
16
|
+
- [3.2. Advanced Features](#32-advanced-features)
|
|
17
|
+
- [4. Routing using the `RouteResolver`](#4-routing-using-the-routeresolver)
|
|
18
|
+
- [5. Multi-Site using the `ChannelRepository`](#5-multi-site-using-the-channelrepository)
|
|
16
19
|
|
|
17
20
|
## 1. Provided services
|
|
18
21
|
The package contains the following services:
|
|
@@ -164,7 +167,53 @@ The following configuration options are available, the table lists both the envi
|
|
|
164
167
|
| `OPTIMIZELY_GRAPH_QUERY_LOG` | query_log | no | Set to "true" to enable query output to the console |
|
|
165
168
|
| `OPTIMIZELY_DEBUG` | debug | no | Set to "true" to enable verbose debug output to the console |
|
|
166
169
|
|
|
167
|
-
### 3.1.
|
|
170
|
+
### 3.1. Preview mode/deployments
|
|
171
|
+
When using a preview deployment or preview mode, the Optimizely Graph client can be used to signal this state to other parts of the application that need to use this in order to adjust the query needed to retrieve the appropriate preview content.
|
|
172
|
+
|
|
173
|
+
To leverage this capability, take these steps:
|
|
174
|
+
|
|
175
|
+
1. Switch the client to a fully authenticated mode, by providing the App Key and App Secret and then enabling an authenticated connection: `client.updateAuthentication(AuthMode.HMAC)`. <br/><br/>**WARNING:** This disables all auhtorization at Optimizely Graph, moving the authorization responsibility to the preview mode/deployment.<br/><br/>
|
|
176
|
+
2. Enable the preview flag for the GraphQL Client, optionally providing the changeset key to use (when a specific changeset is required): `client.enablePreview()`.
|
|
177
|
+
|
|
178
|
+
Relevant methods:
|
|
179
|
+
- `enablePreview(changeset?: string): IOptiGraphClient`: Enable the preview flag for this client, optionally overriding the default changeset with a specific one.
|
|
180
|
+
- `disablePreview(): IOptiGraphClient`: Remove the "enablePreview" flag for this client.
|
|
181
|
+
- `isPreviewEnabled(): boolean`: Check if the preview has been enabled.
|
|
182
|
+
- `getChangeset(): string | null`: Get the current changeset for this client, returns `null` when preview mode is disabled.
|
|
183
|
+
|
|
184
|
+
#### Example: Enabling preview mode <!-- omit in toc -->
|
|
185
|
+
```typescript
|
|
186
|
+
// Implement your preview mode logic here
|
|
187
|
+
const inPrevieMode = false;
|
|
188
|
+
|
|
189
|
+
// Create a fresh client instance, if you're using environment variables, you may omit the configuration object.
|
|
190
|
+
const client = createClient({
|
|
191
|
+
single_key: "your single key",
|
|
192
|
+
app_key: "your app key",
|
|
193
|
+
secret: "your secret"
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
// Only if preview mode is active
|
|
197
|
+
if (inPreviewMode) {
|
|
198
|
+
// Bypass Graph Authentication and allow access to all content versions
|
|
199
|
+
client.updateAuthentication(AuthMode.HMAC)
|
|
200
|
+
|
|
201
|
+
// Enable preview mode for the default changeset
|
|
202
|
+
client.enablePreview()
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
#### Example: Checking preview mode <!-- omit in toc -->
|
|
207
|
+
```typescript
|
|
208
|
+
// We're assuming that you've received the client instance in a constant named `client`. We'r reading the current changeset from it.
|
|
209
|
+
const changeset = client.getChangeset();
|
|
210
|
+
|
|
211
|
+
if (changeset) {
|
|
212
|
+
// preview mode is active, the changeset is a string which can be used in the where clause on the _IContent._metadata.changeset field in Optimizely Graph.
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### 3.2. Advanced Features
|
|
168
217
|
The Optimizely Graph Client has support for a number of the feature flags in Optimizely Graph and can enable/disable those on the fly.
|
|
169
218
|
|
|
170
219
|
The following features can currently be toggled:
|
|
@@ -191,3 +240,62 @@ client.updateFlags({ queryCache: false }, true);
|
|
|
191
240
|
client.request(/* arguments */) // Or use - for example - an SDK / Function generated by GraphQL-Codegen
|
|
192
241
|
client.restoreFlags();
|
|
193
242
|
```
|
|
243
|
+
|
|
244
|
+
## 4. Routing using the `RouteResolver`
|
|
245
|
+
Optimizely CMS has built-in routing logic to enable marketeers to easily add and remove pages and move them around. To make this work, the frontend needs to be able to:
|
|
246
|
+
- Resolve the route (path) for every content item
|
|
247
|
+
- Resolve the content item for each path
|
|
248
|
+
- List all paths available for a given application
|
|
249
|
+
|
|
250
|
+
The router fully supports the *preview mode* flags exposed by the Optimizely Graph Client and will filter the routes based upon the selected changeset.
|
|
251
|
+
|
|
252
|
+
This is where the RouteResolver comes in and provides these capabilites, whithout the need to write the GraphQL queries for this process.
|
|
253
|
+
|
|
254
|
+
#### Example <!-- omit in toc -->
|
|
255
|
+
```typescript
|
|
256
|
+
// Get the Router from the package
|
|
257
|
+
import Router from '@remkoj/optimizely-graph-client/router'
|
|
258
|
+
|
|
259
|
+
// Create a new instance, using the Optimizely Graph client
|
|
260
|
+
const router = new Router(client)
|
|
261
|
+
|
|
262
|
+
// Retrieve all routes from Optimizely Graph, optionally provide the
|
|
263
|
+
// primary application domain as first parameter.
|
|
264
|
+
const allPaths = await router.getRoutes()
|
|
265
|
+
|
|
266
|
+
// Retrieve route information based upon a path. Either by providing a
|
|
267
|
+
// path and optional domain (2nd paramter), or URL object as first
|
|
268
|
+
// parameter.
|
|
269
|
+
const routeByPath = await router.getContentInfoByPath(path, domain);
|
|
270
|
+
|
|
271
|
+
// Retieve route information based upon the unique identifiers of a
|
|
272
|
+
// content item.
|
|
273
|
+
const routeByContentId = await router.getContentInfoById(key, locale, version);
|
|
274
|
+
|
|
275
|
+
// Transform the provided route info into a ContentLink instance that
|
|
276
|
+
// can be used by other parts of the SDK.
|
|
277
|
+
const contentLink = router.routeToContentLink(routeByPath);
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
## 5. Multi-Site using the `ChannelRepository`
|
|
281
|
+
The Optimizely CMS is fully multi-site, multi-application and multi-language aware. To simplify working with these concepts, there's a channel repository allowing you acces to these concepts<sup>1</sup>.
|
|
282
|
+
|
|
283
|
+
To generate a custom site defintion, the repository has a static method `createDefinition`.
|
|
284
|
+
|
|
285
|
+
#### Example <!-- omit in toc -->
|
|
286
|
+
```typescript
|
|
287
|
+
import ChannelRepository from '@remkoj/optimizely-graph-client/channels'
|
|
288
|
+
|
|
289
|
+
// Read the CMS URL
|
|
290
|
+
const cms_url = process.env.OPTIMIZELY_CMS_URL ?? 'https://example.cms.optimizely.com';
|
|
291
|
+
|
|
292
|
+
// Create the channel
|
|
293
|
+
const channel = ChannelRepository.createDefinition(
|
|
294
|
+
"Example project", // The name of the site
|
|
295
|
+
"http://localhost:3000", // The primary domain of the deployment
|
|
296
|
+
["en", "en-US", "en-UK"], // The available locales
|
|
297
|
+
cms_url // The URL of the CMS instance - optionally provide an Optimizely Graph Client
|
|
298
|
+
)
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
*1. The application definitions are not available through Graph for SaaS CMS, hence the repository can only instantiated for PaaS CMS 12*
|
package/dist/client/client.d.ts
CHANGED
|
@@ -54,5 +54,10 @@ export declare class ContentGraphClient extends GraphQLClient implements IOptiGr
|
|
|
54
54
|
* @returns The cache status
|
|
55
55
|
*/
|
|
56
56
|
protected get cacheEnabled(): boolean;
|
|
57
|
+
private _changeset;
|
|
58
|
+
enablePreview(changeset?: string): IOptiGraphClient;
|
|
59
|
+
disablePreview(): IOptiGraphClient;
|
|
60
|
+
isPreviewEnabled(): boolean;
|
|
61
|
+
getChangeset(): string | null;
|
|
57
62
|
}
|
|
58
63
|
export default ContentGraphClient;
|
package/dist/client/client.js
CHANGED
|
@@ -123,6 +123,7 @@ export class ContentGraphClient extends GraphQLClient {
|
|
|
123
123
|
return this.request(...args);
|
|
124
124
|
};
|
|
125
125
|
this._oldFlags = undefined;
|
|
126
|
+
this._changeset = null;
|
|
126
127
|
// Set variables
|
|
127
128
|
this._config = optiConfig;
|
|
128
129
|
this._token = token;
|
|
@@ -282,6 +283,8 @@ export class ContentGraphClient extends GraphQLClient {
|
|
|
282
283
|
serviceUrl.searchParams.set('omit_empty', this._flags.omitEmpty ? 'true' : 'false');
|
|
283
284
|
serviceUrl.searchParams.set('authMode', this.currentAuthMode);
|
|
284
285
|
serviceUrl.searchParams.set('unique', this._flags.cache_uniq ? 'true' : 'false');
|
|
286
|
+
if (this.isPreviewEnabled())
|
|
287
|
+
serviceUrl.searchParams.set('changeset', this.getChangeset() ?? '');
|
|
285
288
|
if (this.debug)
|
|
286
289
|
console.log(`🔗 [Optimizely Graph] Setting service endpoint to: ${serviceUrl.href}`);
|
|
287
290
|
return serviceUrl.href;
|
|
@@ -295,6 +298,22 @@ export class ContentGraphClient extends GraphQLClient {
|
|
|
295
298
|
get cacheEnabled() {
|
|
296
299
|
return this._flags.cache && this.currentAuthMode == AuthMode.Public;
|
|
297
300
|
}
|
|
301
|
+
enablePreview(changeset = "default") {
|
|
302
|
+
this._changeset = changeset;
|
|
303
|
+
this.updateRequestConfig();
|
|
304
|
+
return this;
|
|
305
|
+
}
|
|
306
|
+
disablePreview() {
|
|
307
|
+
this._changeset = null;
|
|
308
|
+
this.updateRequestConfig();
|
|
309
|
+
return this;
|
|
310
|
+
}
|
|
311
|
+
isPreviewEnabled() {
|
|
312
|
+
return typeof (this._changeset) == 'string';
|
|
313
|
+
}
|
|
314
|
+
getChangeset() {
|
|
315
|
+
return this._changeset;
|
|
316
|
+
}
|
|
298
317
|
}
|
|
299
318
|
ContentGraphClient.ForceHmacToken = AuthMode.HMAC;
|
|
300
319
|
ContentGraphClient.ForceBasicAuth = AuthMode.Basic;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -212,5 +212,25 @@ export interface IOptiGraphClient extends ClientInstanceType {
|
|
|
212
212
|
* @returns
|
|
213
213
|
*/
|
|
214
214
|
setRequestMiddleware: (additionalMiddleware: RequestMiddleware) => IOptiGraphClient;
|
|
215
|
+
/**
|
|
216
|
+
* Enable the "enablePreview" flag for this client. Setting this will not
|
|
217
|
+
* affect the client itself, but makes the configuration of the preview
|
|
218
|
+
* available to the application through the `getChangeset` method.
|
|
219
|
+
*
|
|
220
|
+
* @param changeset The changeset to apply, uses the default changeset if omitted
|
|
221
|
+
*/
|
|
222
|
+
enablePreview(changeset?: string): IOptiGraphClient;
|
|
223
|
+
/**
|
|
224
|
+
* Remove the "enablePreview" flag for this client.
|
|
225
|
+
*/
|
|
226
|
+
disablePreview(): IOptiGraphClient;
|
|
227
|
+
/**
|
|
228
|
+
* Check if the preview has been enabled
|
|
229
|
+
*/
|
|
230
|
+
isPreviewEnabled(): boolean;
|
|
231
|
+
/**
|
|
232
|
+
* Get the current changeset for this client
|
|
233
|
+
*/
|
|
234
|
+
getChangeset(): string | null;
|
|
215
235
|
}
|
|
216
236
|
export type ClientFactory = (token?: string) => IOptiGraphClient;
|
|
@@ -5,15 +5,17 @@ export declare class ChannelDefinition implements Readonly<ChannelDefinitionData
|
|
|
5
5
|
readonly domains: ChannelDomain[];
|
|
6
6
|
readonly locales: ChannelLocale[];
|
|
7
7
|
readonly content: ChannelContent;
|
|
8
|
+
protected readonly dxp_url: string;
|
|
8
9
|
get isDev(): boolean;
|
|
9
10
|
get defaultLocale(): string;
|
|
10
11
|
get defaultDomain(): string;
|
|
11
|
-
protected dxp_url: string;
|
|
12
|
-
protected get editDomain(): string | undefined;
|
|
13
12
|
constructor(initialData: ChannelDefinitionData, dxp_url: string);
|
|
14
13
|
getPrimaryDomain(): URL;
|
|
15
14
|
getEditDomain(): URL;
|
|
16
15
|
getCmsUrl(): string;
|
|
16
|
+
protected getPrimaryChannelDomain(): ChannelDomain | undefined;
|
|
17
|
+
getDomainForLocale(locale: string): URL;
|
|
18
|
+
protected channelDomainToUrl(d: ChannelDomain): URL;
|
|
17
19
|
/**
|
|
18
20
|
* Retieve the default locale specification, defined as the locale marked
|
|
19
21
|
* as "primary" else the first locale of the channel. When the channel
|
|
@@ -89,4 +91,19 @@ export declare class ChannelDefinition implements Readonly<ChannelDefinitionData
|
|
|
89
91
|
*/
|
|
90
92
|
asDataObject(): Readonly<[ReadonlyChannelDefinitionData, string]>;
|
|
91
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Test if the input varaible is an object of type ChannelDefinition
|
|
96
|
+
*
|
|
97
|
+
* @param toTest The value to test
|
|
98
|
+
* @returns `true` if the value is a ChannelDefinition, `false` otherwise
|
|
99
|
+
*/
|
|
100
|
+
export declare function isChannelDefinition(toTest: any): toTest is ChannelDefinition;
|
|
101
|
+
/**
|
|
102
|
+
* Apply a gate on the input variable. It will returned by this function if it is a
|
|
103
|
+
* `ChannelDefinition`. The function will return `undefined` otherwise.
|
|
104
|
+
*
|
|
105
|
+
* @param toTest The value to gate
|
|
106
|
+
* @returns Either `toTest` or `undefined`, depending on the type of `toTest`
|
|
107
|
+
*/
|
|
108
|
+
export declare function ifChannelDefinition(toTest: any): ChannelDefinition | undefined;
|
|
92
109
|
export default ChannelDefinition;
|
|
@@ -11,12 +11,8 @@ export class ChannelDefinition {
|
|
|
11
11
|
return (this.locales.filter(x => x.isDefault)[0] || this.locales[0])?.code ?? "en";
|
|
12
12
|
}
|
|
13
13
|
get defaultDomain() {
|
|
14
|
-
const
|
|
15
|
-
return
|
|
16
|
-
}
|
|
17
|
-
get editDomain() {
|
|
18
|
-
const editDomain = this.domains.filter(x => x.isEdit)[0];
|
|
19
|
-
return editDomain?.name;
|
|
14
|
+
const pd = this.getPrimaryChannelDomain();
|
|
15
|
+
return pd?.name ?? "localhost:3000";
|
|
20
16
|
}
|
|
21
17
|
constructor(initialData, dxp_url) {
|
|
22
18
|
this.id = initialData.id;
|
|
@@ -27,15 +23,31 @@ export class ChannelDefinition {
|
|
|
27
23
|
this.dxp_url = dxp_url;
|
|
28
24
|
}
|
|
29
25
|
getPrimaryDomain() {
|
|
30
|
-
|
|
26
|
+
const pd = this.getPrimaryChannelDomain();
|
|
27
|
+
if (pd)
|
|
28
|
+
return this.channelDomainToUrl(pd);
|
|
29
|
+
return new URL('http://localhost:3000');
|
|
31
30
|
}
|
|
32
31
|
getEditDomain() {
|
|
33
|
-
const edit = this.
|
|
34
|
-
return edit ?
|
|
32
|
+
const edit = this.domains.filter(x => x.isEdit).at(0);
|
|
33
|
+
return edit ? this.channelDomainToUrl(edit) : new URL(this.dxp_url);
|
|
35
34
|
}
|
|
36
35
|
getCmsUrl() {
|
|
37
36
|
return this.dxp_url;
|
|
38
37
|
}
|
|
38
|
+
getPrimaryChannelDomain() {
|
|
39
|
+
return this.domains.filter(x => x.isPrimary).at(0) || this.domains.filter(x => x.name.startsWith('localhost') || x.name.includes('.local')).at(0);
|
|
40
|
+
}
|
|
41
|
+
getDomainForLocale(locale) {
|
|
42
|
+
const selected = this.domains.filter(x => x.forLocale === locale).at(0) || this.getPrimaryChannelDomain();
|
|
43
|
+
if (selected)
|
|
44
|
+
return this.channelDomainToUrl(selected);
|
|
45
|
+
return new URL('http://localhost:3000');
|
|
46
|
+
}
|
|
47
|
+
channelDomainToUrl(d) {
|
|
48
|
+
const isSecure = d.isSecure === undefined ? this.isDev : d.isSecure;
|
|
49
|
+
return new URL(`http${isSecure ? 's' : ''}://${d.name}`);
|
|
50
|
+
}
|
|
39
51
|
/**
|
|
40
52
|
* Retieve the default locale specification, defined as the locale marked
|
|
41
53
|
* as "primary" else the first locale of the channel. When the channel
|
|
@@ -135,5 +147,26 @@ export class ChannelDefinition {
|
|
|
135
147
|
}, this.dxp_url];
|
|
136
148
|
}
|
|
137
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Test if the input varaible is an object of type ChannelDefinition
|
|
152
|
+
*
|
|
153
|
+
* @param toTest The value to test
|
|
154
|
+
* @returns `true` if the value is a ChannelDefinition, `false` otherwise
|
|
155
|
+
*/
|
|
156
|
+
export function isChannelDefinition(toTest) {
|
|
157
|
+
if (typeof toTest !== 'object' || toTest === null)
|
|
158
|
+
return false;
|
|
159
|
+
return typeof toTest.id === 'string' && typeof toTest.getPrimaryDomain === 'function';
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Apply a gate on the input variable. It will returned by this function if it is a
|
|
163
|
+
* `ChannelDefinition`. The function will return `undefined` otherwise.
|
|
164
|
+
*
|
|
165
|
+
* @param toTest The value to gate
|
|
166
|
+
* @returns Either `toTest` or `undefined`, depending on the type of `toTest`
|
|
167
|
+
*/
|
|
168
|
+
export function ifChannelDefinition(toTest) {
|
|
169
|
+
return isChannelDefinition(toTest) ? toTest : undefined;
|
|
170
|
+
}
|
|
138
171
|
export default ChannelDefinition;
|
|
139
172
|
//# sourceMappingURL=definition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/services/channel-repository/definition.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/services/channel-repository/definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export { ChannelRepository, ChannelRepository as default } from './repository.js';
|
|
2
|
-
export { ChannelDefinition } from './definition.js';
|
|
2
|
+
export { ChannelDefinition, isChannelDefinition, ifChannelDefinition } from './definition.js';
|
|
3
|
+
export { type ChannelDomain, type ChannelLocale, type ChannelDefinitionData, type ChannelContent } from './types.js';
|
|
4
|
+
export { type ContentLink } from '../types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/channel-repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/channel-repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ChannelLocale } from './types.js';
|
|
1
2
|
import { type OptimizelyGraphConfig } from '../../types.js';
|
|
2
3
|
import { type IOptiGraphClient } from '../../client/index.js';
|
|
3
4
|
import ChannelDefinition from './definition.js';
|
|
@@ -11,5 +12,16 @@ export declare class ChannelRepository {
|
|
|
11
12
|
getCmsDomain(): string;
|
|
12
13
|
getDefault(): Promise<Readonly<ChannelDefinition> | null>;
|
|
13
14
|
protected transformGraphResponse(ch: any): ChannelDefinition;
|
|
15
|
+
/**
|
|
16
|
+
* Generate a Channel Definition object from the minimal number
|
|
17
|
+
* of parameters required.
|
|
18
|
+
*
|
|
19
|
+
* @param name The name of the channel
|
|
20
|
+
* @param domain The primary domain of the channel, without protocol or path (e.g. example.com)
|
|
21
|
+
* @param locales The list of locales, either as a string (first a ISO 639-1 language code, then a dash, then a ISO 3166 region code, for example: en-US), or a `ChannelLocale` object
|
|
22
|
+
* @param cmsDomainGraphClientOrConfig A means to infer the CMS domain, either directly provided or through the Optimizely Graph Client
|
|
23
|
+
* @returns The ChannelDefinition
|
|
24
|
+
*/
|
|
25
|
+
static createDefinition(name: string, domain: string | URL, locales: (string | ChannelLocale)[], cmsDomainGraphClientOrConfig?: string | IOptiGraphClient | OptimizelyGraphConfig): ChannelDefinition;
|
|
14
26
|
}
|
|
15
27
|
export default ChannelRepository;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { v4 as generateGuid } from 'uuid';
|
|
1
2
|
import createClient, { isOptiGraphClient, OptiCmsSchema } from '../../client/index.js';
|
|
2
3
|
import ChannelDefinition from './definition.js';
|
|
3
4
|
import * as Queries from './queries.js';
|
|
@@ -72,6 +73,46 @@ export class ChannelRepository {
|
|
|
72
73
|
}
|
|
73
74
|
}, this.getCmsDomain());
|
|
74
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Generate a Channel Definition object from the minimal number
|
|
78
|
+
* of parameters required.
|
|
79
|
+
*
|
|
80
|
+
* @param name The name of the channel
|
|
81
|
+
* @param domain The primary domain of the channel, without protocol or path (e.g. example.com)
|
|
82
|
+
* @param locales The list of locales, either as a string (first a ISO 639-1 language code, then a dash, then a ISO 3166 region code, for example: en-US), or a `ChannelLocale` object
|
|
83
|
+
* @param cmsDomainGraphClientOrConfig A means to infer the CMS domain, either directly provided or through the Optimizely Graph Client
|
|
84
|
+
* @returns The ChannelDefinition
|
|
85
|
+
*/
|
|
86
|
+
static createDefinition(name, domain, locales, cmsDomainGraphClientOrConfig) {
|
|
87
|
+
const dxp_url = typeof cmsDomainGraphClientOrConfig === 'string' ? cmsDomainGraphClientOrConfig : (isOptiGraphClient(cmsDomainGraphClientOrConfig) ? cmsDomainGraphClientOrConfig.siteInfo.cmsURL : cmsDomainGraphClientOrConfig?.dxp_url) ?? 'https://example.cms.optimizely.com';
|
|
88
|
+
const domainName = isURL(domain) ? domain.host : domain;
|
|
89
|
+
const isSecure = isURL(domain) ? domain.protocol === 'https:' : !(domain.includes(".local") || domain.startsWith("localhost"));
|
|
90
|
+
const data = {
|
|
91
|
+
id: generateGuid(),
|
|
92
|
+
name,
|
|
93
|
+
domains: [{
|
|
94
|
+
isEdit: false,
|
|
95
|
+
isPrimary: true,
|
|
96
|
+
isSecure,
|
|
97
|
+
name: domainName,
|
|
98
|
+
}],
|
|
99
|
+
content: {},
|
|
100
|
+
locales: locales.map((locale => {
|
|
101
|
+
if (typeof locale === 'string')
|
|
102
|
+
return {
|
|
103
|
+
code: locale,
|
|
104
|
+
isDefault: false,
|
|
105
|
+
slug: locale.toLowerCase(),
|
|
106
|
+
graphLocale: localeToGraphLocale(locale)
|
|
107
|
+
};
|
|
108
|
+
return locale;
|
|
109
|
+
}))
|
|
110
|
+
};
|
|
111
|
+
return new ChannelDefinition(data, dxp_url);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function isURL(toTest) {
|
|
115
|
+
return typeof (toTest) === 'object' && toTest !== null && typeof (toTest.protocol) === 'string';
|
|
75
116
|
}
|
|
76
117
|
export default ChannelRepository;
|
|
77
118
|
//# sourceMappingURL=repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/services/channel-repository/repository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/services/channel-repository/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,31 @@
|
|
|
1
1
|
import type { ContentLink } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Domain definition for a Channel Domain
|
|
4
|
+
*/
|
|
2
5
|
export type ChannelDomain = {
|
|
6
|
+
/**
|
|
7
|
+
* The domain name, without protocol
|
|
8
|
+
*/
|
|
3
9
|
name: string;
|
|
10
|
+
/**
|
|
11
|
+
* Marker to set if this is the primary domain, e.g. the domain
|
|
12
|
+
* to use if there's no other matching.
|
|
13
|
+
*/
|
|
4
14
|
isPrimary: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Marker to set if this is the edit domain, e.g. the domain
|
|
17
|
+
* to use if there's no other matching.
|
|
18
|
+
*/
|
|
5
19
|
isEdit: boolean;
|
|
6
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Marker to set if this domain uses a secure protocol
|
|
22
|
+
*/
|
|
23
|
+
isSecure?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The locale for this domain. It's to be used for all unmapped
|
|
26
|
+
* locales when this is `undefined` or `"ALL"`.
|
|
27
|
+
*/
|
|
28
|
+
forLocale?: "ALL" | string;
|
|
7
29
|
};
|
|
8
30
|
export type ChannelLocale = {
|
|
9
31
|
code: string;
|
|
@@ -12,7 +34,7 @@ export type ChannelLocale = {
|
|
|
12
34
|
isDefault: boolean;
|
|
13
35
|
};
|
|
14
36
|
export type ChannelContent = {
|
|
15
|
-
startPage
|
|
37
|
+
startPage?: ContentLink;
|
|
16
38
|
};
|
|
17
39
|
export type ChannelDefinitionData = {
|
|
18
40
|
id: string;
|
|
@@ -3,6 +3,8 @@ import type { Route } from '../../types.js';
|
|
|
3
3
|
import { type IOptiGraphClient as GraphQLClient } from '../../../../client/types.js';
|
|
4
4
|
import { type OptimizelyCmsRoutingApi } from '../types.js';
|
|
5
5
|
export declare class OptimizelyCms12Client implements OptimizelyCmsRoutingApi {
|
|
6
|
+
enablePreview(): void;
|
|
7
|
+
disablePreview(): void;
|
|
6
8
|
getRoutes(client: GraphQLClient, siteId?: string): Promise<Route[]>;
|
|
7
9
|
getRouteByPath(client: GraphQLClient, path: string, siteId?: string): Promise<undefined | Route>;
|
|
8
10
|
getRouteById(client: GraphQLClient, contentId: string, locale: string, version: string | number): Promise<undefined | Route>;
|
|
@@ -2,6 +2,12 @@ import * as GetAllRoutes from './getAllRoutes.js';
|
|
|
2
2
|
import * as GetRouteById from './getRouteById.js';
|
|
3
3
|
import * as GetRouteByPath from './getRouteByPath.js';
|
|
4
4
|
export class OptimizelyCms12Client {
|
|
5
|
+
enablePreview() {
|
|
6
|
+
throw new Error("The CMS 12 implementation does not support preview mode");
|
|
7
|
+
}
|
|
8
|
+
disablePreview() {
|
|
9
|
+
throw new Error("The CMS 12 implementation does not support preview mode");
|
|
10
|
+
}
|
|
5
11
|
async getRoutes(client, siteId) {
|
|
6
12
|
client.updateFlags({ queryCache: false /*, cache: false*/ }, true);
|
|
7
13
|
let page = await client.request(GetAllRoutes.query, { siteId, typeFilter: "Page" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms12/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAKrD,MAAM,OAAO,qBAAqB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms12/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { gql } from "graphql-request";
|
|
2
|
-
export const query = gql `query GetAllRoutes($skip: Int = 0, $pageSize: Int = 100, $typeFilter: [String] = "_Page", $domain: String, $mustHaveDomain: Boolean) {
|
|
2
|
+
export const query = gql `query GetAllRoutes($skip: Int = 0, $pageSize: Int = 100, $typeFilter: [String] = "_Page", $domain: String, $mustHaveDomain: Boolean, $changeset: String) {
|
|
3
3
|
Content: _Page(
|
|
4
4
|
where: {
|
|
5
5
|
_metadata: {
|
|
6
6
|
url: { default: { exist: true }, base: { eq: $domain, exist: $mustHaveDomain } }
|
|
7
7
|
types: { in: $typeFilter }
|
|
8
|
+
changeset: { eq: $changeset }
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
11
|
limit: $pageSize
|
|
@@ -1 +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;
|
|
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;AAkCrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCtB,CAAA"}
|
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
import { gql } from "graphql-request";
|
|
2
|
-
export const query = gql `query GetRouteById($key: String!, $version: String, $locale: [Locales]) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
changed: _modified
|
|
2
|
+
export const query = gql `query GetRouteById($key: String!, $version: String, $locale: [Locales], $changeset: String) {
|
|
3
|
+
Content: _Content(
|
|
4
|
+
where: {
|
|
5
|
+
_metadata: { key: { eq: $key }, version: { eq: $version }, changeset: { eq: $changeset } }
|
|
6
|
+
}
|
|
7
|
+
locale: $locale
|
|
8
|
+
) {
|
|
9
|
+
total
|
|
10
|
+
items {
|
|
11
|
+
_metadata {
|
|
12
|
+
key
|
|
13
|
+
version
|
|
14
|
+
locale
|
|
15
|
+
displayName
|
|
16
|
+
types
|
|
17
|
+
url {
|
|
18
|
+
path: hierarchical
|
|
19
|
+
domain: base
|
|
20
|
+
}
|
|
21
|
+
... on IInstanceMetadata {
|
|
22
|
+
slug: routeSegment
|
|
23
|
+
}
|
|
24
|
+
... on IMediaMetadata {
|
|
25
|
+
slug: routeSegment
|
|
27
26
|
}
|
|
27
|
+
}
|
|
28
|
+
changed: _modified
|
|
28
29
|
}
|
|
30
|
+
}
|
|
29
31
|
}`;
|
|
30
32
|
//# sourceMappingURL=getRouteById.js.map
|
|
@@ -1 +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;
|
|
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;AAiBrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BtB,CAAA"}
|
|
@@ -1 +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;
|
|
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;AAgBrC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCtB,CAAA"}
|
|
@@ -2,6 +2,9 @@ import type { Route } from '../../types.js';
|
|
|
2
2
|
import { type IOptiGraphClient as GraphQLClient } from '../../../../client/types.js';
|
|
3
3
|
import { type OptimizelyCmsRoutingApi } from '../types.js';
|
|
4
4
|
export declare class OptimizelyCms13Client implements OptimizelyCmsRoutingApi {
|
|
5
|
+
private _changeset;
|
|
6
|
+
enablePreview(changeset?: string): void;
|
|
7
|
+
disablePreview(): void;
|
|
5
8
|
getRoutes(client: GraphQLClient, siteId?: string, onlyWithDomain?: boolean): Promise<Route[]>;
|
|
6
9
|
getRouteByPath(client: GraphQLClient, path: string, siteId?: string): Promise<undefined | Route>;
|
|
7
10
|
getRouteById(client: GraphQLClient, contentId: string, locale: string, version: string | number): Promise<undefined | Route>;
|
|
@@ -2,6 +2,15 @@ import * as GetAllRoutes from './getAllRoutes.js';
|
|
|
2
2
|
import * as GetRouteById from './getRouteById.js';
|
|
3
3
|
import * as GetRouteByPath from './getRouteByPath.js';
|
|
4
4
|
export class OptimizelyCms13Client {
|
|
5
|
+
constructor() {
|
|
6
|
+
this._changeset = null;
|
|
7
|
+
}
|
|
8
|
+
enablePreview(changeset = "default") {
|
|
9
|
+
this._changeset = changeset;
|
|
10
|
+
}
|
|
11
|
+
disablePreview() {
|
|
12
|
+
this._changeset = null;
|
|
13
|
+
}
|
|
5
14
|
async getRoutes(client, siteId, onlyWithDomain) {
|
|
6
15
|
if (client.debug)
|
|
7
16
|
console.log(`⚪ [RouteResolver] Loading routes for ${siteId ?? 'all applications'}${!siteId && onlyWithDomain ? ' that have a domain defined.' : ''}`);
|
|
@@ -17,7 +26,8 @@ export class OptimizelyCms13Client {
|
|
|
17
26
|
domain: siteId,
|
|
18
27
|
mustHaveDomain: onlyWithDomain ? true : null,
|
|
19
28
|
pageSize: pageSize,
|
|
20
|
-
skip: currentPage * pageSize
|
|
29
|
+
skip: currentPage * pageSize,
|
|
30
|
+
changeset: this._changeset || client.getChangeset()
|
|
21
31
|
}).catch(e => {
|
|
22
32
|
if (client.debug)
|
|
23
33
|
console.error("🔴 [RouteResolver] Error while fetching routes", e);
|
|
@@ -42,7 +52,7 @@ export class OptimizelyCms13Client {
|
|
|
42
52
|
const paths = [path, path.endsWith('/') ? path.substring(0, path.length - 1) : path + '/'].filter(p => p);
|
|
43
53
|
const resultSet = await client.request({
|
|
44
54
|
document: GetRouteByPath.query,
|
|
45
|
-
variables: { path: paths, domain: siteId }
|
|
55
|
+
variables: { path: paths, domain: siteId, changeset: this._changeset || client.getChangeset() }
|
|
46
56
|
});
|
|
47
57
|
if ((resultSet.getRouteByPath?.total ?? 0) === 0) {
|
|
48
58
|
if (client.debug)
|
|
@@ -58,16 +68,16 @@ export class OptimizelyCms13Client {
|
|
|
58
68
|
return this.convertResponse(resultSet.getRouteByPath.items);
|
|
59
69
|
}
|
|
60
70
|
async getRouteById(client, contentId, locale, version) {
|
|
61
|
-
const variables = { key: contentId, version: version?.toString(), locale: locale?.replaceAll('-', '_') };
|
|
71
|
+
const variables = { key: contentId, version: version?.toString(), locale: locale?.replaceAll('-', '_'), changeset: this._changeset || client.getChangeset() };
|
|
62
72
|
if (client.debug)
|
|
63
|
-
console.log("Resolving content by id:", JSON.stringify(variables));
|
|
73
|
+
console.log("⚪ [RouteResolver] Resolving content by id:", JSON.stringify(variables));
|
|
64
74
|
const resultSet = await client.request({
|
|
65
75
|
document: GetRouteById.query,
|
|
66
76
|
variables
|
|
67
77
|
});
|
|
68
78
|
if (resultSet.Content?.total >= 1) {
|
|
69
79
|
if (client.debug && resultSet.Content?.total > 1)
|
|
70
|
-
console.warn(
|
|
80
|
+
console.warn(`🟠 [RouteResolver] 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('; ')}`);
|
|
71
81
|
return this.convertResponse(resultSet.Content.items[0]);
|
|
72
82
|
}
|
|
73
83
|
return undefined;
|
|
@@ -82,7 +92,7 @@ export class OptimizelyCms13Client {
|
|
|
82
92
|
url: itemUrl,
|
|
83
93
|
slug: item._metadata?.slug ?? "",
|
|
84
94
|
changed: item.changed ? new Date(item.changed) : null,
|
|
85
|
-
contentType: item._metadata.types
|
|
95
|
+
contentType: item._metadata.types,
|
|
86
96
|
version: item._metadata.version,
|
|
87
97
|
key: item._metadata.key
|
|
88
98
|
};
|
|
@@ -92,7 +102,7 @@ export class OptimizelyCms13Client {
|
|
|
92
102
|
return this.convertResponse(item);
|
|
93
103
|
}
|
|
94
104
|
catch (e) {
|
|
95
|
-
console.error(
|
|
105
|
+
console.error(`🔴 [RouteResolver] Unable to convert ${JSON.stringify(item)} to Route`, e);
|
|
96
106
|
return undefined;
|
|
97
107
|
}
|
|
98
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms13/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAKrD,MAAM,OAAO,qBAAqB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/routing/queries/cms13/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { Route } from '../types.js';
|
|
2
2
|
import { type IOptiGraphClient as GraphQLClient } from '../../../client/types.js';
|
|
3
3
|
export interface OptimizelyCmsRoutingApi {
|
|
4
|
+
enablePreview(changeset?: string): void;
|
|
5
|
+
disablePreview(): void;
|
|
4
6
|
getRoutes(client: GraphQLClient, siteId?: string, onlyWithDomain?: boolean): Promise<Route[]>;
|
|
5
7
|
getRouteByPath(client: GraphQLClient, path: string, siteId?: string): Promise<undefined | Route>;
|
|
6
8
|
getRouteById(client: GraphQLClient, contentId: string, locale?: string, version?: string | number): Promise<undefined | Route>;
|
|
@@ -3,7 +3,7 @@ import { type OptimizelyGraphConfig } from '../../types.js';
|
|
|
3
3
|
import type { Route, IRouteResolver } from "./types.js";
|
|
4
4
|
import type { ContentLinkWithLocale } from '../types.js';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Default router implementation for Optimizely CMS
|
|
7
7
|
*/
|
|
8
8
|
export declare class RouteResolver implements IRouteResolver {
|
|
9
9
|
private _cgClient;
|
|
@@ -24,6 +24,8 @@ export declare class RouteResolver implements IRouteResolver {
|
|
|
24
24
|
* Graph
|
|
25
25
|
*/
|
|
26
26
|
constructor(clientOrConfig?: IOptiGraphClient | OptimizelyGraphConfig, urlBase?: string | URL, resolverMode?: OptiCmsSchema);
|
|
27
|
+
enablePreview(changeset?: string): void;
|
|
28
|
+
disablePreview(): void;
|
|
27
29
|
private getResolver;
|
|
28
30
|
/**
|
|
29
31
|
* Retrieve all registered routes for the provided domain - all domains if none specified
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
// Import GraphQL Client
|
|
2
2
|
import createClient, { isOptiGraphClient, OptiCmsSchema } from '../../client/index.js';
|
|
3
|
-
// Main router class
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
4
|
+
* Default router implementation for Optimizely CMS
|
|
6
5
|
*/
|
|
7
6
|
export class RouteResolver {
|
|
8
7
|
get client() {
|
|
@@ -29,6 +28,20 @@ export class RouteResolver {
|
|
|
29
28
|
this._defaultUrlBase = urlBase;
|
|
30
29
|
this._resolverMode = resolverMode ?? this._cgClient.currentOptiCmsSchema;
|
|
31
30
|
}
|
|
31
|
+
enablePreview(changeset) {
|
|
32
|
+
this.getResolver().then(resolver => {
|
|
33
|
+
if (this._cgClient.debug)
|
|
34
|
+
console.log("⚪ [RouteResolver] Enabling preview mode for changeset:", changeset ?? "default");
|
|
35
|
+
resolver.enablePreview(changeset);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
disablePreview() {
|
|
39
|
+
this.getResolver().then(resolver => {
|
|
40
|
+
if (this._cgClient.debug)
|
|
41
|
+
console.log("⚪ [RouteResolver] Disabling preview mode");
|
|
42
|
+
resolver.disablePreview();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
32
45
|
async getResolver() {
|
|
33
46
|
if (!this._resolver) {
|
|
34
47
|
let ResolverClass;
|
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/services/routing/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,22 @@ export type Route = {
|
|
|
13
13
|
* Main Router pattern, allow for implementation specific overrides
|
|
14
14
|
*/
|
|
15
15
|
export interface IRouteResolver {
|
|
16
|
+
/**
|
|
17
|
+
* Enable preview mode for the RouteResolver, when enabled this will add a filter to the
|
|
18
|
+
* methods of this instance that allows selecting the appropriate version of the content
|
|
19
|
+
* item.
|
|
20
|
+
*
|
|
21
|
+
* ***Warning***: Enabling previews, without a GraphQL client that has authentication in place
|
|
22
|
+
* will cause missing routes in the results
|
|
23
|
+
*
|
|
24
|
+
* @param changeset The changeset to use, if omitted the it will use the published version
|
|
25
|
+
* or main draft of each content item.
|
|
26
|
+
*/
|
|
27
|
+
enablePreview(changeset?: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Disable preview mode for the RouteResolver
|
|
30
|
+
*/
|
|
31
|
+
disablePreview(): void;
|
|
16
32
|
/**
|
|
17
33
|
* Retrieve all registered routes for the provided domain - all domains if none specified
|
|
18
34
|
*
|
|
@@ -41,5 +57,14 @@ export interface IRouteResolver {
|
|
|
41
57
|
* @returns The ContentLink, with locale information
|
|
42
58
|
*/
|
|
43
59
|
routeToContentLink(route: Route): ContentLinkWithLocale;
|
|
60
|
+
/**
|
|
61
|
+
* Get the routing info for a specific content item
|
|
62
|
+
*
|
|
63
|
+
* @param key The key of the content item
|
|
64
|
+
* @param locale The locale to use
|
|
65
|
+
* @param version The version of the content item
|
|
66
|
+
* @returns The Route information, if the `key`, `version`, `locale` combination
|
|
67
|
+
* yields a valid item
|
|
68
|
+
*/
|
|
44
69
|
getContentInfoById(key: string, locale?: string, version?: string | number): Promise<undefined | Route>;
|
|
45
70
|
}
|
package/dist/services/types.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export type ContentLink = {
|
|
2
2
|
key: string;
|
|
3
3
|
version?: string | null;
|
|
4
|
+
isInline?: boolean;
|
|
4
5
|
};
|
|
5
6
|
export type InlineContentLink = {
|
|
6
|
-
key?: null |
|
|
7
|
+
key?: null | "";
|
|
7
8
|
version?: null;
|
|
9
|
+
isInline?: true;
|
|
8
10
|
};
|
|
9
11
|
export type ContentLinkWithLocale<LocaleType = string> = ContentLink & {
|
|
10
12
|
locale?: LocaleType;
|
package/dist/services/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ContentLink, ContentLinkWithLocale, InlineContentLink, InlineContentLinkWithLocale } from "./types.js";
|
|
2
|
+
export type { ContentLink, ContentLinkWithLocale, InlineContentLink, InlineContentLinkWithLocale } from "./types.js";
|
|
2
3
|
/**
|
|
3
4
|
* Transform a locale code (e.g. en-US) to a Optimizely Graph compatible locale
|
|
4
5
|
* (e.g. en_US).
|
|
@@ -40,6 +41,9 @@ export declare function contentLinkIsEqualIgnoreVersion(link1: ContentLink | Con
|
|
|
40
41
|
*/
|
|
41
42
|
export declare function isContentLink(toTest: any): toTest is ContentLink;
|
|
42
43
|
export declare function isContentLinkWithLocale(toTest: any): toTest is ContentLinkWithLocale;
|
|
44
|
+
export declare function isContentLinkWithSetLocale<LocaleType = string>(toTest: any): toTest is ContentLink & {
|
|
45
|
+
locale: LocaleType;
|
|
46
|
+
};
|
|
43
47
|
/**
|
|
44
48
|
* Test if the variable is an inline content link
|
|
45
49
|
*
|
|
@@ -66,4 +70,3 @@ export declare function normalizeContentLinkWithLocale<LT = string>(toNormalize:
|
|
|
66
70
|
* @returns The textual representation of the ContentLink
|
|
67
71
|
*/
|
|
68
72
|
export declare function contentLinkToString(contentLink: ContentLink | InlineContentLink | null | undefined, unique?: boolean): string;
|
|
69
|
-
export {};
|
package/dist/services/utils.js
CHANGED
|
@@ -72,6 +72,12 @@ export function isContentLinkWithLocale(toTest) {
|
|
|
72
72
|
const locale = toTest.locale;
|
|
73
73
|
return locale == undefined || locale == null || (typeof (locale) == 'string' && locale.length >= 2 && locale.length <= 5);
|
|
74
74
|
}
|
|
75
|
+
export function isContentLinkWithSetLocale(toTest) {
|
|
76
|
+
if (!isContentLink(toTest))
|
|
77
|
+
return false;
|
|
78
|
+
const locale = toTest.locale;
|
|
79
|
+
return typeof (locale) == 'string' && locale.length >= 2 && locale.length <= 5;
|
|
80
|
+
}
|
|
75
81
|
/**
|
|
76
82
|
* Test if the variable is an inline content link
|
|
77
83
|
*
|
|
@@ -81,6 +87,8 @@ export function isContentLinkWithLocale(toTest) {
|
|
|
81
87
|
export function isInlineContentLink(toTest) {
|
|
82
88
|
if (typeof toTest != 'object' || toTest == null)
|
|
83
89
|
return false;
|
|
90
|
+
if (toTest.isInline === true)
|
|
91
|
+
return true;
|
|
84
92
|
return (isNullOrEmptyString(toTest.key) &&
|
|
85
93
|
isNullOrEmpty(toTest.version) &&
|
|
86
94
|
isOptionalString(toTest.locale));
|
|
@@ -133,7 +141,7 @@ export function normalizeContentLink(toNormalize) {
|
|
|
133
141
|
}
|
|
134
142
|
export function normalizeContentLinkWithLocale(toNormalize) {
|
|
135
143
|
const normalized = normalizeContentLink(toNormalize);
|
|
136
|
-
if (toNormalize?.locale != undefined && !(typeof (toNormalize?.locale) == 'string' && (toNormalize.locale.length == 2 || toNormalize.locale.length == 5)))
|
|
144
|
+
if (normalized && toNormalize?.locale != undefined && !(typeof (toNormalize?.locale) == 'string' && (toNormalize.locale.length == 2 || toNormalize.locale.length == 5)))
|
|
137
145
|
normalized.locale = toNormalize.locale;
|
|
138
146
|
return normalized;
|
|
139
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/services/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/services/utils.ts"],"names":[],"mappings":"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"}
|
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": "5.
|
|
4
|
+
"version": "5.1.1",
|
|
5
5
|
"repository": "https://github.com/remkoj/optimizely-dxp-clients.git",
|
|
6
6
|
"author": "Remko Jantzen <693172+remkoj@users.noreply.github.com>",
|
|
7
7
|
"homepage": "https://github.com/remkoj/optimizely-dxp-clients",
|
|
@@ -51,16 +51,17 @@
|
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@types/crypto-js": "^4.2.2",
|
|
54
|
-
"@types/node": "^22.
|
|
54
|
+
"@types/node": "^22.16.2",
|
|
55
55
|
"graphql": "^16.11.0",
|
|
56
56
|
"graphql-request": "^6.1.0",
|
|
57
57
|
"openapi-typescript-codegen": "^0.29.0",
|
|
58
58
|
"prop-types": "^15.8.1",
|
|
59
|
-
"scheduler": "^0.
|
|
59
|
+
"scheduler": "^0.26.0",
|
|
60
60
|
"typescript": "^5.8.3"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"crypto-js": "^4.2.0"
|
|
63
|
+
"crypto-js": "^4.2.0",
|
|
64
|
+
"uuid": "^11.1.0"
|
|
64
65
|
},
|
|
65
66
|
"peerDependencies": {
|
|
66
67
|
"graphql-request": "^6"
|
|
@@ -68,9 +69,9 @@
|
|
|
68
69
|
"scripts": {
|
|
69
70
|
"clean": "tsc --build --clean",
|
|
70
71
|
"compile-ts": "tsc --build",
|
|
71
|
-
"prepare": "
|
|
72
|
+
"prepare": "tsc --build",
|
|
72
73
|
"watch": "yarn tsc --watch",
|
|
73
74
|
"recompile": "tsc --build --clean && tsc --build --force",
|
|
74
|
-
"generate
|
|
75
|
+
"generate": "openapi --input https://cg.optimizely.com/app/swagger/swagger.json --output ./src/admin-api/client --name OptimizelyGraphAdminApi && node ./scripts/update-imports.cjs"
|
|
75
76
|
}
|
|
76
77
|
}
|