@salesforce/b2c-tooling-sdk 0.0.0-nightly.20260121201541 → 0.0.0-nightly.20260122144746

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 (149) hide show
  1. package/dist/cjs/cli/mrt-command.d.ts +2 -1
  2. package/dist/cjs/cli/mrt-command.js +3 -2
  3. package/dist/cjs/cli/mrt-command.js.map +1 -1
  4. package/dist/cjs/clients/cdn-zones.d.ts +154 -0
  5. package/dist/cjs/clients/cdn-zones.generated.d.ts +8330 -0
  6. package/dist/cjs/clients/cdn-zones.generated.js +6 -0
  7. package/dist/cjs/clients/cdn-zones.generated.js.map +1 -0
  8. package/dist/cjs/clients/cdn-zones.js +100 -0
  9. package/dist/cjs/clients/cdn-zones.js.map +1 -0
  10. package/dist/cjs/clients/error-utils.d.ts +35 -0
  11. package/dist/cjs/clients/error-utils.js +69 -0
  12. package/dist/cjs/clients/error-utils.js.map +1 -0
  13. package/dist/cjs/clients/index.d.ts +5 -0
  14. package/dist/cjs/clients/index.js +3 -0
  15. package/dist/cjs/clients/index.js.map +1 -1
  16. package/dist/cjs/clients/middleware-registry.d.ts +1 -1
  17. package/dist/cjs/clients/middleware-registry.js.map +1 -1
  18. package/dist/cjs/clients/mrt-b2c.d.ts +114 -0
  19. package/dist/cjs/clients/mrt-b2c.generated.d.ts +176 -0
  20. package/dist/cjs/clients/mrt-b2c.generated.js +6 -0
  21. package/dist/cjs/clients/mrt-b2c.generated.js.map +1 -0
  22. package/dist/cjs/clients/mrt-b2c.js +86 -0
  23. package/dist/cjs/clients/mrt-b2c.js.map +1 -0
  24. package/dist/cjs/config/dw-json.d.ts +4 -0
  25. package/dist/cjs/config/dw-json.js.map +1 -1
  26. package/dist/cjs/config/mapping.js +1 -0
  27. package/dist/cjs/config/mapping.js.map +1 -1
  28. package/dist/cjs/config/resolver.js +3 -0
  29. package/dist/cjs/config/resolver.js.map +1 -1
  30. package/dist/cjs/index.d.ts +2 -2
  31. package/dist/cjs/index.js +1 -1
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/cjs/operations/code/deploy.js +9 -3
  34. package/dist/cjs/operations/code/deploy.js.map +1 -1
  35. package/dist/cjs/operations/mrt/access-control.d.ts +192 -0
  36. package/dist/cjs/operations/mrt/access-control.js +152 -0
  37. package/dist/cjs/operations/mrt/access-control.js.map +1 -0
  38. package/dist/cjs/operations/mrt/b2c-config.d.ts +201 -0
  39. package/dist/cjs/operations/mrt/b2c-config.js +195 -0
  40. package/dist/cjs/operations/mrt/b2c-config.js.map +1 -0
  41. package/dist/cjs/operations/mrt/cache.d.ts +80 -0
  42. package/dist/cjs/operations/mrt/cache.js +65 -0
  43. package/dist/cjs/operations/mrt/cache.js.map +1 -0
  44. package/dist/cjs/operations/mrt/deployment.d.ts +157 -0
  45. package/dist/cjs/operations/mrt/deployment.js +109 -0
  46. package/dist/cjs/operations/mrt/deployment.js.map +1 -0
  47. package/dist/cjs/operations/mrt/env.d.ts +141 -0
  48. package/dist/cjs/operations/mrt/env.js +119 -0
  49. package/dist/cjs/operations/mrt/env.js.map +1 -1
  50. package/dist/cjs/operations/mrt/index.d.ts +24 -4
  51. package/dist/cjs/operations/mrt/index.js +23 -3
  52. package/dist/cjs/operations/mrt/index.js.map +1 -1
  53. package/dist/cjs/operations/mrt/member.d.ts +281 -0
  54. package/dist/cjs/operations/mrt/member.js +244 -0
  55. package/dist/cjs/operations/mrt/member.js.map +1 -0
  56. package/dist/cjs/operations/mrt/notification.d.ts +252 -0
  57. package/dist/cjs/operations/mrt/notification.js +206 -0
  58. package/dist/cjs/operations/mrt/notification.js.map +1 -0
  59. package/dist/cjs/operations/mrt/organization.d.ts +80 -0
  60. package/dist/cjs/operations/mrt/organization.js +53 -0
  61. package/dist/cjs/operations/mrt/organization.js.map +1 -0
  62. package/dist/cjs/operations/mrt/project.d.ts +261 -0
  63. package/dist/cjs/operations/mrt/project.js +232 -0
  64. package/dist/cjs/operations/mrt/project.js.map +1 -0
  65. package/dist/cjs/operations/mrt/push.d.ts +122 -8
  66. package/dist/cjs/operations/mrt/push.js +83 -10
  67. package/dist/cjs/operations/mrt/push.js.map +1 -1
  68. package/dist/cjs/operations/mrt/redirect.d.ts +337 -0
  69. package/dist/cjs/operations/mrt/redirect.js +256 -0
  70. package/dist/cjs/operations/mrt/redirect.js.map +1 -0
  71. package/dist/cjs/operations/mrt/user.d.ts +135 -0
  72. package/dist/cjs/operations/mrt/user.js +153 -0
  73. package/dist/cjs/operations/mrt/user.js.map +1 -0
  74. package/dist/esm/cli/mrt-command.d.ts +2 -1
  75. package/dist/esm/cli/mrt-command.js +3 -2
  76. package/dist/esm/cli/mrt-command.js.map +1 -1
  77. package/dist/esm/clients/cdn-zones.d.ts +154 -0
  78. package/dist/esm/clients/cdn-zones.generated.d.ts +8330 -0
  79. package/dist/esm/clients/cdn-zones.generated.js +6 -0
  80. package/dist/esm/clients/cdn-zones.generated.js.map +1 -0
  81. package/dist/esm/clients/cdn-zones.js +100 -0
  82. package/dist/esm/clients/cdn-zones.js.map +1 -0
  83. package/dist/esm/clients/error-utils.d.ts +35 -0
  84. package/dist/esm/clients/error-utils.js +69 -0
  85. package/dist/esm/clients/error-utils.js.map +1 -0
  86. package/dist/esm/clients/index.d.ts +5 -0
  87. package/dist/esm/clients/index.js +3 -0
  88. package/dist/esm/clients/index.js.map +1 -1
  89. package/dist/esm/clients/middleware-registry.d.ts +1 -1
  90. package/dist/esm/clients/middleware-registry.js.map +1 -1
  91. package/dist/esm/clients/mrt-b2c.d.ts +114 -0
  92. package/dist/esm/clients/mrt-b2c.generated.d.ts +176 -0
  93. package/dist/esm/clients/mrt-b2c.generated.js +6 -0
  94. package/dist/esm/clients/mrt-b2c.generated.js.map +1 -0
  95. package/dist/esm/clients/mrt-b2c.js +86 -0
  96. package/dist/esm/clients/mrt-b2c.js.map +1 -0
  97. package/dist/esm/config/dw-json.d.ts +4 -0
  98. package/dist/esm/config/dw-json.js.map +1 -1
  99. package/dist/esm/config/mapping.js +1 -0
  100. package/dist/esm/config/mapping.js.map +1 -1
  101. package/dist/esm/config/resolver.js +3 -0
  102. package/dist/esm/config/resolver.js.map +1 -1
  103. package/dist/esm/index.d.ts +2 -2
  104. package/dist/esm/index.js +1 -1
  105. package/dist/esm/index.js.map +1 -1
  106. package/dist/esm/operations/code/deploy.js +9 -3
  107. package/dist/esm/operations/code/deploy.js.map +1 -1
  108. package/dist/esm/operations/mrt/access-control.d.ts +192 -0
  109. package/dist/esm/operations/mrt/access-control.js +152 -0
  110. package/dist/esm/operations/mrt/access-control.js.map +1 -0
  111. package/dist/esm/operations/mrt/b2c-config.d.ts +201 -0
  112. package/dist/esm/operations/mrt/b2c-config.js +195 -0
  113. package/dist/esm/operations/mrt/b2c-config.js.map +1 -0
  114. package/dist/esm/operations/mrt/cache.d.ts +80 -0
  115. package/dist/esm/operations/mrt/cache.js +65 -0
  116. package/dist/esm/operations/mrt/cache.js.map +1 -0
  117. package/dist/esm/operations/mrt/deployment.d.ts +157 -0
  118. package/dist/esm/operations/mrt/deployment.js +109 -0
  119. package/dist/esm/operations/mrt/deployment.js.map +1 -0
  120. package/dist/esm/operations/mrt/env.d.ts +141 -0
  121. package/dist/esm/operations/mrt/env.js +119 -0
  122. package/dist/esm/operations/mrt/env.js.map +1 -1
  123. package/dist/esm/operations/mrt/index.d.ts +24 -4
  124. package/dist/esm/operations/mrt/index.js +23 -3
  125. package/dist/esm/operations/mrt/index.js.map +1 -1
  126. package/dist/esm/operations/mrt/member.d.ts +281 -0
  127. package/dist/esm/operations/mrt/member.js +244 -0
  128. package/dist/esm/operations/mrt/member.js.map +1 -0
  129. package/dist/esm/operations/mrt/notification.d.ts +252 -0
  130. package/dist/esm/operations/mrt/notification.js +206 -0
  131. package/dist/esm/operations/mrt/notification.js.map +1 -0
  132. package/dist/esm/operations/mrt/organization.d.ts +80 -0
  133. package/dist/esm/operations/mrt/organization.js +53 -0
  134. package/dist/esm/operations/mrt/organization.js.map +1 -0
  135. package/dist/esm/operations/mrt/project.d.ts +261 -0
  136. package/dist/esm/operations/mrt/project.js +232 -0
  137. package/dist/esm/operations/mrt/project.js.map +1 -0
  138. package/dist/esm/operations/mrt/push.d.ts +122 -8
  139. package/dist/esm/operations/mrt/push.js +83 -10
  140. package/dist/esm/operations/mrt/push.js.map +1 -1
  141. package/dist/esm/operations/mrt/redirect.d.ts +337 -0
  142. package/dist/esm/operations/mrt/redirect.js +256 -0
  143. package/dist/esm/operations/mrt/redirect.js.map +1 -0
  144. package/dist/esm/operations/mrt/user.d.ts +135 -0
  145. package/dist/esm/operations/mrt/user.js +153 -0
  146. package/dist/esm/operations/mrt/user.js.map +1 -0
  147. package/package.json +2 -2
  148. package/specs/cdn-zones-v1.yaml +9324 -0
  149. package/specs/mrt-b2c.json +384 -0
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Member operations for Managed Runtime.
3
+ *
4
+ * Handles listing, adding, updating, and removing project members.
5
+ *
6
+ * @module operations/mrt/member
7
+ */
8
+ import type { AuthStrategy } from '../../auth/types.js';
9
+ import type { components } from '../../clients/mrt.js';
10
+ /**
11
+ * Member type from API.
12
+ */
13
+ export type MrtMember = components['schemas']['APIProjectMember'];
14
+ /**
15
+ * Patched member for updates.
16
+ */
17
+ export type PatchedMrtMember = components['schemas']['PatchedAPIProjectMember'];
18
+ /**
19
+ * Member role values.
20
+ * 0 = Admin, 1 = Developer, 2 = Marketer, 3 = Read Only
21
+ */
22
+ export type MemberRoleValue = 0 | 1 | 2 | 3;
23
+ /**
24
+ * Member role names.
25
+ */
26
+ export declare const MEMBER_ROLES: Record<MemberRoleValue, string>;
27
+ /**
28
+ * Options for listing members.
29
+ */
30
+ export interface ListMembersOptions {
31
+ /**
32
+ * The project slug.
33
+ */
34
+ projectSlug: string;
35
+ /**
36
+ * Maximum number of results to return.
37
+ */
38
+ limit?: number;
39
+ /**
40
+ * Offset for pagination.
41
+ */
42
+ offset?: number;
43
+ /**
44
+ * Filter by role value.
45
+ */
46
+ role?: MemberRoleValue;
47
+ /**
48
+ * Search term for filtering.
49
+ */
50
+ search?: string;
51
+ /**
52
+ * Field to order results by.
53
+ */
54
+ ordering?: string;
55
+ /**
56
+ * MRT API origin URL.
57
+ * @default "https://cloud.mobify.com"
58
+ */
59
+ origin?: string;
60
+ }
61
+ /**
62
+ * Result of listing members.
63
+ */
64
+ export interface ListMembersResult {
65
+ /**
66
+ * Total count of members.
67
+ */
68
+ count: number;
69
+ /**
70
+ * URL for next page of results.
71
+ */
72
+ next: string | null;
73
+ /**
74
+ * URL for previous page of results.
75
+ */
76
+ previous: string | null;
77
+ /**
78
+ * Array of members.
79
+ */
80
+ members: MrtMember[];
81
+ }
82
+ /**
83
+ * Lists members for an MRT project.
84
+ *
85
+ * @param options - List options including project slug
86
+ * @param auth - Authentication strategy (ApiKeyStrategy)
87
+ * @returns Paginated list of members
88
+ * @throws Error if request fails
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
93
+ * import { listMembers } from '@salesforce/b2c-tooling-sdk/operations/mrt';
94
+ *
95
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
96
+ *
97
+ * const result = await listMembers({
98
+ * projectSlug: 'my-storefront'
99
+ * }, auth);
100
+ *
101
+ * for (const member of result.members) {
102
+ * console.log(`${member.user}: ${member.role?.name}`);
103
+ * }
104
+ * ```
105
+ */
106
+ export declare function listMembers(options: ListMembersOptions, auth: AuthStrategy): Promise<ListMembersResult>;
107
+ /**
108
+ * Options for adding a member.
109
+ */
110
+ export interface AddMemberOptions {
111
+ /**
112
+ * The project slug.
113
+ */
114
+ projectSlug: string;
115
+ /**
116
+ * Email address of the user to add.
117
+ */
118
+ email: string;
119
+ /**
120
+ * Role value for the member.
121
+ * 0 = Admin, 1 = Developer, 2 = Marketer, 3 = Read Only
122
+ */
123
+ role: MemberRoleValue;
124
+ /**
125
+ * MRT API origin URL.
126
+ * @default "https://cloud.mobify.com"
127
+ */
128
+ origin?: string;
129
+ }
130
+ /**
131
+ * Adds a member to an MRT project.
132
+ *
133
+ * @param options - Add member options
134
+ * @param auth - Authentication strategy (ApiKeyStrategy)
135
+ * @returns The created member
136
+ * @throws Error if request fails
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
141
+ * import { addMember } from '@salesforce/b2c-tooling-sdk/operations/mrt';
142
+ *
143
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
144
+ *
145
+ * const member = await addMember({
146
+ * projectSlug: 'my-storefront',
147
+ * email: 'user@example.com',
148
+ * role: 1 // Developer
149
+ * }, auth);
150
+ * ```
151
+ */
152
+ export declare function addMember(options: AddMemberOptions, auth: AuthStrategy): Promise<MrtMember>;
153
+ /**
154
+ * Options for getting a member.
155
+ */
156
+ export interface GetMemberOptions {
157
+ /**
158
+ * The project slug.
159
+ */
160
+ projectSlug: string;
161
+ /**
162
+ * Email address of the member.
163
+ */
164
+ email: string;
165
+ /**
166
+ * MRT API origin URL.
167
+ * @default "https://cloud.mobify.com"
168
+ */
169
+ origin?: string;
170
+ }
171
+ /**
172
+ * Gets a member from an MRT project.
173
+ *
174
+ * @param options - Get member options
175
+ * @param auth - Authentication strategy (ApiKeyStrategy)
176
+ * @returns The member
177
+ * @throws Error if request fails
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
182
+ * import { getMember } from '@salesforce/b2c-tooling-sdk/operations/mrt';
183
+ *
184
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
185
+ *
186
+ * const member = await getMember({
187
+ * projectSlug: 'my-storefront',
188
+ * email: 'user@example.com'
189
+ * }, auth);
190
+ *
191
+ * console.log(`Role: ${member.role?.name}`);
192
+ * ```
193
+ */
194
+ export declare function getMember(options: GetMemberOptions, auth: AuthStrategy): Promise<MrtMember>;
195
+ /**
196
+ * Options for updating a member.
197
+ */
198
+ export interface UpdateMemberOptions {
199
+ /**
200
+ * The project slug.
201
+ */
202
+ projectSlug: string;
203
+ /**
204
+ * Email address of the member to update.
205
+ */
206
+ email: string;
207
+ /**
208
+ * New role value for the member.
209
+ * 0 = Admin, 1 = Developer, 2 = Marketer, 3 = Read Only
210
+ */
211
+ role: MemberRoleValue;
212
+ /**
213
+ * MRT API origin URL.
214
+ * @default "https://cloud.mobify.com"
215
+ */
216
+ origin?: string;
217
+ }
218
+ /**
219
+ * Updates a member's role in an MRT project.
220
+ *
221
+ * @param options - Update member options
222
+ * @param auth - Authentication strategy (ApiKeyStrategy)
223
+ * @returns The updated member
224
+ * @throws Error if request fails
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
229
+ * import { updateMember } from '@salesforce/b2c-tooling-sdk/operations/mrt';
230
+ *
231
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
232
+ *
233
+ * const member = await updateMember({
234
+ * projectSlug: 'my-storefront',
235
+ * email: 'user@example.com',
236
+ * role: 0 // Promote to Admin
237
+ * }, auth);
238
+ * ```
239
+ */
240
+ export declare function updateMember(options: UpdateMemberOptions, auth: AuthStrategy): Promise<MrtMember>;
241
+ /**
242
+ * Options for removing a member.
243
+ */
244
+ export interface RemoveMemberOptions {
245
+ /**
246
+ * The project slug.
247
+ */
248
+ projectSlug: string;
249
+ /**
250
+ * Email address of the member to remove.
251
+ */
252
+ email: string;
253
+ /**
254
+ * MRT API origin URL.
255
+ * @default "https://cloud.mobify.com"
256
+ */
257
+ origin?: string;
258
+ }
259
+ /**
260
+ * Removes a member from an MRT project.
261
+ *
262
+ * @param options - Remove member options
263
+ * @param auth - Authentication strategy (ApiKeyStrategy)
264
+ * @throws Error if request fails
265
+ *
266
+ * @example
267
+ * ```typescript
268
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
269
+ * import { removeMember } from '@salesforce/b2c-tooling-sdk/operations/mrt';
270
+ *
271
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
272
+ *
273
+ * await removeMember({
274
+ * projectSlug: 'my-storefront',
275
+ * email: 'user@example.com'
276
+ * }, auth);
277
+ *
278
+ * console.log('Member removed');
279
+ * ```
280
+ */
281
+ export declare function removeMember(options: RemoveMemberOptions, auth: AuthStrategy): Promise<void>;
@@ -0,0 +1,244 @@
1
+ import { createMrtClient, DEFAULT_MRT_ORIGIN } from '../../clients/mrt.js';
2
+ import { getLogger } from '../../logging/logger.js';
3
+ /**
4
+ * Member role names.
5
+ */
6
+ export const MEMBER_ROLES = {
7
+ 0: 'Admin',
8
+ 1: 'Developer',
9
+ 2: 'Marketer',
10
+ 3: 'Read Only',
11
+ };
12
+ /**
13
+ * Lists members for an MRT project.
14
+ *
15
+ * @param options - List options including project slug
16
+ * @param auth - Authentication strategy (ApiKeyStrategy)
17
+ * @returns Paginated list of members
18
+ * @throws Error if request fails
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
23
+ * import { listMembers } from '@salesforce/b2c-tooling-sdk/operations/mrt';
24
+ *
25
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
26
+ *
27
+ * const result = await listMembers({
28
+ * projectSlug: 'my-storefront'
29
+ * }, auth);
30
+ *
31
+ * for (const member of result.members) {
32
+ * console.log(`${member.user}: ${member.role?.name}`);
33
+ * }
34
+ * ```
35
+ */
36
+ export async function listMembers(options, auth) {
37
+ const logger = getLogger();
38
+ const { projectSlug, limit, offset, role, search, ordering, origin } = options;
39
+ logger.debug({ projectSlug }, '[MRT] Listing members');
40
+ const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
41
+ const { data, error } = await client.GET('/api/projects/{project_slug}/members/', {
42
+ params: {
43
+ path: { project_slug: projectSlug, role: '' },
44
+ query: {
45
+ limit,
46
+ offset,
47
+ role,
48
+ search,
49
+ ordering,
50
+ },
51
+ },
52
+ });
53
+ if (error) {
54
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
55
+ ? String(error.message)
56
+ : JSON.stringify(error);
57
+ throw new Error(`Failed to list members: ${errorMessage}`);
58
+ }
59
+ logger.debug({ count: data.count }, '[MRT] Members listed');
60
+ return {
61
+ count: data.count ?? 0,
62
+ next: data.next ?? null,
63
+ previous: data.previous ?? null,
64
+ members: data.results ?? [],
65
+ };
66
+ }
67
+ /**
68
+ * Adds a member to an MRT project.
69
+ *
70
+ * @param options - Add member options
71
+ * @param auth - Authentication strategy (ApiKeyStrategy)
72
+ * @returns The created member
73
+ * @throws Error if request fails
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
78
+ * import { addMember } from '@salesforce/b2c-tooling-sdk/operations/mrt';
79
+ *
80
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
81
+ *
82
+ * const member = await addMember({
83
+ * projectSlug: 'my-storefront',
84
+ * email: 'user@example.com',
85
+ * role: 1 // Developer
86
+ * }, auth);
87
+ * ```
88
+ */
89
+ export async function addMember(options, auth) {
90
+ const logger = getLogger();
91
+ const { projectSlug, email, role, origin } = options;
92
+ logger.debug({ projectSlug, email, role }, '[MRT] Adding member');
93
+ const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
94
+ const { data, error } = await client.POST('/api/projects/{project_slug}/members/', {
95
+ params: {
96
+ path: { project_slug: projectSlug },
97
+ },
98
+ body: {
99
+ user: email,
100
+ role: {
101
+ value: role,
102
+ name: MEMBER_ROLES[role],
103
+ },
104
+ },
105
+ });
106
+ if (error) {
107
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
108
+ ? String(error.message)
109
+ : JSON.stringify(error);
110
+ throw new Error(`Failed to add member: ${errorMessage}`);
111
+ }
112
+ logger.debug({ email }, '[MRT] Member added');
113
+ return data;
114
+ }
115
+ /**
116
+ * Gets a member from an MRT project.
117
+ *
118
+ * @param options - Get member options
119
+ * @param auth - Authentication strategy (ApiKeyStrategy)
120
+ * @returns The member
121
+ * @throws Error if request fails
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
126
+ * import { getMember } from '@salesforce/b2c-tooling-sdk/operations/mrt';
127
+ *
128
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
129
+ *
130
+ * const member = await getMember({
131
+ * projectSlug: 'my-storefront',
132
+ * email: 'user@example.com'
133
+ * }, auth);
134
+ *
135
+ * console.log(`Role: ${member.role?.name}`);
136
+ * ```
137
+ */
138
+ export async function getMember(options, auth) {
139
+ const logger = getLogger();
140
+ const { projectSlug, email, origin } = options;
141
+ logger.debug({ projectSlug, email }, '[MRT] Getting member');
142
+ const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
143
+ const { data, error } = await client.GET('/api/projects/{project_slug}/members/{email}/', {
144
+ params: {
145
+ path: { project_slug: projectSlug, email },
146
+ },
147
+ });
148
+ if (error) {
149
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
150
+ ? String(error.message)
151
+ : JSON.stringify(error);
152
+ throw new Error(`Failed to get member: ${errorMessage}`);
153
+ }
154
+ logger.debug({ email }, '[MRT] Member retrieved');
155
+ return data;
156
+ }
157
+ /**
158
+ * Updates a member's role in an MRT project.
159
+ *
160
+ * @param options - Update member options
161
+ * @param auth - Authentication strategy (ApiKeyStrategy)
162
+ * @returns The updated member
163
+ * @throws Error if request fails
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
168
+ * import { updateMember } from '@salesforce/b2c-tooling-sdk/operations/mrt';
169
+ *
170
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
171
+ *
172
+ * const member = await updateMember({
173
+ * projectSlug: 'my-storefront',
174
+ * email: 'user@example.com',
175
+ * role: 0 // Promote to Admin
176
+ * }, auth);
177
+ * ```
178
+ */
179
+ export async function updateMember(options, auth) {
180
+ const logger = getLogger();
181
+ const { projectSlug, email, role, origin } = options;
182
+ logger.debug({ projectSlug, email, role }, '[MRT] Updating member');
183
+ const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
184
+ const { data, error } = await client.PATCH('/api/projects/{project_slug}/members/{email}/', {
185
+ params: {
186
+ path: { project_slug: projectSlug, email },
187
+ },
188
+ body: {
189
+ role: {
190
+ value: role,
191
+ name: MEMBER_ROLES[role],
192
+ },
193
+ },
194
+ });
195
+ if (error) {
196
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
197
+ ? String(error.message)
198
+ : JSON.stringify(error);
199
+ throw new Error(`Failed to update member: ${errorMessage}`);
200
+ }
201
+ logger.debug({ email }, '[MRT] Member updated');
202
+ return data;
203
+ }
204
+ /**
205
+ * Removes a member from an MRT project.
206
+ *
207
+ * @param options - Remove member options
208
+ * @param auth - Authentication strategy (ApiKeyStrategy)
209
+ * @throws Error if request fails
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
214
+ * import { removeMember } from '@salesforce/b2c-tooling-sdk/operations/mrt';
215
+ *
216
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
217
+ *
218
+ * await removeMember({
219
+ * projectSlug: 'my-storefront',
220
+ * email: 'user@example.com'
221
+ * }, auth);
222
+ *
223
+ * console.log('Member removed');
224
+ * ```
225
+ */
226
+ export async function removeMember(options, auth) {
227
+ const logger = getLogger();
228
+ const { projectSlug, email, origin } = options;
229
+ logger.debug({ projectSlug, email }, '[MRT] Removing member');
230
+ const client = createMrtClient({ origin: origin || DEFAULT_MRT_ORIGIN }, auth);
231
+ const { error } = await client.DELETE('/api/projects/{project_slug}/members/{email}/', {
232
+ params: {
233
+ path: { project_slug: projectSlug, email },
234
+ },
235
+ });
236
+ if (error) {
237
+ const errorMessage = typeof error === 'object' && error !== null && 'message' in error
238
+ ? String(error.message)
239
+ : JSON.stringify(error);
240
+ throw new Error(`Failed to remove member: ${errorMessage}`);
241
+ }
242
+ logger.debug({ email }, '[MRT] Member removed');
243
+ }
244
+ //# sourceMappingURL=member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../src/operations/mrt/member.ts"],"names":[],"mappings":"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"}