@salesforce/b2c-tooling-sdk 0.0.8 → 0.2.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.
- package/dist/cjs/auth/index.d.ts +2 -0
- package/dist/cjs/auth/index.js +2 -0
- package/dist/cjs/auth/index.js.map +1 -1
- package/dist/cjs/auth/middleware.d.ts +196 -0
- package/dist/cjs/auth/middleware.js +190 -0
- package/dist/cjs/auth/middleware.js.map +1 -0
- package/dist/cjs/auth/oauth.js +21 -9
- package/dist/cjs/auth/oauth.js.map +1 -1
- package/dist/cjs/cli/base-command.d.ts +15 -0
- package/dist/cjs/cli/base-command.js +58 -2
- package/dist/cjs/cli/base-command.js.map +1 -1
- package/dist/cjs/cli/hooks.d.ts +98 -5
- package/dist/cjs/cli/hooks.js.map +1 -1
- package/dist/cjs/cli/instance-command.d.ts +1 -0
- package/dist/cjs/cli/mrt-command.d.ts +2 -1
- package/dist/cjs/cli/mrt-command.js +3 -2
- package/dist/cjs/cli/mrt-command.js.map +1 -1
- package/dist/cjs/cli/oauth-command.d.ts +1 -0
- package/dist/cjs/cli/oauth-command.js +6 -0
- package/dist/cjs/cli/oauth-command.js.map +1 -1
- package/dist/cjs/cli/ods-command.d.ts +1 -0
- package/dist/cjs/cli/webdav-command.d.ts +1 -0
- package/dist/cjs/clients/cdn-zones.d.ts +154 -0
- package/dist/cjs/clients/cdn-zones.generated.d.ts +8330 -0
- package/dist/cjs/clients/cdn-zones.generated.js +6 -0
- package/dist/cjs/clients/cdn-zones.generated.js.map +1 -0
- package/dist/cjs/clients/cdn-zones.js +100 -0
- package/dist/cjs/clients/cdn-zones.js.map +1 -0
- package/dist/cjs/clients/error-utils.d.ts +35 -0
- package/dist/cjs/clients/error-utils.js +69 -0
- package/dist/cjs/clients/error-utils.js.map +1 -0
- package/dist/cjs/clients/index.d.ts +11 -2
- package/dist/cjs/clients/index.js +8 -1
- package/dist/cjs/clients/index.js.map +1 -1
- package/dist/cjs/clients/middleware-registry.d.ts +1 -1
- package/dist/cjs/clients/middleware-registry.js.map +1 -1
- package/dist/cjs/clients/middleware.d.ts +25 -0
- package/dist/cjs/clients/middleware.js +16 -10
- package/dist/cjs/clients/middleware.js.map +1 -1
- package/dist/cjs/clients/mrt-b2c.d.ts +114 -0
- package/dist/cjs/clients/mrt-b2c.generated.d.ts +176 -0
- package/dist/cjs/clients/mrt-b2c.generated.js +6 -0
- package/dist/cjs/clients/mrt-b2c.generated.js.map +1 -0
- package/dist/cjs/clients/mrt-b2c.js +86 -0
- package/dist/cjs/clients/mrt-b2c.js.map +1 -0
- package/dist/cjs/clients/scapi-schemas.d.ts +132 -0
- package/dist/cjs/clients/scapi-schemas.generated.d.ts +328 -0
- package/dist/cjs/clients/scapi-schemas.generated.js +6 -0
- package/dist/cjs/clients/scapi-schemas.generated.js.map +1 -0
- package/dist/cjs/clients/scapi-schemas.js +95 -0
- package/dist/cjs/clients/scapi-schemas.js.map +1 -0
- package/dist/cjs/clients/user-agent.d.ts +43 -0
- package/dist/cjs/clients/user-agent.js +87 -0
- package/dist/cjs/clients/user-agent.js.map +1 -0
- package/dist/cjs/config/dw-json.d.ts +6 -0
- package/dist/cjs/config/dw-json.js.map +1 -1
- package/dist/cjs/config/mapping.js +3 -0
- package/dist/cjs/config/mapping.js.map +1 -1
- package/dist/cjs/config/resolver.d.ts +2 -1
- package/dist/cjs/config/resolver.js +14 -7
- package/dist/cjs/config/resolver.js.map +1 -1
- package/dist/cjs/config/sources/dw-json-source.d.ts +1 -0
- package/dist/cjs/config/sources/dw-json-source.js +1 -0
- package/dist/cjs/config/sources/dw-json-source.js.map +1 -1
- package/dist/cjs/config/sources/index.d.ts +1 -0
- package/dist/cjs/config/sources/index.js +1 -0
- package/dist/cjs/config/sources/index.js.map +1 -1
- package/dist/cjs/config/sources/mobify-source.d.ts +1 -0
- package/dist/cjs/config/sources/mobify-source.js +1 -0
- package/dist/cjs/config/sources/mobify-source.js.map +1 -1
- package/dist/cjs/config/sources/package-json-source.d.ts +14 -0
- package/dist/cjs/config/sources/package-json-source.js +86 -0
- package/dist/cjs/config/sources/package-json-source.js.map +1 -0
- package/dist/cjs/config/types.d.ts +14 -0
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/operations/code/deploy.js +9 -3
- package/dist/cjs/operations/code/deploy.js.map +1 -1
- package/dist/cjs/operations/mrt/access-control.d.ts +192 -0
- package/dist/cjs/operations/mrt/access-control.js +152 -0
- package/dist/cjs/operations/mrt/access-control.js.map +1 -0
- package/dist/cjs/operations/mrt/b2c-config.d.ts +201 -0
- package/dist/cjs/operations/mrt/b2c-config.js +195 -0
- package/dist/cjs/operations/mrt/b2c-config.js.map +1 -0
- package/dist/cjs/operations/mrt/cache.d.ts +80 -0
- package/dist/cjs/operations/mrt/cache.js +65 -0
- package/dist/cjs/operations/mrt/cache.js.map +1 -0
- package/dist/cjs/operations/mrt/deployment.d.ts +157 -0
- package/dist/cjs/operations/mrt/deployment.js +109 -0
- package/dist/cjs/operations/mrt/deployment.js.map +1 -0
- package/dist/cjs/operations/mrt/env.d.ts +141 -0
- package/dist/cjs/operations/mrt/env.js +119 -0
- package/dist/cjs/operations/mrt/env.js.map +1 -1
- package/dist/cjs/operations/mrt/index.d.ts +24 -4
- package/dist/cjs/operations/mrt/index.js +23 -3
- package/dist/cjs/operations/mrt/index.js.map +1 -1
- package/dist/cjs/operations/mrt/member.d.ts +281 -0
- package/dist/cjs/operations/mrt/member.js +244 -0
- package/dist/cjs/operations/mrt/member.js.map +1 -0
- package/dist/cjs/operations/mrt/notification.d.ts +252 -0
- package/dist/cjs/operations/mrt/notification.js +206 -0
- package/dist/cjs/operations/mrt/notification.js.map +1 -0
- package/dist/cjs/operations/mrt/organization.d.ts +80 -0
- package/dist/cjs/operations/mrt/organization.js +53 -0
- package/dist/cjs/operations/mrt/organization.js.map +1 -0
- package/dist/cjs/operations/mrt/project.d.ts +261 -0
- package/dist/cjs/operations/mrt/project.js +232 -0
- package/dist/cjs/operations/mrt/project.js.map +1 -0
- package/dist/cjs/operations/mrt/push.d.ts +122 -8
- package/dist/cjs/operations/mrt/push.js +83 -10
- package/dist/cjs/operations/mrt/push.js.map +1 -1
- package/dist/cjs/operations/mrt/redirect.d.ts +337 -0
- package/dist/cjs/operations/mrt/redirect.js +256 -0
- package/dist/cjs/operations/mrt/redirect.js.map +1 -0
- package/dist/cjs/operations/mrt/user.d.ts +135 -0
- package/dist/cjs/operations/mrt/user.js +153 -0
- package/dist/cjs/operations/mrt/user.js.map +1 -0
- package/dist/cjs/operations/scapi-schemas/collapse.d.ts +150 -0
- package/dist/cjs/operations/scapi-schemas/collapse.js +180 -0
- package/dist/cjs/operations/scapi-schemas/collapse.js.map +1 -0
- package/dist/cjs/operations/scapi-schemas/index.d.ts +53 -0
- package/dist/cjs/operations/scapi-schemas/index.js +59 -0
- package/dist/cjs/operations/scapi-schemas/index.js.map +1 -0
- package/dist/cjs/skills/agents.d.ts +41 -0
- package/dist/cjs/skills/agents.js +159 -0
- package/dist/cjs/skills/agents.js.map +1 -0
- package/dist/cjs/skills/github.d.ts +47 -0
- package/dist/cjs/skills/github.js +246 -0
- package/dist/cjs/skills/github.js.map +1 -0
- package/dist/cjs/skills/index.d.ts +42 -0
- package/dist/cjs/skills/index.js +14 -0
- package/dist/cjs/skills/index.js.map +1 -0
- package/dist/cjs/skills/installer.d.ts +34 -0
- package/dist/cjs/skills/installer.js +181 -0
- package/dist/cjs/skills/installer.js.map +1 -0
- package/dist/cjs/skills/parser.d.ts +39 -0
- package/dist/cjs/skills/parser.js +131 -0
- package/dist/cjs/skills/parser.js.map +1 -0
- package/dist/cjs/skills/types.d.ts +134 -0
- package/dist/cjs/skills/types.js +7 -0
- package/dist/cjs/skills/types.js.map +1 -0
- package/dist/cjs/test-utils/config-isolation.d.ts +2 -0
- package/dist/cjs/test-utils/config-isolation.js +41 -0
- package/dist/cjs/test-utils/config-isolation.js.map +1 -0
- package/dist/cjs/test-utils/index.d.ts +1 -0
- package/dist/cjs/test-utils/index.js +7 -0
- package/dist/cjs/test-utils/index.js.map +1 -0
- package/dist/cjs/version.d.ts +14 -0
- package/dist/cjs/version.js +29 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/auth/index.d.ts +2 -0
- package/dist/esm/auth/index.js +2 -0
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/middleware.d.ts +196 -0
- package/dist/esm/auth/middleware.js +190 -0
- package/dist/esm/auth/middleware.js.map +1 -0
- package/dist/esm/auth/oauth.js +21 -9
- package/dist/esm/auth/oauth.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +15 -0
- package/dist/esm/cli/base-command.js +58 -2
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/hooks.d.ts +98 -5
- package/dist/esm/cli/hooks.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +1 -0
- package/dist/esm/cli/mrt-command.d.ts +2 -1
- package/dist/esm/cli/mrt-command.js +3 -2
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -0
- package/dist/esm/cli/oauth-command.js +6 -0
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/ods-command.d.ts +1 -0
- package/dist/esm/cli/webdav-command.d.ts +1 -0
- package/dist/esm/clients/cdn-zones.d.ts +154 -0
- package/dist/esm/clients/cdn-zones.generated.d.ts +8330 -0
- package/dist/esm/clients/cdn-zones.generated.js +6 -0
- package/dist/esm/clients/cdn-zones.generated.js.map +1 -0
- package/dist/esm/clients/cdn-zones.js +100 -0
- package/dist/esm/clients/cdn-zones.js.map +1 -0
- package/dist/esm/clients/error-utils.d.ts +35 -0
- package/dist/esm/clients/error-utils.js +69 -0
- package/dist/esm/clients/error-utils.js.map +1 -0
- package/dist/esm/clients/index.d.ts +11 -2
- package/dist/esm/clients/index.js +8 -1
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/middleware-registry.d.ts +1 -1
- package/dist/esm/clients/middleware-registry.js.map +1 -1
- package/dist/esm/clients/middleware.d.ts +25 -0
- package/dist/esm/clients/middleware.js +16 -10
- package/dist/esm/clients/middleware.js.map +1 -1
- package/dist/esm/clients/mrt-b2c.d.ts +114 -0
- package/dist/esm/clients/mrt-b2c.generated.d.ts +176 -0
- package/dist/esm/clients/mrt-b2c.generated.js +6 -0
- package/dist/esm/clients/mrt-b2c.generated.js.map +1 -0
- package/dist/esm/clients/mrt-b2c.js +86 -0
- package/dist/esm/clients/mrt-b2c.js.map +1 -0
- package/dist/esm/clients/scapi-schemas.d.ts +132 -0
- package/dist/esm/clients/scapi-schemas.generated.d.ts +328 -0
- package/dist/esm/clients/scapi-schemas.generated.js +6 -0
- package/dist/esm/clients/scapi-schemas.generated.js.map +1 -0
- package/dist/esm/clients/scapi-schemas.js +95 -0
- package/dist/esm/clients/scapi-schemas.js.map +1 -0
- package/dist/esm/clients/user-agent.d.ts +43 -0
- package/dist/esm/clients/user-agent.js +87 -0
- package/dist/esm/clients/user-agent.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +6 -0
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/mapping.js +3 -0
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolver.d.ts +2 -1
- package/dist/esm/config/resolver.js +14 -7
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/dw-json-source.d.ts +1 -0
- package/dist/esm/config/sources/dw-json-source.js +1 -0
- package/dist/esm/config/sources/dw-json-source.js.map +1 -1
- package/dist/esm/config/sources/index.d.ts +1 -0
- package/dist/esm/config/sources/index.js +1 -0
- package/dist/esm/config/sources/index.js.map +1 -1
- package/dist/esm/config/sources/mobify-source.d.ts +1 -0
- package/dist/esm/config/sources/mobify-source.js +1 -0
- package/dist/esm/config/sources/mobify-source.js.map +1 -1
- package/dist/esm/config/sources/package-json-source.d.ts +14 -0
- package/dist/esm/config/sources/package-json-source.js +86 -0
- package/dist/esm/config/sources/package-json-source.js.map +1 -0
- package/dist/esm/config/types.d.ts +14 -0
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/operations/code/deploy.js +9 -3
- package/dist/esm/operations/code/deploy.js.map +1 -1
- package/dist/esm/operations/mrt/access-control.d.ts +192 -0
- package/dist/esm/operations/mrt/access-control.js +152 -0
- package/dist/esm/operations/mrt/access-control.js.map +1 -0
- package/dist/esm/operations/mrt/b2c-config.d.ts +201 -0
- package/dist/esm/operations/mrt/b2c-config.js +195 -0
- package/dist/esm/operations/mrt/b2c-config.js.map +1 -0
- package/dist/esm/operations/mrt/cache.d.ts +80 -0
- package/dist/esm/operations/mrt/cache.js +65 -0
- package/dist/esm/operations/mrt/cache.js.map +1 -0
- package/dist/esm/operations/mrt/deployment.d.ts +157 -0
- package/dist/esm/operations/mrt/deployment.js +109 -0
- package/dist/esm/operations/mrt/deployment.js.map +1 -0
- package/dist/esm/operations/mrt/env.d.ts +141 -0
- package/dist/esm/operations/mrt/env.js +119 -0
- package/dist/esm/operations/mrt/env.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +24 -4
- package/dist/esm/operations/mrt/index.js +23 -3
- package/dist/esm/operations/mrt/index.js.map +1 -1
- package/dist/esm/operations/mrt/member.d.ts +281 -0
- package/dist/esm/operations/mrt/member.js +244 -0
- package/dist/esm/operations/mrt/member.js.map +1 -0
- package/dist/esm/operations/mrt/notification.d.ts +252 -0
- package/dist/esm/operations/mrt/notification.js +206 -0
- package/dist/esm/operations/mrt/notification.js.map +1 -0
- package/dist/esm/operations/mrt/organization.d.ts +80 -0
- package/dist/esm/operations/mrt/organization.js +53 -0
- package/dist/esm/operations/mrt/organization.js.map +1 -0
- package/dist/esm/operations/mrt/project.d.ts +261 -0
- package/dist/esm/operations/mrt/project.js +232 -0
- package/dist/esm/operations/mrt/project.js.map +1 -0
- package/dist/esm/operations/mrt/push.d.ts +122 -8
- package/dist/esm/operations/mrt/push.js +83 -10
- package/dist/esm/operations/mrt/push.js.map +1 -1
- package/dist/esm/operations/mrt/redirect.d.ts +337 -0
- package/dist/esm/operations/mrt/redirect.js +256 -0
- package/dist/esm/operations/mrt/redirect.js.map +1 -0
- package/dist/esm/operations/mrt/user.d.ts +135 -0
- package/dist/esm/operations/mrt/user.js +153 -0
- package/dist/esm/operations/mrt/user.js.map +1 -0
- package/dist/esm/operations/scapi-schemas/collapse.d.ts +150 -0
- package/dist/esm/operations/scapi-schemas/collapse.js +180 -0
- package/dist/esm/operations/scapi-schemas/collapse.js.map +1 -0
- package/dist/esm/operations/scapi-schemas/index.d.ts +53 -0
- package/dist/esm/operations/scapi-schemas/index.js +59 -0
- package/dist/esm/operations/scapi-schemas/index.js.map +1 -0
- package/dist/esm/skills/agents.d.ts +41 -0
- package/dist/esm/skills/agents.js +159 -0
- package/dist/esm/skills/agents.js.map +1 -0
- package/dist/esm/skills/github.d.ts +47 -0
- package/dist/esm/skills/github.js +246 -0
- package/dist/esm/skills/github.js.map +1 -0
- package/dist/esm/skills/index.d.ts +42 -0
- package/dist/esm/skills/index.js +14 -0
- package/dist/esm/skills/index.js.map +1 -0
- package/dist/esm/skills/installer.d.ts +34 -0
- package/dist/esm/skills/installer.js +181 -0
- package/dist/esm/skills/installer.js.map +1 -0
- package/dist/esm/skills/parser.d.ts +39 -0
- package/dist/esm/skills/parser.js +131 -0
- package/dist/esm/skills/parser.js.map +1 -0
- package/dist/esm/skills/types.d.ts +134 -0
- package/dist/esm/skills/types.js +7 -0
- package/dist/esm/skills/types.js.map +1 -0
- package/dist/esm/test-utils/config-isolation.d.ts +2 -0
- package/dist/esm/test-utils/config-isolation.js +41 -0
- package/dist/esm/test-utils/config-isolation.js.map +1 -0
- package/dist/esm/test-utils/index.d.ts +1 -0
- package/dist/esm/test-utils/index.js +7 -0
- package/dist/esm/test-utils/index.js.map +1 -0
- package/dist/esm/version.d.ts +14 -0
- package/dist/esm/version.js +29 -0
- package/dist/esm/version.js.map +1 -0
- package/package.json +35 -2
- package/specs/cdn-zones-v1.yaml +9324 -0
- package/specs/mrt-b2c.json +384 -0
- package/specs/scapi-schemas-v1.yaml +341 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { createMrtClient, DEFAULT_MRT_ORIGIN } from '../../clients/mrt.js';
|
|
2
|
+
import { getLogger } from '../../logging/logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Lists access control headers for an MRT environment.
|
|
5
|
+
*
|
|
6
|
+
* @param options - List options
|
|
7
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
8
|
+
* @returns Paginated list of headers
|
|
9
|
+
* @throws Error if request fails
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
14
|
+
* import { listAccessControlHeaders } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
15
|
+
*
|
|
16
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
17
|
+
*
|
|
18
|
+
* const result = await listAccessControlHeaders({
|
|
19
|
+
* projectSlug: 'my-storefront',
|
|
20
|
+
* targetSlug: 'production'
|
|
21
|
+
* }, auth);
|
|
22
|
+
*
|
|
23
|
+
* console.log(`Found ${result.count} access control headers`);
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export async function listAccessControlHeaders(options, auth) {
|
|
27
|
+
const logger = getLogger();
|
|
28
|
+
const { projectSlug, targetSlug, limit, offset, origin } = options;
|
|
29
|
+
logger.debug({ projectSlug, targetSlug }, '[MRT] Listing access control headers');
|
|
30
|
+
const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
|
|
31
|
+
const { data, error } = await client.GET('/api/projects/{project_slug}/target/{target_slug}/access-control-header/', {
|
|
32
|
+
params: {
|
|
33
|
+
path: { project_slug: projectSlug, target_slug: targetSlug },
|
|
34
|
+
query: {
|
|
35
|
+
limit,
|
|
36
|
+
offset,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
if (error) {
|
|
41
|
+
const errorMessage = typeof error === 'object' && error !== null && 'message' in error
|
|
42
|
+
? String(error.message)
|
|
43
|
+
: JSON.stringify(error);
|
|
44
|
+
throw new Error(`Failed to list access control headers: ${errorMessage}`);
|
|
45
|
+
}
|
|
46
|
+
logger.debug({ count: data.count }, '[MRT] Access control headers listed');
|
|
47
|
+
return {
|
|
48
|
+
count: data.count ?? 0,
|
|
49
|
+
next: data.next ?? null,
|
|
50
|
+
previous: data.previous ?? null,
|
|
51
|
+
headers: data.results ?? [],
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Creates an access control header for an MRT environment.
|
|
56
|
+
*
|
|
57
|
+
* @param options - Create options
|
|
58
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
59
|
+
* @returns The created header
|
|
60
|
+
* @throws Error if request fails
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
65
|
+
* import { createAccessControlHeader } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
66
|
+
*
|
|
67
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
68
|
+
*
|
|
69
|
+
* const header = await createAccessControlHeader({
|
|
70
|
+
* projectSlug: 'my-storefront',
|
|
71
|
+
* targetSlug: 'production',
|
|
72
|
+
* value: 'my-secret-header-value'
|
|
73
|
+
* }, auth);
|
|
74
|
+
*
|
|
75
|
+
* console.log(`Created access control header: ${header.id}`);
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export async function createAccessControlHeader(options, auth) {
|
|
79
|
+
const logger = getLogger();
|
|
80
|
+
const { projectSlug, targetSlug, value, origin } = options;
|
|
81
|
+
logger.debug({ projectSlug, targetSlug }, '[MRT] Creating access control header');
|
|
82
|
+
const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
|
|
83
|
+
const { data, error } = await client.POST('/api/projects/{project_slug}/target/{target_slug}/access-control-header/', {
|
|
84
|
+
params: {
|
|
85
|
+
path: { project_slug: projectSlug, target_slug: targetSlug },
|
|
86
|
+
},
|
|
87
|
+
body: {
|
|
88
|
+
value,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
if (error) {
|
|
92
|
+
const errorMessage = typeof error === 'object' && error !== null && 'message' in error
|
|
93
|
+
? String(error.message)
|
|
94
|
+
: JSON.stringify(error);
|
|
95
|
+
throw new Error(`Failed to create access control header: ${errorMessage}`);
|
|
96
|
+
}
|
|
97
|
+
logger.debug({ id: data.id }, '[MRT] Access control header created');
|
|
98
|
+
return data;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Gets an access control header from an MRT environment.
|
|
102
|
+
*
|
|
103
|
+
* @param options - Get options
|
|
104
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
105
|
+
* @returns The header
|
|
106
|
+
* @throws Error if request fails
|
|
107
|
+
*/
|
|
108
|
+
export async function getAccessControlHeader(options, auth) {
|
|
109
|
+
const logger = getLogger();
|
|
110
|
+
const { projectSlug, targetSlug, headerId, origin } = options;
|
|
111
|
+
logger.debug({ projectSlug, targetSlug, headerId }, '[MRT] Getting access control header');
|
|
112
|
+
const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
|
|
113
|
+
const { data, error } = await client.GET('/api/projects/{project_slug}/target/{target_slug}/access-control-header/{id}/', {
|
|
114
|
+
params: {
|
|
115
|
+
path: { project_slug: projectSlug, target_slug: targetSlug, id: headerId },
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
if (error) {
|
|
119
|
+
const errorMessage = typeof error === 'object' && error !== null && 'message' in error
|
|
120
|
+
? String(error.message)
|
|
121
|
+
: JSON.stringify(error);
|
|
122
|
+
throw new Error(`Failed to get access control header: ${errorMessage}`);
|
|
123
|
+
}
|
|
124
|
+
logger.debug({ id: data.id }, '[MRT] Access control header retrieved');
|
|
125
|
+
return data;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Deletes an access control header from an MRT environment.
|
|
129
|
+
*
|
|
130
|
+
* @param options - Delete options
|
|
131
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
132
|
+
* @throws Error if request fails
|
|
133
|
+
*/
|
|
134
|
+
export async function deleteAccessControlHeader(options, auth) {
|
|
135
|
+
const logger = getLogger();
|
|
136
|
+
const { projectSlug, targetSlug, headerId, origin } = options;
|
|
137
|
+
logger.debug({ projectSlug, targetSlug, headerId }, '[MRT] Deleting access control header');
|
|
138
|
+
const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
|
|
139
|
+
const { error } = await client.DELETE('/api/projects/{project_slug}/target/{target_slug}/access-control-header/{id}/', {
|
|
140
|
+
params: {
|
|
141
|
+
path: { project_slug: projectSlug, target_slug: targetSlug, id: headerId },
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
if (error) {
|
|
145
|
+
const errorMessage = typeof error === 'object' && error !== null && 'message' in error
|
|
146
|
+
? String(error.message)
|
|
147
|
+
: JSON.stringify(error);
|
|
148
|
+
throw new Error(`Failed to delete access control header: ${errorMessage}`);
|
|
149
|
+
}
|
|
150
|
+
logger.debug({ headerId }, '[MRT] Access control header deleted');
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=access-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../../../src/operations/mrt/access-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* B2C Commerce configuration operations for Managed Runtime.
|
|
3
|
+
*
|
|
4
|
+
* Handles the connection between MRT targets/environments and B2C Commerce instances.
|
|
5
|
+
*
|
|
6
|
+
* @module operations/mrt/b2c-config
|
|
7
|
+
*/
|
|
8
|
+
import type { AuthStrategy } from '../../auth/types.js';
|
|
9
|
+
import { type B2COrgInfo, type B2CTargetInfo, type PatchedB2CTargetInfo } from '../../clients/mrt-b2c.js';
|
|
10
|
+
export type { B2COrgInfo, B2CTargetInfo, PatchedB2CTargetInfo };
|
|
11
|
+
/**
|
|
12
|
+
* Options for getting B2C organization info.
|
|
13
|
+
*/
|
|
14
|
+
export interface GetB2COrgInfoOptions {
|
|
15
|
+
/**
|
|
16
|
+
* The organization slug.
|
|
17
|
+
*/
|
|
18
|
+
organizationSlug: string;
|
|
19
|
+
/**
|
|
20
|
+
* MRT B2C API origin URL.
|
|
21
|
+
* @default "https://cloud.mobify.com/api/cc/b2c"
|
|
22
|
+
*/
|
|
23
|
+
origin?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Options for getting B2C target info.
|
|
27
|
+
*/
|
|
28
|
+
export interface GetB2CTargetInfoOptions {
|
|
29
|
+
/**
|
|
30
|
+
* The project slug.
|
|
31
|
+
*/
|
|
32
|
+
projectSlug: string;
|
|
33
|
+
/**
|
|
34
|
+
* The target/environment slug.
|
|
35
|
+
*/
|
|
36
|
+
targetSlug: string;
|
|
37
|
+
/**
|
|
38
|
+
* MRT B2C API origin URL.
|
|
39
|
+
* @default "https://cloud.mobify.com/api/cc/b2c"
|
|
40
|
+
*/
|
|
41
|
+
origin?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Options for setting B2C target info.
|
|
45
|
+
*/
|
|
46
|
+
export interface SetB2CTargetInfoOptions {
|
|
47
|
+
/**
|
|
48
|
+
* The project slug.
|
|
49
|
+
*/
|
|
50
|
+
projectSlug: string;
|
|
51
|
+
/**
|
|
52
|
+
* The target/environment slug.
|
|
53
|
+
*/
|
|
54
|
+
targetSlug: string;
|
|
55
|
+
/**
|
|
56
|
+
* ID of the B2C Commerce instance to connect.
|
|
57
|
+
*/
|
|
58
|
+
instanceId: string;
|
|
59
|
+
/**
|
|
60
|
+
* List of site IDs associated with the B2C Commerce instance.
|
|
61
|
+
* Pass null to clear the sites list.
|
|
62
|
+
*/
|
|
63
|
+
sites?: string[] | null;
|
|
64
|
+
/**
|
|
65
|
+
* MRT B2C API origin URL.
|
|
66
|
+
* @default "https://cloud.mobify.com/api/cc/b2c"
|
|
67
|
+
*/
|
|
68
|
+
origin?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Options for updating B2C target info.
|
|
72
|
+
*/
|
|
73
|
+
export interface UpdateB2CTargetInfoOptions {
|
|
74
|
+
/**
|
|
75
|
+
* The project slug.
|
|
76
|
+
*/
|
|
77
|
+
projectSlug: string;
|
|
78
|
+
/**
|
|
79
|
+
* The target/environment slug.
|
|
80
|
+
*/
|
|
81
|
+
targetSlug: string;
|
|
82
|
+
/**
|
|
83
|
+
* ID of the B2C Commerce instance to connect.
|
|
84
|
+
*/
|
|
85
|
+
instanceId?: string;
|
|
86
|
+
/**
|
|
87
|
+
* List of site IDs associated with the B2C Commerce instance.
|
|
88
|
+
* Pass null to clear the sites list.
|
|
89
|
+
*/
|
|
90
|
+
sites?: string[] | null;
|
|
91
|
+
/**
|
|
92
|
+
* MRT B2C API origin URL.
|
|
93
|
+
* @default "https://cloud.mobify.com/api/cc/b2c"
|
|
94
|
+
*/
|
|
95
|
+
origin?: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Gets B2C Commerce info for an organization.
|
|
99
|
+
*
|
|
100
|
+
* Returns the list of B2C Commerce instances connected to the organization.
|
|
101
|
+
*
|
|
102
|
+
* @param options - Operation options
|
|
103
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
104
|
+
* @returns B2C organization info
|
|
105
|
+
* @throws Error if request fails
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
110
|
+
* import { getB2COrgInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
111
|
+
*
|
|
112
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
113
|
+
*
|
|
114
|
+
* const info = await getB2COrgInfo({
|
|
115
|
+
* organizationSlug: 'my-org'
|
|
116
|
+
* }, auth);
|
|
117
|
+
*
|
|
118
|
+
* console.log(`B2C Customer: ${info.is_b2c_customer}`);
|
|
119
|
+
* console.log(`Instances: ${info.instances.join(', ')}`);
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export declare function getB2COrgInfo(options: GetB2COrgInfoOptions, auth: AuthStrategy): Promise<B2COrgInfo>;
|
|
123
|
+
/**
|
|
124
|
+
* Gets B2C Commerce info for a target/environment.
|
|
125
|
+
*
|
|
126
|
+
* Returns the B2C Commerce instance and sites connected to the target.
|
|
127
|
+
*
|
|
128
|
+
* @param options - Operation options
|
|
129
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
130
|
+
* @returns B2C target info
|
|
131
|
+
* @throws Error if request fails
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
136
|
+
* import { getB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
137
|
+
*
|
|
138
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
139
|
+
*
|
|
140
|
+
* const info = await getB2CTargetInfo({
|
|
141
|
+
* projectSlug: 'my-storefront',
|
|
142
|
+
* targetSlug: 'production'
|
|
143
|
+
* }, auth);
|
|
144
|
+
*
|
|
145
|
+
* console.log(`Instance: ${info.instance_id}`);
|
|
146
|
+
* console.log(`Sites: ${info.sites?.join(', ')}`);
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
export declare function getB2CTargetInfo(options: GetB2CTargetInfoOptions, auth: AuthStrategy): Promise<B2CTargetInfo>;
|
|
150
|
+
/**
|
|
151
|
+
* Sets (creates/replaces) B2C Commerce info for a target/environment.
|
|
152
|
+
*
|
|
153
|
+
* @param options - Operation options
|
|
154
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
155
|
+
* @returns Updated B2C target info
|
|
156
|
+
* @throws Error if request fails
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
161
|
+
* import { setB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
162
|
+
*
|
|
163
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
164
|
+
*
|
|
165
|
+
* const info = await setB2CTargetInfo({
|
|
166
|
+
* projectSlug: 'my-storefront',
|
|
167
|
+
* targetSlug: 'production',
|
|
168
|
+
* instanceId: 'aaaa_prd',
|
|
169
|
+
* sites: ['RefArch', 'SiteGenesis']
|
|
170
|
+
* }, auth);
|
|
171
|
+
*
|
|
172
|
+
* console.log(`Connected to instance: ${info.instance_id}`);
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
export declare function setB2CTargetInfo(options: SetB2CTargetInfoOptions, auth: AuthStrategy): Promise<B2CTargetInfo>;
|
|
176
|
+
/**
|
|
177
|
+
* Updates B2C Commerce info for a target/environment.
|
|
178
|
+
*
|
|
179
|
+
* @param options - Operation options
|
|
180
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
181
|
+
* @returns Updated B2C target info
|
|
182
|
+
* @throws Error if request fails
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
187
|
+
* import { updateB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
188
|
+
*
|
|
189
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
190
|
+
*
|
|
191
|
+
* // Update only the sites list
|
|
192
|
+
* const info = await updateB2CTargetInfo({
|
|
193
|
+
* projectSlug: 'my-storefront',
|
|
194
|
+
* targetSlug: 'production',
|
|
195
|
+
* sites: ['RefArch', 'SiteGenesis', 'NewSite']
|
|
196
|
+
* }, auth);
|
|
197
|
+
*
|
|
198
|
+
* console.log(`Updated sites: ${info.sites?.join(', ')}`);
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
201
|
+
export declare function updateB2CTargetInfo(options: UpdateB2CTargetInfoOptions, auth: AuthStrategy): Promise<B2CTargetInfo>;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { createMrtB2CClient, DEFAULT_MRT_B2C_ORIGIN, } from '../../clients/mrt-b2c.js';
|
|
2
|
+
import { getLogger } from '../../logging/logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Gets B2C Commerce info for an organization.
|
|
5
|
+
*
|
|
6
|
+
* Returns the list of B2C Commerce instances connected to the organization.
|
|
7
|
+
*
|
|
8
|
+
* @param options - Operation options
|
|
9
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
10
|
+
* @returns B2C organization info
|
|
11
|
+
* @throws Error if request fails
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
16
|
+
* import { getB2COrgInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
17
|
+
*
|
|
18
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
19
|
+
*
|
|
20
|
+
* const info = await getB2COrgInfo({
|
|
21
|
+
* organizationSlug: 'my-org'
|
|
22
|
+
* }, auth);
|
|
23
|
+
*
|
|
24
|
+
* console.log(`B2C Customer: ${info.is_b2c_customer}`);
|
|
25
|
+
* console.log(`Instances: ${info.instances.join(', ')}`);
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export async function getB2COrgInfo(options, auth) {
|
|
29
|
+
const logger = getLogger();
|
|
30
|
+
const { organizationSlug, origin } = options;
|
|
31
|
+
logger.debug({ organizationSlug }, '[MRT-B2C] Getting B2C organization info');
|
|
32
|
+
const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
|
|
33
|
+
const { data, error } = await client.GET('/b2c-organization-info/{organization_slug}/', {
|
|
34
|
+
params: {
|
|
35
|
+
path: { organization_slug: organizationSlug },
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
if (error) {
|
|
39
|
+
const errorMessage = typeof error === 'object' && error !== null && 'message' in error
|
|
40
|
+
? String(error.message)
|
|
41
|
+
: JSON.stringify(error);
|
|
42
|
+
throw new Error(`Failed to get B2C organization info: ${errorMessage}`);
|
|
43
|
+
}
|
|
44
|
+
logger.debug({ isB2cCustomer: data.is_b2c_customer }, '[MRT-B2C] B2C organization info retrieved');
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Gets B2C Commerce info for a target/environment.
|
|
49
|
+
*
|
|
50
|
+
* Returns the B2C Commerce instance and sites connected to the target.
|
|
51
|
+
*
|
|
52
|
+
* @param options - Operation options
|
|
53
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
54
|
+
* @returns B2C target info
|
|
55
|
+
* @throws Error if request fails
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
60
|
+
* import { getB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
61
|
+
*
|
|
62
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
63
|
+
*
|
|
64
|
+
* const info = await getB2CTargetInfo({
|
|
65
|
+
* projectSlug: 'my-storefront',
|
|
66
|
+
* targetSlug: 'production'
|
|
67
|
+
* }, auth);
|
|
68
|
+
*
|
|
69
|
+
* console.log(`Instance: ${info.instance_id}`);
|
|
70
|
+
* console.log(`Sites: ${info.sites?.join(', ')}`);
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export async function getB2CTargetInfo(options, auth) {
|
|
74
|
+
const logger = getLogger();
|
|
75
|
+
const { projectSlug, targetSlug, origin } = options;
|
|
76
|
+
logger.debug({ projectSlug, targetSlug }, '[MRT-B2C] Getting B2C target info');
|
|
77
|
+
const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
|
|
78
|
+
const { data, error } = await client.GET('/projects/{project_slug}/b2c-target-info/{target_slug}/', {
|
|
79
|
+
params: {
|
|
80
|
+
path: { project_slug: projectSlug, target_slug: targetSlug },
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
if (error) {
|
|
84
|
+
const errorMessage = typeof error === 'object' && error !== null && 'message' in error
|
|
85
|
+
? String(error.message)
|
|
86
|
+
: JSON.stringify(error);
|
|
87
|
+
throw new Error(`Failed to get B2C target info: ${errorMessage}`);
|
|
88
|
+
}
|
|
89
|
+
logger.debug({ instanceId: data.instance_id }, '[MRT-B2C] B2C target info retrieved');
|
|
90
|
+
return data;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Sets (creates/replaces) B2C Commerce info for a target/environment.
|
|
94
|
+
*
|
|
95
|
+
* @param options - Operation options
|
|
96
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
97
|
+
* @returns Updated B2C target info
|
|
98
|
+
* @throws Error if request fails
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
103
|
+
* import { setB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
104
|
+
*
|
|
105
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
106
|
+
*
|
|
107
|
+
* const info = await setB2CTargetInfo({
|
|
108
|
+
* projectSlug: 'my-storefront',
|
|
109
|
+
* targetSlug: 'production',
|
|
110
|
+
* instanceId: 'aaaa_prd',
|
|
111
|
+
* sites: ['RefArch', 'SiteGenesis']
|
|
112
|
+
* }, auth);
|
|
113
|
+
*
|
|
114
|
+
* console.log(`Connected to instance: ${info.instance_id}`);
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export async function setB2CTargetInfo(options, auth) {
|
|
118
|
+
const logger = getLogger();
|
|
119
|
+
const { projectSlug, targetSlug, instanceId, sites, origin } = options;
|
|
120
|
+
logger.debug({ projectSlug, targetSlug, instanceId }, '[MRT-B2C] Setting B2C target info');
|
|
121
|
+
const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
|
|
122
|
+
const body = {
|
|
123
|
+
instance_id: instanceId,
|
|
124
|
+
};
|
|
125
|
+
if (sites !== undefined) {
|
|
126
|
+
body.sites = sites;
|
|
127
|
+
}
|
|
128
|
+
const { data, error } = await client.PUT('/projects/{project_slug}/b2c-target-info/{target_slug}/', {
|
|
129
|
+
params: {
|
|
130
|
+
path: { project_slug: projectSlug, target_slug: targetSlug },
|
|
131
|
+
},
|
|
132
|
+
body,
|
|
133
|
+
});
|
|
134
|
+
if (error) {
|
|
135
|
+
const errorMessage = typeof error === 'object' && error !== null && 'message' in error
|
|
136
|
+
? String(error.message)
|
|
137
|
+
: JSON.stringify(error);
|
|
138
|
+
throw new Error(`Failed to set B2C target info: ${errorMessage}`);
|
|
139
|
+
}
|
|
140
|
+
logger.debug({ instanceId: data.instance_id }, '[MRT-B2C] B2C target info set');
|
|
141
|
+
return data;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Updates B2C Commerce info for a target/environment.
|
|
145
|
+
*
|
|
146
|
+
* @param options - Operation options
|
|
147
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
148
|
+
* @returns Updated B2C target info
|
|
149
|
+
* @throws Error if request fails
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
154
|
+
* import { updateB2CTargetInfo } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
155
|
+
*
|
|
156
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
157
|
+
*
|
|
158
|
+
* // Update only the sites list
|
|
159
|
+
* const info = await updateB2CTargetInfo({
|
|
160
|
+
* projectSlug: 'my-storefront',
|
|
161
|
+
* targetSlug: 'production',
|
|
162
|
+
* sites: ['RefArch', 'SiteGenesis', 'NewSite']
|
|
163
|
+
* }, auth);
|
|
164
|
+
*
|
|
165
|
+
* console.log(`Updated sites: ${info.sites?.join(', ')}`);
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
export async function updateB2CTargetInfo(options, auth) {
|
|
169
|
+
const logger = getLogger();
|
|
170
|
+
const { projectSlug, targetSlug, instanceId, sites, origin } = options;
|
|
171
|
+
logger.debug({ projectSlug, targetSlug, instanceId }, '[MRT-B2C] Updating B2C target info');
|
|
172
|
+
const client = createMrtB2CClient({ origin: origin || DEFAULT_MRT_B2C_ORIGIN }, auth);
|
|
173
|
+
const body = {};
|
|
174
|
+
if (instanceId !== undefined) {
|
|
175
|
+
body.instance_id = instanceId;
|
|
176
|
+
}
|
|
177
|
+
if (sites !== undefined) {
|
|
178
|
+
body.sites = sites;
|
|
179
|
+
}
|
|
180
|
+
const { data, error } = await client.PATCH('/projects/{project_slug}/b2c-target-info/{target_slug}/', {
|
|
181
|
+
params: {
|
|
182
|
+
path: { project_slug: projectSlug, target_slug: targetSlug },
|
|
183
|
+
},
|
|
184
|
+
body,
|
|
185
|
+
});
|
|
186
|
+
if (error) {
|
|
187
|
+
const errorMessage = typeof error === 'object' && error !== null && 'message' in error
|
|
188
|
+
? String(error.message)
|
|
189
|
+
: JSON.stringify(error);
|
|
190
|
+
throw new Error(`Failed to update B2C target info: ${errorMessage}`);
|
|
191
|
+
}
|
|
192
|
+
logger.debug({ instanceId: data.instance_id }, '[MRT-B2C] B2C target info updated');
|
|
193
|
+
return data;
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=b2c-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"b2c-config.js","sourceRoot":"","sources":["../../../../src/operations/mrt/b2c-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache operations for Managed Runtime.
|
|
3
|
+
*
|
|
4
|
+
* Handles cache invalidation for MRT environments.
|
|
5
|
+
*
|
|
6
|
+
* @module operations/mrt/cache
|
|
7
|
+
*/
|
|
8
|
+
import type { AuthStrategy } from '../../auth/types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Options for invalidating cache.
|
|
11
|
+
*/
|
|
12
|
+
export interface InvalidateCacheOptions {
|
|
13
|
+
/**
|
|
14
|
+
* The project slug.
|
|
15
|
+
*/
|
|
16
|
+
projectSlug: string;
|
|
17
|
+
/**
|
|
18
|
+
* The target/environment slug.
|
|
19
|
+
*/
|
|
20
|
+
targetSlug: string;
|
|
21
|
+
/**
|
|
22
|
+
* Path pattern to invalidate on the CDN.
|
|
23
|
+
* Must start with a forward slash (/).
|
|
24
|
+
* Use /* to invalidate all cached paths.
|
|
25
|
+
*/
|
|
26
|
+
pattern: string;
|
|
27
|
+
/**
|
|
28
|
+
* MRT API origin URL.
|
|
29
|
+
* @default "https://cloud.mobify.com"
|
|
30
|
+
*/
|
|
31
|
+
origin?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Result of cache invalidation.
|
|
35
|
+
*/
|
|
36
|
+
export interface InvalidateCacheResult {
|
|
37
|
+
/**
|
|
38
|
+
* Status message.
|
|
39
|
+
*/
|
|
40
|
+
result: string;
|
|
41
|
+
/**
|
|
42
|
+
* Target slug.
|
|
43
|
+
*/
|
|
44
|
+
slug: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Invalidates cached objects in the CDN for an MRT environment.
|
|
48
|
+
*
|
|
49
|
+
* Cache invalidations are asynchronous and usually complete within two minutes.
|
|
50
|
+
*
|
|
51
|
+
* @param options - Invalidation options
|
|
52
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
53
|
+
* @returns Invalidation result
|
|
54
|
+
* @throws Error if request fails
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
59
|
+
* import { invalidateCache } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
60
|
+
*
|
|
61
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
62
|
+
*
|
|
63
|
+
* // Invalidate all cached paths
|
|
64
|
+
* const result = await invalidateCache({
|
|
65
|
+
* projectSlug: 'my-storefront',
|
|
66
|
+
* targetSlug: 'production',
|
|
67
|
+
* pattern: '/*'
|
|
68
|
+
* }, auth);
|
|
69
|
+
*
|
|
70
|
+
* console.log(result.result);
|
|
71
|
+
*
|
|
72
|
+
* // Invalidate specific path
|
|
73
|
+
* const result2 = await invalidateCache({
|
|
74
|
+
* projectSlug: 'my-storefront',
|
|
75
|
+
* targetSlug: 'production',
|
|
76
|
+
* pattern: '/products/*'
|
|
77
|
+
* }, auth);
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare function invalidateCache(options: InvalidateCacheOptions, auth: AuthStrategy): Promise<InvalidateCacheResult>;
|