@sixtyninecommerce/client 0.13.0 → 0.14.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/admin/forms.d.ts +4 -0
- package/dist/admin/forms.d.ts.map +1 -0
- package/dist/admin/forms.js +102 -0
- package/dist/admin/forms.js.map +1 -0
- package/dist/admin/http.d.ts +12 -0
- package/dist/admin/http.d.ts.map +1 -0
- package/dist/admin/http.js +79 -0
- package/dist/admin/http.js.map +1 -0
- package/dist/admin/index.d.ts +4 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +21 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/types.d.ts +117 -0
- package/dist/admin/types.d.ts.map +1 -0
- package/dist/admin/types.js +2 -0
- package/dist/admin/types.js.map +1 -0
- package/dist/commerce/customer.d.ts +2 -2
- package/dist/commerce/customer.d.ts.map +1 -1
- package/dist/commerce/customer.js +9 -2
- package/dist/commerce/customer.js.map +1 -1
- package/dist/commerce/index.js +1 -1
- package/dist/commerce/index.js.map +1 -1
- package/dist/commerce/products.d.ts.map +1 -1
- package/dist/commerce/products.js +33 -20
- package/dist/commerce/products.js.map +1 -1
- package/dist/commerce/queries.d.ts +25 -25
- package/dist/commerce/queries.d.ts.map +1 -1
- package/dist/commerce/queries.js +25 -31
- package/dist/commerce/queries.js.map +1 -1
- package/dist/content/form-field-types.d.ts +3 -0
- package/dist/content/form-field-types.d.ts.map +1 -0
- package/dist/content/form-field-types.js +101 -0
- package/dist/content/form-field-types.js.map +1 -0
- package/dist/content/forms.d.ts +3 -1
- package/dist/content/forms.d.ts.map +1 -1
- package/dist/content/forms.js +18 -0
- package/dist/content/forms.js.map +1 -1
- package/dist/core/context.d.ts.map +1 -1
- package/dist/core/context.js +1 -0
- package/dist/core/context.js.map +1 -1
- package/dist/core/http.d.ts.map +1 -1
- package/dist/core/http.js +52 -13
- package/dist/core/http.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/media/urls.d.ts.map +1 -1
- package/dist/media/urls.js +6 -4
- package/dist/media/urls.js.map +1 -1
- package/dist/pricing/format.d.ts.map +1 -1
- package/dist/pricing/format.js +4 -2
- package/dist/pricing/format.js.map +1 -1
- package/dist/types.d.ts +86 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/admin/forms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAQV,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AAiEpB,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,GAAG,gBAAgB,CAkGzE"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
function fieldTranslationBody(t) {
|
|
2
|
+
const body = { language_code: t.languageCode, label: t.label };
|
|
3
|
+
if (t.placeholder !== undefined)
|
|
4
|
+
body.placeholder = t.placeholder;
|
|
5
|
+
if (t.helpText !== undefined)
|
|
6
|
+
body.help_text = t.helpText;
|
|
7
|
+
if (t.errorMessage !== undefined)
|
|
8
|
+
body.error_message = t.errorMessage;
|
|
9
|
+
return body;
|
|
10
|
+
}
|
|
11
|
+
function formTranslationBody(t) {
|
|
12
|
+
const body = { language_code: t.languageCode };
|
|
13
|
+
if (t.title !== undefined)
|
|
14
|
+
body.title = t.title;
|
|
15
|
+
if (t.description !== undefined)
|
|
16
|
+
body.description = t.description;
|
|
17
|
+
if (t.submitButtonText !== undefined)
|
|
18
|
+
body.submit_button_text = t.submitButtonText;
|
|
19
|
+
if (t.successMessage !== undefined)
|
|
20
|
+
body.success_message = t.successMessage;
|
|
21
|
+
return body;
|
|
22
|
+
}
|
|
23
|
+
function fieldBody(input) {
|
|
24
|
+
const body = {};
|
|
25
|
+
if (input.name !== undefined)
|
|
26
|
+
body.name = input.name;
|
|
27
|
+
if (input.slug !== undefined)
|
|
28
|
+
body.slug = input.slug;
|
|
29
|
+
if (input.fieldType !== undefined)
|
|
30
|
+
body.field_type = input.fieldType;
|
|
31
|
+
if (input.isRequired !== undefined)
|
|
32
|
+
body.is_required = input.isRequired;
|
|
33
|
+
if (input.position !== undefined)
|
|
34
|
+
body.position = input.position;
|
|
35
|
+
if (input.config !== undefined)
|
|
36
|
+
body.config = input.config;
|
|
37
|
+
if (input.validation !== undefined)
|
|
38
|
+
body.validation = input.validation;
|
|
39
|
+
if (input.translations !== undefined)
|
|
40
|
+
body.translations = input.translations.map(fieldTranslationBody);
|
|
41
|
+
return body;
|
|
42
|
+
}
|
|
43
|
+
function formBody(input) {
|
|
44
|
+
const body = {};
|
|
45
|
+
if (input.name !== undefined)
|
|
46
|
+
body.name = input.name;
|
|
47
|
+
if (input.slug !== undefined)
|
|
48
|
+
body.slug = input.slug;
|
|
49
|
+
if (input.notificationEmails !== undefined)
|
|
50
|
+
body.notification_emails = input.notificationEmails;
|
|
51
|
+
if (input.redirectUrlOnSuccess !== undefined)
|
|
52
|
+
body.redirect_url_on_success = input.redirectUrlOnSuccess;
|
|
53
|
+
if (input.submitAction !== undefined)
|
|
54
|
+
body.submit_action = input.submitAction;
|
|
55
|
+
if (input.settings !== undefined)
|
|
56
|
+
body.settings = input.settings;
|
|
57
|
+
if (input.translations !== undefined)
|
|
58
|
+
body.translations = input.translations.map(formTranslationBody);
|
|
59
|
+
if (input.fields !== undefined)
|
|
60
|
+
body.fields = input.fields.map((f) => fieldBody(f));
|
|
61
|
+
return body;
|
|
62
|
+
}
|
|
63
|
+
export function createFormsAdminMethods(http) {
|
|
64
|
+
return {
|
|
65
|
+
async create(input, options) {
|
|
66
|
+
const res = await http.request('POST', '/forms', formBody(input), options);
|
|
67
|
+
return res.data;
|
|
68
|
+
},
|
|
69
|
+
async update(id, input, options) {
|
|
70
|
+
const res = await http.request('PATCH', `/forms/${encodeURIComponent(id)}`, formBody(input), options);
|
|
71
|
+
return res.data;
|
|
72
|
+
},
|
|
73
|
+
async upsertBySlug(slug, input, options) {
|
|
74
|
+
const res = await http.request('PUT', `/forms/by-slug/${encodeURIComponent(slug)}`, formBody(input), options);
|
|
75
|
+
return res.data;
|
|
76
|
+
},
|
|
77
|
+
remove(id, options) {
|
|
78
|
+
return http.request('DELETE', `/forms/${encodeURIComponent(id)}`, undefined, options);
|
|
79
|
+
},
|
|
80
|
+
async addField(formId, input, options) {
|
|
81
|
+
const res = await http.request('POST', `/forms/${encodeURIComponent(formId)}/fields`, fieldBody(input), options);
|
|
82
|
+
return res.data;
|
|
83
|
+
},
|
|
84
|
+
async updateField(formId, fieldId, input, options) {
|
|
85
|
+
const res = await http.request('PATCH', `/forms/${encodeURIComponent(formId)}/fields/${encodeURIComponent(fieldId)}`, fieldBody(input), options);
|
|
86
|
+
return res.data;
|
|
87
|
+
},
|
|
88
|
+
removeField(formId, fieldId, options) {
|
|
89
|
+
return http.request('DELETE', `/forms/${encodeURIComponent(formId)}/fields/${encodeURIComponent(fieldId)}`, undefined, options);
|
|
90
|
+
},
|
|
91
|
+
listSubmissions(formId, options) {
|
|
92
|
+
const params = new URLSearchParams();
|
|
93
|
+
if (options?.limit !== undefined)
|
|
94
|
+
params.set('limit', String(options.limit));
|
|
95
|
+
if (options?.offset !== undefined)
|
|
96
|
+
params.set('offset', String(options.offset));
|
|
97
|
+
const qs = params.toString();
|
|
98
|
+
return http.request('GET', `/forms/${encodeURIComponent(formId)}/submissions${qs ? `?${qs}` : ''}`, undefined, options);
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=forms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/admin/forms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RequestOptions } from '../types.js';
|
|
2
|
+
export interface AdminHttpConfig {
|
|
3
|
+
cmsUrl: string;
|
|
4
|
+
channelId: string;
|
|
5
|
+
adminToken: string;
|
|
6
|
+
fetch: typeof globalThis.fetch;
|
|
7
|
+
}
|
|
8
|
+
export interface AdminHttp {
|
|
9
|
+
request<T>(method: string, path: string, body?: unknown, options?: RequestOptions): Promise<T>;
|
|
10
|
+
}
|
|
11
|
+
export declare function createAdminHttp(config: AdminHttpConfig): AdminHttp;
|
|
12
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/admin/http.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AASlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAChG;AAkCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CA6DlE"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { REQUEST_TIMEOUT_MS } from '../constants.js';
|
|
2
|
+
import { StorefrontError } from '../errors.js';
|
|
3
|
+
async function toCmsError(response) {
|
|
4
|
+
let body = {};
|
|
5
|
+
try {
|
|
6
|
+
const parsed = await response.json();
|
|
7
|
+
if (parsed && typeof parsed === 'object') {
|
|
8
|
+
body = parsed;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
}
|
|
13
|
+
const rawMessage = body.message;
|
|
14
|
+
const message = Array.isArray(rawMessage)
|
|
15
|
+
? rawMessage.join('; ')
|
|
16
|
+
: typeof rawMessage === 'string' && rawMessage.length > 0
|
|
17
|
+
? rawMessage
|
|
18
|
+
: `CMS returned ${String(response.status)}: ${response.statusText}`;
|
|
19
|
+
const details = Array.isArray(body.details) ? body.details : undefined;
|
|
20
|
+
const retryAfterSeconds = typeof body.retry_after_seconds === 'number' ? body.retry_after_seconds : undefined;
|
|
21
|
+
return new StorefrontError(message, 'cms', response.status, undefined, details, retryAfterSeconds);
|
|
22
|
+
}
|
|
23
|
+
export function createAdminHttp(config) {
|
|
24
|
+
const base = config.cmsUrl.replace(/\/+$/, '');
|
|
25
|
+
async function request(method, path, body, options) {
|
|
26
|
+
const controller = new AbortController();
|
|
27
|
+
const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS);
|
|
28
|
+
const external = options?.signal;
|
|
29
|
+
let externalListener = null;
|
|
30
|
+
if (external) {
|
|
31
|
+
if (external.aborted) {
|
|
32
|
+
controller.abort();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
externalListener = () => controller.abort();
|
|
36
|
+
external.addEventListener('abort', externalListener);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const headers = {
|
|
40
|
+
'x-channel-id': config.channelId,
|
|
41
|
+
Authorization: `Bearer ${config.adminToken}`,
|
|
42
|
+
};
|
|
43
|
+
const init = { method, headers, signal: controller.signal };
|
|
44
|
+
if (body !== undefined) {
|
|
45
|
+
headers['Content-Type'] = 'application/json';
|
|
46
|
+
init.body = JSON.stringify(body);
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
const response = await config.fetch(`${base}${path}`, init);
|
|
50
|
+
if (!response.ok) {
|
|
51
|
+
throw await toCmsError(response);
|
|
52
|
+
}
|
|
53
|
+
if (response.status === 204) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const text = await response.text();
|
|
57
|
+
return (text ? JSON.parse(text) : undefined);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error instanceof StorefrontError)
|
|
61
|
+
throw error;
|
|
62
|
+
if (error.name === 'AbortError') {
|
|
63
|
+
if (external?.aborted) {
|
|
64
|
+
throw new StorefrontError('Request aborted by caller', 'cms');
|
|
65
|
+
}
|
|
66
|
+
throw new StorefrontError('Request timed out (15s)', 'cms');
|
|
67
|
+
}
|
|
68
|
+
throw new StorefrontError(`CMS admin request failed: ${error.message}`, 'cms');
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
clearTimeout(timeout);
|
|
72
|
+
if (externalListener && external) {
|
|
73
|
+
external.removeEventListener('abort', externalListener);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return { request };
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/admin/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CommerceAdminClient, CommerceAdminClientConfig } from './types.js';
|
|
2
|
+
export declare function createCommerceAdminClient(config: CommerceAdminClientConfig): CommerceAdminClient;
|
|
3
|
+
export type { AdminFormFieldRecord, AdminFormRecord, CommerceAdminClient, CommerceAdminClientConfig, FormCreateInput, FormFieldInput, FormFieldTranslationInput, FormSubmissionListOptions, FormSubmissionListResult, FormSubmissionRecord, FormsAdminModule, FormTranslationInput, FormUpdateInput, FormUpsertInput, } from './types.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEjF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,yBAAyB,GAAG,mBAAmB,CAqBhG;AAED,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createFormsAdminMethods } from './forms.js';
|
|
2
|
+
import { createAdminHttp } from './http.js';
|
|
3
|
+
export function createCommerceAdminClient(config) {
|
|
4
|
+
if (!config.adminToken) {
|
|
5
|
+
throw new Error('createCommerceAdminClient requires an adminToken (a Vendure admin session token holding the CmsForm permissions).');
|
|
6
|
+
}
|
|
7
|
+
if (!config.channelId) {
|
|
8
|
+
throw new Error('createCommerceAdminClient requires a channelId (the target tenant channel).');
|
|
9
|
+
}
|
|
10
|
+
if (!config.cmsUrl) {
|
|
11
|
+
throw new Error('createCommerceAdminClient requires a cmsUrl.');
|
|
12
|
+
}
|
|
13
|
+
const http = createAdminHttp({
|
|
14
|
+
cmsUrl: config.cmsUrl,
|
|
15
|
+
channelId: config.channelId,
|
|
16
|
+
adminToken: config.adminToken,
|
|
17
|
+
fetch: config.fetch ?? globalThis.fetch,
|
|
18
|
+
});
|
|
19
|
+
return { forms: createFormsAdminMethods(http) };
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,UAAU,yBAAyB,CAAC,MAAiC;IACzE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK;KACxC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import type { RequestOptions } from '../types.js';
|
|
2
|
+
export interface CommerceAdminClientConfig {
|
|
3
|
+
cmsUrl: string;
|
|
4
|
+
channelId: string;
|
|
5
|
+
adminToken: string;
|
|
6
|
+
fetch?: typeof globalThis.fetch;
|
|
7
|
+
}
|
|
8
|
+
export interface FormTranslationInput {
|
|
9
|
+
languageCode: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
submitButtonText?: string;
|
|
13
|
+
successMessage?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface FormFieldTranslationInput {
|
|
16
|
+
languageCode: string;
|
|
17
|
+
label: string;
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
helpText?: string;
|
|
20
|
+
errorMessage?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface FormFieldInput {
|
|
23
|
+
name: string;
|
|
24
|
+
slug: string;
|
|
25
|
+
fieldType: string;
|
|
26
|
+
isRequired?: boolean;
|
|
27
|
+
position?: number;
|
|
28
|
+
config?: Record<string, unknown>;
|
|
29
|
+
validation?: Record<string, unknown>;
|
|
30
|
+
translations?: FormFieldTranslationInput[];
|
|
31
|
+
}
|
|
32
|
+
export interface FormCreateInput {
|
|
33
|
+
name: string;
|
|
34
|
+
slug: string;
|
|
35
|
+
notificationEmails?: string;
|
|
36
|
+
redirectUrlOnSuccess?: string;
|
|
37
|
+
submitAction?: string;
|
|
38
|
+
settings?: Record<string, unknown>;
|
|
39
|
+
translations?: FormTranslationInput[];
|
|
40
|
+
}
|
|
41
|
+
export interface FormUpdateInput {
|
|
42
|
+
name?: string;
|
|
43
|
+
slug?: string;
|
|
44
|
+
notificationEmails?: string;
|
|
45
|
+
redirectUrlOnSuccess?: string;
|
|
46
|
+
submitAction?: string;
|
|
47
|
+
settings?: Record<string, unknown>;
|
|
48
|
+
translations?: FormTranslationInput[];
|
|
49
|
+
}
|
|
50
|
+
export interface FormUpsertInput {
|
|
51
|
+
name: string;
|
|
52
|
+
notificationEmails?: string;
|
|
53
|
+
redirectUrlOnSuccess?: string;
|
|
54
|
+
submitAction?: string;
|
|
55
|
+
settings?: Record<string, unknown>;
|
|
56
|
+
translations?: FormTranslationInput[];
|
|
57
|
+
fields?: FormFieldInput[];
|
|
58
|
+
}
|
|
59
|
+
export interface AdminFormFieldRecord {
|
|
60
|
+
id: string;
|
|
61
|
+
formId: string;
|
|
62
|
+
name: string;
|
|
63
|
+
slug: string;
|
|
64
|
+
fieldType: string;
|
|
65
|
+
isRequired: boolean;
|
|
66
|
+
position: number;
|
|
67
|
+
config: Record<string, unknown> | null;
|
|
68
|
+
validation: Record<string, unknown> | null;
|
|
69
|
+
[key: string]: unknown;
|
|
70
|
+
}
|
|
71
|
+
export interface AdminFormRecord {
|
|
72
|
+
id: string;
|
|
73
|
+
channelId: string;
|
|
74
|
+
name: string;
|
|
75
|
+
slug: string;
|
|
76
|
+
submitAction: string;
|
|
77
|
+
redirectUrlOnSuccess: string | null;
|
|
78
|
+
notificationEmails: string | null;
|
|
79
|
+
settings: Record<string, unknown> | null;
|
|
80
|
+
fields?: AdminFormFieldRecord[];
|
|
81
|
+
[key: string]: unknown;
|
|
82
|
+
}
|
|
83
|
+
export interface FormSubmissionRecord {
|
|
84
|
+
id: string;
|
|
85
|
+
formId: string;
|
|
86
|
+
channelId: string;
|
|
87
|
+
data: Record<string, unknown>;
|
|
88
|
+
localeCode: string | null;
|
|
89
|
+
ipAddress: string | null;
|
|
90
|
+
userAgent: string | null;
|
|
91
|
+
createdAt: string;
|
|
92
|
+
[key: string]: unknown;
|
|
93
|
+
}
|
|
94
|
+
export interface FormSubmissionListOptions {
|
|
95
|
+
limit?: number;
|
|
96
|
+
offset?: number;
|
|
97
|
+
}
|
|
98
|
+
export interface FormSubmissionListResult {
|
|
99
|
+
data: FormSubmissionRecord[];
|
|
100
|
+
pagination: {
|
|
101
|
+
total: number;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
export interface FormsAdminModule {
|
|
105
|
+
create(input: FormCreateInput, options?: RequestOptions): Promise<AdminFormRecord>;
|
|
106
|
+
update(id: string, input: FormUpdateInput, options?: RequestOptions): Promise<AdminFormRecord>;
|
|
107
|
+
upsertBySlug(slug: string, input: FormUpsertInput, options?: RequestOptions): Promise<AdminFormRecord>;
|
|
108
|
+
remove(id: string, options?: RequestOptions): Promise<void>;
|
|
109
|
+
addField(formId: string, input: FormFieldInput, options?: RequestOptions): Promise<AdminFormFieldRecord>;
|
|
110
|
+
updateField(formId: string, fieldId: string, input: Partial<FormFieldInput>, options?: RequestOptions): Promise<AdminFormFieldRecord>;
|
|
111
|
+
removeField(formId: string, fieldId: string, options?: RequestOptions): Promise<void>;
|
|
112
|
+
listSubmissions(formId: string, options?: FormSubmissionListOptions & RequestOptions): Promise<FormSubmissionListResult>;
|
|
113
|
+
}
|
|
114
|
+
export interface CommerceAdminClient {
|
|
115
|
+
forms: FormsAdminModule;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/admin/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/admin/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { HttpClient, RequestOptions } from '../core/http.js';
|
|
2
|
-
import type { ActiveChannel, AddressInput, Country, Customer, CustomerAddress, CustomerInvoice, CustomerInvoicePdf, CustomerPriceList, LoginResult, Order, OrderListOptions, OrderSummary, PaginatedList, RegisterInput, ReorderSkipped, UpdateAddressInput, UpdateCustomerInput } from '../types.js';
|
|
3
|
-
export declare function createCustomerMethods(http: HttpClient): {
|
|
2
|
+
import type { ActiveChannel, AddressInput, Country, Customer, CustomerAddress, CustomerInvoice, CustomerInvoicePdf, CustomerPriceList, LoginResult, Order, OrderListOptions, OrderSummary, PaginatedList, RegisterInput, ReorderSkipped, StoreContext, UpdateAddressInput, UpdateCustomerInput } from '../types.js';
|
|
3
|
+
export declare function createCustomerMethods(http: HttpClient, ctx?: StoreContext): {
|
|
4
4
|
login(email: string, password: string): Promise<LoginResult>;
|
|
5
5
|
register(input: RegisterInput): Promise<{
|
|
6
6
|
success: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customer.d.ts","sourceRoot":"","sources":["../../src/commerce/customer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAyCrB,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"customer.d.ts","sourceRoot":"","sources":["../../src/commerce/customer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAyCrB,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,YAAY;iBAkBnD,MAAM,YAAY,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;oBA6B5C,aAAa,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;cAYnD,OAAO,CAAC,IAAI,CAAC;yBASpB,MAAM,aACF,MAAM,GAChB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;sCAQN,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;mCAczB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;8BAc3B,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;qCAUpE,MAAM,QACd,MAAM,GACX,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;oCAUR,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;uCAQxC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;yBAWtD,MAAM,YACH,MAAM,GACf,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;iCAUX,MAAM,mBAAmB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;uBAQzD,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;0BAOnB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;0CAYR,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;0BAS7D,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;gCAKjC,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;yBAiB9D,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;yBAOvC,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;sBAOhD,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;6BAMf,OAAO,CAAC,OAAO,EAAE,CAAC;yBAKtB,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;kCAYd,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;+BAatC,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;uBAexD,MAAM,GAChB,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;wBAqCjD,OAAO,CAAC,aAAa,CAAC;EAKnD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MutationError } from '../errors.js';
|
|
1
|
+
import { MutationError, StorefrontError } from '../errors.js';
|
|
2
2
|
import { ACTIVE_CUSTOMER_PRICE_LISTS, ADD_TO_CART, AVAILABLE_COUNTRIES, CREATE_ADDRESS, DELETE_ADDRESS, GET_ACTIVE_CHANNEL, GET_CURRENT_CUSTOMER, GET_CUSTOMER_ORDERS, LOGIN, LOGIN_WITH_MAGIC_CODE, LOGIN_WITH_MAGIC_LINK, LOGOUT, MY_INVOICE_PDF, MY_ORDER_INVOICES, ORDER_BY_CODE, REFRESH_VERIFICATION, REGISTER, REQUEST_EMAIL_UPDATE, REQUEST_MAGIC_LINK, REQUEST_PASSWORD_RESET, RESET_PASSWORD, UPDATE_ADDRESS, UPDATE_CUSTOMER, UPDATE_EMAIL, UPDATE_PASSWORD, VERIFY_ACCOUNT, } from './queries.js';
|
|
3
3
|
function unwrapResult(data, field) {
|
|
4
4
|
const result = data[field];
|
|
@@ -10,7 +10,7 @@ function unwrapResult(data, field) {
|
|
|
10
10
|
}
|
|
11
11
|
return result;
|
|
12
12
|
}
|
|
13
|
-
export function createCustomerMethods(http) {
|
|
13
|
+
export function createCustomerMethods(http, ctx) {
|
|
14
14
|
return {
|
|
15
15
|
async login(email, password) {
|
|
16
16
|
const data = await http.graphql(LOGIN, { email, password });
|
|
@@ -41,6 +41,10 @@ export function createCustomerMethods(http) {
|
|
|
41
41
|
},
|
|
42
42
|
async logout() {
|
|
43
43
|
await http.graphql(LOGOUT);
|
|
44
|
+
if (ctx) {
|
|
45
|
+
ctx.authToken = null;
|
|
46
|
+
ctx.onAuthCleared?.();
|
|
47
|
+
}
|
|
44
48
|
},
|
|
45
49
|
async verifyAccount(token, password) {
|
|
46
50
|
const data = await http.graphql(VERIFY_ACCOUNT, {
|
|
@@ -154,6 +158,9 @@ export function createCustomerMethods(http) {
|
|
|
154
158
|
},
|
|
155
159
|
async getOrderByCode(code) {
|
|
156
160
|
const data = await http.graphql(ORDER_BY_CODE, { code });
|
|
161
|
+
if (!data.orderByCode) {
|
|
162
|
+
throw new StorefrontError(`Order not found: ${code}`, 'vendure', 404, 'NOT_FOUND');
|
|
163
|
+
}
|
|
157
164
|
return data.orderByCode;
|
|
158
165
|
},
|
|
159
166
|
async getMyOrderInvoices(orderCode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customer.js","sourceRoot":"","sources":["../../src/commerce/customer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"customer.js","sourceRoot":"","sources":["../../src/commerce/customer.ts"],"names":[],"mappings":"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"}
|
package/dist/commerce/index.js
CHANGED
|
@@ -22,7 +22,7 @@ export function createCommerceModule(http, ctx) {
|
|
|
22
22
|
const cart = createCartMethods(http);
|
|
23
23
|
const checkout = createCheckoutMethods(http);
|
|
24
24
|
const payments = createPaymentMethods(http);
|
|
25
|
-
const customer = createCustomerMethods(http);
|
|
25
|
+
const customer = createCustomerMethods(http, ctx);
|
|
26
26
|
const favorites = createFavoritesMethods(http);
|
|
27
27
|
const savedLists = createSavedListsMethods(http);
|
|
28
28
|
const recommendations = createRecommendationsMethods(http);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commerce/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEjE,MAAM,UAAU,oBAAoB,CAAC,IAAgB,EAAE,GAAiB;IACtE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commerce/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/commerce/products.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/commerce/products.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,EACL,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,cAAc,EAEf,MAAM,aAAa,CAAC;AA2GrB,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,EAAE,GAAG,qBAAqB,CAUhG;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU;qBAE1B,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;uBAQjD,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;8BA6B5D,kBAAkB,YACtB,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;wBAgDf,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;iCAU3C,qBAAqB,YACzB,cAAc,GACvB,OAAO,CAAC,UAAU,EAAE,CAAC;wBAWE,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;gCAYpD,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;oCAU9D,MAAM,YACP,cAAc,GACvB,OAAO,CAAC,0BAA0B,EAAE,CAAC;;EAS3C"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { StorefrontError } from '../errors.js';
|
|
1
2
|
import { parseProductMetadata } from '../seo/metadata-parser.js';
|
|
2
3
|
import { GET_COLLECTION, GET_PRODUCT, GET_PRODUCT_BY_ID, LIST_COLLECTIONS, LIST_FACETS, LIST_PRODUCTS, PRODUCT_PROPERTIES, PROPERTY_GROUPS, SEARCH_PRODUCTS, } from './queries.js';
|
|
3
4
|
function hydrateProductMetadata(product) {
|
|
@@ -5,8 +6,9 @@ function hydrateProductMetadata(product) {
|
|
|
5
6
|
return { ...product, metadata: parseProductMetadata(raw ?? null) };
|
|
6
7
|
}
|
|
7
8
|
function searchItemToProductSummary(item) {
|
|
8
|
-
const
|
|
9
|
-
const
|
|
9
|
+
const identity = { id: item.productId, slug: item.slug };
|
|
10
|
+
const priceWithTax = requireSearchPrice(item.priceWithTax, 'priceWithTax', identity);
|
|
11
|
+
const price = requireSearchPrice(item.price, 'price', identity);
|
|
10
12
|
const previewUrl = item.productAsset?.preview;
|
|
11
13
|
return {
|
|
12
14
|
id: item.productId,
|
|
@@ -39,14 +41,14 @@ function searchItemToProductSummary(item) {
|
|
|
39
41
|
],
|
|
40
42
|
};
|
|
41
43
|
}
|
|
42
|
-
function
|
|
43
|
-
if (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
function requireSearchPrice(value, field, product) {
|
|
45
|
+
if (value) {
|
|
46
|
+
if (typeof value.value === 'number')
|
|
47
|
+
return value.value;
|
|
48
|
+
if (typeof value.min === 'number')
|
|
49
|
+
return value.min;
|
|
50
|
+
}
|
|
51
|
+
throw new StorefrontError(`Search result for product "${product.slug}" (${product.id}) has no numeric ${field}`, 'vendure', undefined, 'MALFORMED_SEARCH_PRICE');
|
|
50
52
|
}
|
|
51
53
|
export function mapProductProperties(groups) {
|
|
52
54
|
const record = {};
|
|
@@ -64,10 +66,16 @@ export function createProductMethods(http) {
|
|
|
64
66
|
return {
|
|
65
67
|
async getProduct(slug, options) {
|
|
66
68
|
const data = await http.graphql(GET_PRODUCT, { slug }, options);
|
|
69
|
+
if (!data.product) {
|
|
70
|
+
throw new StorefrontError(`Product not found: ${slug}`, 'vendure', 404, 'NOT_FOUND');
|
|
71
|
+
}
|
|
67
72
|
return hydrateProductMetadata(data.product);
|
|
68
73
|
},
|
|
69
74
|
async getProductById(id, options) {
|
|
70
75
|
const data = await http.graphql(GET_PRODUCT_BY_ID, { id }, options);
|
|
76
|
+
if (!data.product) {
|
|
77
|
+
throw new StorefrontError(`Product not found: ${id}`, 'vendure', 404, 'NOT_FOUND');
|
|
78
|
+
}
|
|
71
79
|
return hydrateProductMetadata(data.product);
|
|
72
80
|
},
|
|
73
81
|
async getProducts(listOptions, options) {
|
|
@@ -86,17 +94,19 @@ export function createProductMethods(http) {
|
|
|
86
94
|
totalItems: data.search.totalItems,
|
|
87
95
|
};
|
|
88
96
|
}
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
97
|
+
const queryOptions = {
|
|
98
|
+
take: listOptions?.take ?? 20,
|
|
99
|
+
skip: listOptions?.skip ?? 0,
|
|
100
|
+
};
|
|
101
|
+
if (listOptions?.sort)
|
|
102
|
+
queryOptions.sort = listOptions.sort;
|
|
103
|
+
if (listOptions?.filter) {
|
|
104
|
+
queryOptions.filter = listOptions.filter;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
queryOptions.filter = { enabled: { eq: listOptions?.enabled ?? true } };
|
|
98
108
|
}
|
|
99
|
-
const data = await http.graphql(LIST_PRODUCTS,
|
|
109
|
+
const data = await http.graphql(LIST_PRODUCTS, { options: queryOptions }, options);
|
|
100
110
|
return data.products;
|
|
101
111
|
},
|
|
102
112
|
async getFacets(options) {
|
|
@@ -111,6 +121,9 @@ export function createProductMethods(http) {
|
|
|
111
121
|
},
|
|
112
122
|
async getCollection(slug, options) {
|
|
113
123
|
const data = await http.graphql(GET_COLLECTION, { slug }, options);
|
|
124
|
+
if (!data.collection) {
|
|
125
|
+
throw new StorefrontError(`Collection not found: ${slug}`, 'vendure', 404, 'NOT_FOUND');
|
|
126
|
+
}
|
|
114
127
|
return data.collection;
|
|
115
128
|
},
|
|
116
129
|
async getPropertyGroups(options) {
|