@pvh-afl/core 1.0.16 → 1.0.18
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/integrations/index.d.ts +2 -0
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +4 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/integrations.module.d.ts.map +1 -1
- package/dist/integrations/integrations.module.js +10 -0
- package/dist/integrations/integrations.module.js.map +1 -1
- package/dist/integrations/reviews/index.d.ts +3 -0
- package/dist/integrations/reviews/index.d.ts.map +1 -0
- package/dist/integrations/reviews/index.js +6 -0
- package/dist/integrations/reviews/index.js.map +1 -0
- package/dist/integrations/reviews/judgeme.service.d.ts +86 -0
- package/dist/integrations/reviews/judgeme.service.d.ts.map +1 -0
- package/dist/integrations/reviews/judgeme.service.js +448 -0
- package/dist/integrations/reviews/judgeme.service.js.map +1 -0
- package/dist/integrations/reviews/judgeme.types.d.ts +127 -0
- package/dist/integrations/reviews/judgeme.types.d.ts.map +1 -0
- package/dist/integrations/reviews/judgeme.types.js +9 -0
- package/dist/integrations/reviews/judgeme.types.js.map +1 -0
- package/dist/integrations/swish/index.d.ts +3 -0
- package/dist/integrations/swish/index.d.ts.map +1 -0
- package/dist/integrations/swish/index.js +6 -0
- package/dist/integrations/swish/index.js.map +1 -0
- package/dist/integrations/swish/swish.service.d.ts +93 -0
- package/dist/integrations/swish/swish.service.d.ts.map +1 -0
- package/dist/integrations/swish/swish.service.js +478 -0
- package/dist/integrations/swish/swish.service.js.map +1 -0
- package/dist/integrations/swish/swish.types.d.ts +115 -0
- package/dist/integrations/swish/swish.types.d.ts.map +1 -0
- package/dist/integrations/swish/swish.types.js +9 -0
- package/dist/integrations/swish/swish.types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,478 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwishService = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const logger_1 = require("../../common/logger");
|
|
7
|
+
/**
|
|
8
|
+
* Swish Wishlist Service
|
|
9
|
+
*
|
|
10
|
+
* Provides integration with Swish's Wishlist API.
|
|
11
|
+
* Handles:
|
|
12
|
+
* - Token/session management (POST /profiles/token)
|
|
13
|
+
* - Wishlist items (GET/POST/DELETE /items)
|
|
14
|
+
* - Wishlist lists (GET/POST/PATCH/DELETE /lists)
|
|
15
|
+
*
|
|
16
|
+
* @see https://developers.swish.app/swish-api/authentication
|
|
17
|
+
*/
|
|
18
|
+
let SwishService = class SwishService {
|
|
19
|
+
config = null;
|
|
20
|
+
brand = '';
|
|
21
|
+
defaultTimeout = 10000;
|
|
22
|
+
/**
|
|
23
|
+
* Configure the service for a specific brand
|
|
24
|
+
*/
|
|
25
|
+
configure(brand, config) {
|
|
26
|
+
this.brand = brand;
|
|
27
|
+
this.config = {
|
|
28
|
+
timeout: this.defaultTimeout,
|
|
29
|
+
...config,
|
|
30
|
+
};
|
|
31
|
+
logger_1.logger.info('Swish wishlist service configured', { brand });
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Check if the service is configured
|
|
35
|
+
*/
|
|
36
|
+
isConfigured() {
|
|
37
|
+
return this.config !== null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Create an anonymous session for guest users.
|
|
41
|
+
*/
|
|
42
|
+
async createSession() {
|
|
43
|
+
if (!this.config) {
|
|
44
|
+
return this.notConfiguredError();
|
|
45
|
+
}
|
|
46
|
+
const response = await this.request('POST', '/profiles/token', {});
|
|
47
|
+
if (!response.success) {
|
|
48
|
+
return { success: false, error: response.error };
|
|
49
|
+
}
|
|
50
|
+
const token = response.data.data.token;
|
|
51
|
+
const profileGid = response.data.data.profile;
|
|
52
|
+
logger_1.logger.info('Created Swish session', { brand: this.brand, profileGid });
|
|
53
|
+
return {
|
|
54
|
+
success: true,
|
|
55
|
+
data: {
|
|
56
|
+
session: {
|
|
57
|
+
gid: profileGid,
|
|
58
|
+
token: token,
|
|
59
|
+
expiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create or get a customer profile token for logged-in users.
|
|
66
|
+
*/
|
|
67
|
+
async createCustomerProfile(customerId) {
|
|
68
|
+
if (!this.config) {
|
|
69
|
+
return this.notConfiguredError();
|
|
70
|
+
}
|
|
71
|
+
const numericId = this.extractNumericId(customerId);
|
|
72
|
+
const response = await this.request('POST', '/profiles/token', {
|
|
73
|
+
customer: `gid://shopify/Customer/${numericId}`,
|
|
74
|
+
});
|
|
75
|
+
if (!response.success) {
|
|
76
|
+
return { success: false, error: response.error };
|
|
77
|
+
}
|
|
78
|
+
logger_1.logger.info('Created/retrieved Swish customer profile', {
|
|
79
|
+
brand: this.brand,
|
|
80
|
+
customerId,
|
|
81
|
+
profileGid: response.data.data.profile,
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
success: true,
|
|
85
|
+
data: {
|
|
86
|
+
profile: {
|
|
87
|
+
gid: response.data.data.profile,
|
|
88
|
+
customerId: numericId,
|
|
89
|
+
},
|
|
90
|
+
token: response.data.data.token,
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Merge guest session into customer account.
|
|
96
|
+
*
|
|
97
|
+
* Per Swish API docs: "When a customer logs in, replace their session token
|
|
98
|
+
* with a customer token. To link the previous session to the new customer
|
|
99
|
+
* session, provide the customer and session IDs when creating the customer token."
|
|
100
|
+
*
|
|
101
|
+
* This calls POST /profiles/token with both customer and session to merge them.
|
|
102
|
+
*/
|
|
103
|
+
async mergeSession(sessionGid, customerId) {
|
|
104
|
+
if (!this.config) {
|
|
105
|
+
return this.notConfiguredError();
|
|
106
|
+
}
|
|
107
|
+
const numericId = this.extractNumericId(customerId);
|
|
108
|
+
// Call /profiles/token with both customer AND session to merge them
|
|
109
|
+
const response = await this.request('POST', '/profiles/token', {
|
|
110
|
+
customer: `gid://shopify/Customer/${numericId}`,
|
|
111
|
+
session: sessionGid,
|
|
112
|
+
});
|
|
113
|
+
if (!response.success) {
|
|
114
|
+
return { success: false, error: response.error };
|
|
115
|
+
}
|
|
116
|
+
logger_1.logger.info('Merged Swish session into customer', {
|
|
117
|
+
brand: this.brand,
|
|
118
|
+
sessionGid,
|
|
119
|
+
customerId,
|
|
120
|
+
profileGid: response.data.data.profile,
|
|
121
|
+
});
|
|
122
|
+
return {
|
|
123
|
+
success: true,
|
|
124
|
+
data: {
|
|
125
|
+
token: response.data.data.token,
|
|
126
|
+
profileGid: response.data.data.profile,
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get wishlist items with pagination.
|
|
132
|
+
*/
|
|
133
|
+
async getItems(token, page = 1, limit = 50) {
|
|
134
|
+
if (!this.config) {
|
|
135
|
+
return this.notConfiguredError();
|
|
136
|
+
}
|
|
137
|
+
const params = new URLSearchParams();
|
|
138
|
+
params.set('page', page.toString());
|
|
139
|
+
params.set('limit', limit.toString());
|
|
140
|
+
const response = await this.requestWithToken('GET', `/items?${params.toString()}`, token);
|
|
141
|
+
if (!response.success) {
|
|
142
|
+
return { success: false, error: response.error };
|
|
143
|
+
}
|
|
144
|
+
const items = response.data.data || [];
|
|
145
|
+
return {
|
|
146
|
+
success: true,
|
|
147
|
+
data: {
|
|
148
|
+
items: items.map((item) => ({
|
|
149
|
+
id: item.id,
|
|
150
|
+
productId: item.productId.toString(),
|
|
151
|
+
variantId: item.variantId ? item.variantId.toString() : undefined,
|
|
152
|
+
listId: item.lists?.[0],
|
|
153
|
+
createdAt: item.createdAt,
|
|
154
|
+
})),
|
|
155
|
+
pageInfo: {
|
|
156
|
+
hasNextPage: items.length >= limit,
|
|
157
|
+
endCursor: items.length >= limit ? (page + 1).toString() : undefined,
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Add item to wishlist.
|
|
164
|
+
*/
|
|
165
|
+
async addItem(token, productId, variantId, listId) {
|
|
166
|
+
if (!this.config) {
|
|
167
|
+
return this.notConfiguredError();
|
|
168
|
+
}
|
|
169
|
+
const body = {
|
|
170
|
+
productId: parseInt(this.extractNumericId(productId), 10),
|
|
171
|
+
};
|
|
172
|
+
if (variantId) {
|
|
173
|
+
body.variantId = parseInt(this.extractNumericId(variantId), 10);
|
|
174
|
+
}
|
|
175
|
+
const response = await this.requestWithToken('POST', '/items', token, body);
|
|
176
|
+
if (!response.success) {
|
|
177
|
+
return { success: false, error: response.error };
|
|
178
|
+
}
|
|
179
|
+
const item = response.data.data;
|
|
180
|
+
// If listId provided, associate item with list
|
|
181
|
+
if (listId) {
|
|
182
|
+
await this.requestWithToken('PUT', `/items/${item.id}/lists`, token, {
|
|
183
|
+
listIds: [listId],
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
logger_1.logger.info('Added item to Swish wishlist', {
|
|
187
|
+
brand: this.brand,
|
|
188
|
+
productId,
|
|
189
|
+
variantId,
|
|
190
|
+
itemId: item.id,
|
|
191
|
+
});
|
|
192
|
+
return {
|
|
193
|
+
success: true,
|
|
194
|
+
data: {
|
|
195
|
+
item: {
|
|
196
|
+
id: item.id,
|
|
197
|
+
productId: item.productId.toString(),
|
|
198
|
+
variantId: item.variantId?.toString(),
|
|
199
|
+
listId,
|
|
200
|
+
createdAt: item.createdAt,
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Remove item from wishlist.
|
|
207
|
+
*/
|
|
208
|
+
async removeItem(token, itemId) {
|
|
209
|
+
if (!this.config) {
|
|
210
|
+
return this.notConfiguredError();
|
|
211
|
+
}
|
|
212
|
+
const response = await this.requestWithToken('DELETE', `/items/${itemId}`, token);
|
|
213
|
+
if (!response.success) {
|
|
214
|
+
return { success: false, error: response.error };
|
|
215
|
+
}
|
|
216
|
+
logger_1.logger.info('Removed item from Swish wishlist', { brand: this.brand, itemId });
|
|
217
|
+
return { success: true };
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Get all lists for a profile.
|
|
221
|
+
*/
|
|
222
|
+
async getLists(token) {
|
|
223
|
+
if (!this.config) {
|
|
224
|
+
return this.notConfiguredError();
|
|
225
|
+
}
|
|
226
|
+
const response = await this.requestWithToken('GET', '/lists', token);
|
|
227
|
+
if (!response.success) {
|
|
228
|
+
return { success: false, error: response.error };
|
|
229
|
+
}
|
|
230
|
+
const lists = response.data.data || [];
|
|
231
|
+
return {
|
|
232
|
+
success: true,
|
|
233
|
+
data: {
|
|
234
|
+
lists: lists.map((list) => ({
|
|
235
|
+
id: list.id,
|
|
236
|
+
name: list.name,
|
|
237
|
+
isDefault: list.isDefault ?? false,
|
|
238
|
+
itemCount: list.itemCount ?? 0,
|
|
239
|
+
createdAt: list.createdAt,
|
|
240
|
+
})),
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Create a new list.
|
|
246
|
+
*/
|
|
247
|
+
async createList(token, name) {
|
|
248
|
+
if (!this.config) {
|
|
249
|
+
return this.notConfiguredError();
|
|
250
|
+
}
|
|
251
|
+
const response = await this.requestWithToken('POST', '/lists', token, { name });
|
|
252
|
+
if (!response.success) {
|
|
253
|
+
return { success: false, error: response.error };
|
|
254
|
+
}
|
|
255
|
+
const list = response.data.data;
|
|
256
|
+
logger_1.logger.info('Created Swish list', { brand: this.brand, listId: list.id, name });
|
|
257
|
+
return {
|
|
258
|
+
success: true,
|
|
259
|
+
data: {
|
|
260
|
+
list: {
|
|
261
|
+
id: list.id,
|
|
262
|
+
name: list.name,
|
|
263
|
+
isDefault: list.isDefault ?? false,
|
|
264
|
+
itemCount: list.itemCount ?? 0,
|
|
265
|
+
createdAt: list.createdAt,
|
|
266
|
+
},
|
|
267
|
+
},
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Update a list.
|
|
272
|
+
*/
|
|
273
|
+
async updateList(token, listId, name) {
|
|
274
|
+
if (!this.config) {
|
|
275
|
+
return this.notConfiguredError();
|
|
276
|
+
}
|
|
277
|
+
const response = await this.requestWithToken('PATCH', `/lists/${listId}`, token, { name });
|
|
278
|
+
if (!response.success) {
|
|
279
|
+
return { success: false, error: response.error };
|
|
280
|
+
}
|
|
281
|
+
const list = response.data.data;
|
|
282
|
+
logger_1.logger.info('Updated Swish list', { brand: this.brand, listId, name });
|
|
283
|
+
return {
|
|
284
|
+
success: true,
|
|
285
|
+
data: {
|
|
286
|
+
list: {
|
|
287
|
+
id: list.id,
|
|
288
|
+
name: list.name,
|
|
289
|
+
isDefault: list.isDefault ?? false,
|
|
290
|
+
itemCount: list.itemCount ?? 0,
|
|
291
|
+
createdAt: list.createdAt,
|
|
292
|
+
},
|
|
293
|
+
},
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Delete a list.
|
|
298
|
+
*/
|
|
299
|
+
async deleteList(token, listId) {
|
|
300
|
+
if (!this.config) {
|
|
301
|
+
return this.notConfiguredError();
|
|
302
|
+
}
|
|
303
|
+
const response = await this.requestWithToken('DELETE', `/lists/${listId}`, token);
|
|
304
|
+
if (!response.success) {
|
|
305
|
+
return { success: false, error: response.error };
|
|
306
|
+
}
|
|
307
|
+
logger_1.logger.info('Deleted Swish list', { brand: this.brand, listId });
|
|
308
|
+
return { success: true };
|
|
309
|
+
}
|
|
310
|
+
// ===========================================================================
|
|
311
|
+
// Private Methods
|
|
312
|
+
// ===========================================================================
|
|
313
|
+
/**
|
|
314
|
+
* Make a request using admin token (for session/profile management)
|
|
315
|
+
*/
|
|
316
|
+
async request(method, path, body) {
|
|
317
|
+
if (!this.config) {
|
|
318
|
+
return this.notConfiguredError();
|
|
319
|
+
}
|
|
320
|
+
const url = `${this.config.baseUrl}${path}`;
|
|
321
|
+
const headers = {
|
|
322
|
+
Authorization: `Bearer ${this.config.adminToken}`,
|
|
323
|
+
};
|
|
324
|
+
if (body && Object.keys(body).length > 0) {
|
|
325
|
+
headers['Content-Type'] = 'application/json';
|
|
326
|
+
}
|
|
327
|
+
try {
|
|
328
|
+
const controller = new AbortController();
|
|
329
|
+
const timeoutId = setTimeout(() => controller.abort(), this.config.timeout ?? this.defaultTimeout);
|
|
330
|
+
const response = await fetch(url, {
|
|
331
|
+
method,
|
|
332
|
+
headers,
|
|
333
|
+
body: body && Object.keys(body).length > 0 ? JSON.stringify(body) : undefined,
|
|
334
|
+
signal: controller.signal,
|
|
335
|
+
});
|
|
336
|
+
clearTimeout(timeoutId);
|
|
337
|
+
if (!response.ok) {
|
|
338
|
+
const errorText = await response.text();
|
|
339
|
+
return {
|
|
340
|
+
success: false,
|
|
341
|
+
error: this.normalizeError(response.status, errorText),
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
if (response.status === 204) {
|
|
345
|
+
return { success: true, data: {} };
|
|
346
|
+
}
|
|
347
|
+
const data = await response.json();
|
|
348
|
+
return { success: true, data: data };
|
|
349
|
+
}
|
|
350
|
+
catch (error) {
|
|
351
|
+
logger_1.logger.error('Swish request failed', {
|
|
352
|
+
brand: this.brand,
|
|
353
|
+
method,
|
|
354
|
+
path,
|
|
355
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
356
|
+
});
|
|
357
|
+
return {
|
|
358
|
+
success: false,
|
|
359
|
+
error: {
|
|
360
|
+
code: 'REQUEST_FAILED',
|
|
361
|
+
message: error instanceof Error ? error.message : 'Request failed',
|
|
362
|
+
details: error,
|
|
363
|
+
},
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Make a request using session/customer token (for items/lists operations)
|
|
369
|
+
*/
|
|
370
|
+
async requestWithToken(method, path, token, body) {
|
|
371
|
+
if (!this.config) {
|
|
372
|
+
return this.notConfiguredError();
|
|
373
|
+
}
|
|
374
|
+
const url = `${this.config.baseUrl}${path}`;
|
|
375
|
+
const headers = {
|
|
376
|
+
Authorization: `Bearer ${token}`,
|
|
377
|
+
};
|
|
378
|
+
if (body) {
|
|
379
|
+
headers['Content-Type'] = 'application/json';
|
|
380
|
+
}
|
|
381
|
+
try {
|
|
382
|
+
const controller = new AbortController();
|
|
383
|
+
const timeoutId = setTimeout(() => controller.abort(), this.config.timeout ?? this.defaultTimeout);
|
|
384
|
+
const response = await fetch(url, {
|
|
385
|
+
method,
|
|
386
|
+
headers,
|
|
387
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
388
|
+
signal: controller.signal,
|
|
389
|
+
});
|
|
390
|
+
clearTimeout(timeoutId);
|
|
391
|
+
if (!response.ok) {
|
|
392
|
+
const errorText = await response.text();
|
|
393
|
+
return {
|
|
394
|
+
success: false,
|
|
395
|
+
error: this.normalizeError(response.status, errorText),
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
if (response.status === 204) {
|
|
399
|
+
return { success: true, data: {} };
|
|
400
|
+
}
|
|
401
|
+
const data = await response.json();
|
|
402
|
+
return { success: true, data: data };
|
|
403
|
+
}
|
|
404
|
+
catch (error) {
|
|
405
|
+
logger_1.logger.error('Swish token request failed', {
|
|
406
|
+
brand: this.brand,
|
|
407
|
+
method,
|
|
408
|
+
path,
|
|
409
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
410
|
+
});
|
|
411
|
+
return {
|
|
412
|
+
success: false,
|
|
413
|
+
error: {
|
|
414
|
+
code: 'REQUEST_FAILED',
|
|
415
|
+
message: error instanceof Error ? error.message : 'Request failed',
|
|
416
|
+
details: error,
|
|
417
|
+
},
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Return not configured error
|
|
423
|
+
*/
|
|
424
|
+
notConfiguredError() {
|
|
425
|
+
return {
|
|
426
|
+
success: false,
|
|
427
|
+
error: {
|
|
428
|
+
code: 'NOT_CONFIGURED',
|
|
429
|
+
message: 'Swish service is not configured',
|
|
430
|
+
},
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Extract numeric ID from Shopify GID or return as-is if already numeric.
|
|
435
|
+
*/
|
|
436
|
+
extractNumericId(id) {
|
|
437
|
+
if (id.startsWith('gid://')) {
|
|
438
|
+
const parts = id.split('/');
|
|
439
|
+
return parts[parts.length - 1];
|
|
440
|
+
}
|
|
441
|
+
return id;
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Normalize error responses
|
|
445
|
+
*/
|
|
446
|
+
normalizeError(status, body) {
|
|
447
|
+
let parsed;
|
|
448
|
+
try {
|
|
449
|
+
parsed = JSON.parse(body);
|
|
450
|
+
}
|
|
451
|
+
catch {
|
|
452
|
+
parsed = { message: body };
|
|
453
|
+
}
|
|
454
|
+
const errorMap = {
|
|
455
|
+
400: 'BAD_REQUEST',
|
|
456
|
+
401: 'UNAUTHORIZED',
|
|
457
|
+
403: 'FORBIDDEN',
|
|
458
|
+
404: 'NOT_FOUND',
|
|
459
|
+
429: 'RATE_LIMITED',
|
|
460
|
+
500: 'INTERNAL_ERROR',
|
|
461
|
+
};
|
|
462
|
+
const message = typeof parsed === 'object' && parsed !== null
|
|
463
|
+
? parsed.message ||
|
|
464
|
+
parsed.error ||
|
|
465
|
+
`HTTP ${status}`
|
|
466
|
+
: `HTTP ${status}`;
|
|
467
|
+
return {
|
|
468
|
+
code: errorMap[status] ?? 'UNKNOWN_ERROR',
|
|
469
|
+
message: String(message),
|
|
470
|
+
details: parsed,
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
};
|
|
474
|
+
exports.SwishService = SwishService;
|
|
475
|
+
exports.SwishService = SwishService = tslib_1.__decorate([
|
|
476
|
+
(0, common_1.Injectable)()
|
|
477
|
+
], SwishService);
|
|
478
|
+
//# sourceMappingURL=swish.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swish.service.js","sourceRoot":"","sources":["../../../src/integrations/swish/swish.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Swish Wishlist API Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for Swish Wishlist integration.
|
|
5
|
+
* @see https://developers.swish.app/swish-api/authentication
|
|
6
|
+
*/
|
|
7
|
+
import { IntegrationResponse } from '../integration.types';
|
|
8
|
+
/**
|
|
9
|
+
* Swish service configuration
|
|
10
|
+
*/
|
|
11
|
+
export interface SwishConfig {
|
|
12
|
+
/** Base URL for Swish API (e.g., https://swish.app/api/2025-04) */
|
|
13
|
+
baseUrl: string;
|
|
14
|
+
/** Admin API token for authentication */
|
|
15
|
+
adminToken: string;
|
|
16
|
+
/** Shop domain for Shopify integration */
|
|
17
|
+
shopDomain: string;
|
|
18
|
+
/** Request timeout in milliseconds (default: 10000) */
|
|
19
|
+
timeout?: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Swish session data
|
|
23
|
+
*/
|
|
24
|
+
export interface SwishSession {
|
|
25
|
+
gid: string;
|
|
26
|
+
token: string;
|
|
27
|
+
expiresAt: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create session response
|
|
31
|
+
*/
|
|
32
|
+
export interface SwishCreateSessionResponse {
|
|
33
|
+
session: SwishSession;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Customer profile response
|
|
37
|
+
*/
|
|
38
|
+
export interface SwishCustomerProfileResponse {
|
|
39
|
+
profile: {
|
|
40
|
+
gid: string;
|
|
41
|
+
customerId: string;
|
|
42
|
+
};
|
|
43
|
+
token: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Swish item from API
|
|
47
|
+
*/
|
|
48
|
+
export interface SwishItem {
|
|
49
|
+
id: string;
|
|
50
|
+
productId: string;
|
|
51
|
+
variantId?: string;
|
|
52
|
+
listId?: string;
|
|
53
|
+
createdAt: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Items response with pagination
|
|
57
|
+
*/
|
|
58
|
+
export interface SwishItemsResponse {
|
|
59
|
+
items: SwishItem[];
|
|
60
|
+
pageInfo: {
|
|
61
|
+
hasNextPage: boolean;
|
|
62
|
+
endCursor?: string;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Add item response
|
|
67
|
+
*/
|
|
68
|
+
export interface SwishAddItemResponse {
|
|
69
|
+
item: SwishItem;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Swish list
|
|
73
|
+
*/
|
|
74
|
+
export interface SwishList {
|
|
75
|
+
id: string;
|
|
76
|
+
name: string;
|
|
77
|
+
isDefault: boolean;
|
|
78
|
+
itemCount: number;
|
|
79
|
+
createdAt: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Lists response
|
|
83
|
+
*/
|
|
84
|
+
export interface SwishListsResponse {
|
|
85
|
+
lists: SwishList[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Single list response
|
|
89
|
+
*/
|
|
90
|
+
export interface SwishListResponse {
|
|
91
|
+
list: SwishList;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Merge session response
|
|
95
|
+
*/
|
|
96
|
+
export interface SwishMergeResponse {
|
|
97
|
+
token: string;
|
|
98
|
+
profileGid: string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Wishlist service interface
|
|
102
|
+
*/
|
|
103
|
+
export interface IWishlistService {
|
|
104
|
+
createSession(): Promise<IntegrationResponse<SwishCreateSessionResponse>>;
|
|
105
|
+
createCustomerProfile(customerId: string): Promise<IntegrationResponse<SwishCustomerProfileResponse>>;
|
|
106
|
+
mergeSession(sessionGid: string, customerId: string): Promise<IntegrationResponse<SwishMergeResponse>>;
|
|
107
|
+
getItems(token: string, page?: number, limit?: number): Promise<IntegrationResponse<SwishItemsResponse>>;
|
|
108
|
+
addItem(token: string, productId: string, variantId?: string, listId?: string): Promise<IntegrationResponse<SwishAddItemResponse>>;
|
|
109
|
+
removeItem(token: string, itemId: string): Promise<IntegrationResponse<void>>;
|
|
110
|
+
getLists(token: string): Promise<IntegrationResponse<SwishListsResponse>>;
|
|
111
|
+
createList(token: string, name: string): Promise<IntegrationResponse<SwishListResponse>>;
|
|
112
|
+
updateList(token: string, listId: string, name: string): Promise<IntegrationResponse<SwishListResponse>>;
|
|
113
|
+
deleteList(token: string, listId: string): Promise<IntegrationResponse<void>>;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=swish.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swish.types.d.ts","sourceRoot":"","sources":["../../../src/integrations/swish/swish.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Swish Wishlist API Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for Swish Wishlist integration.
|
|
6
|
+
* @see https://developers.swish.app/swish-api/authentication
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=swish.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swish.types.js","sourceRoot":"","sources":["../../../src/integrations/swish/swish.types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|