@cogenta/commerce 0.2.0 → 0.4.3
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/permissions.d.ts +8 -0
- package/dist/admin/permissions.d.ts.map +1 -1
- package/dist/admin/permissions.js +1 -0
- package/dist/admin/permissions.js.map +1 -1
- package/dist/admin/router.d.ts +47 -5
- package/dist/admin/router.d.ts.map +1 -1
- package/dist/admin/router.js +942 -24
- package/dist/admin/router.js.map +1 -1
- package/dist/cart/store.d.ts +23 -0
- package/dist/cart/store.d.ts.map +1 -1
- package/dist/cart/store.js +49 -2
- package/dist/cart/store.js.map +1 -1
- package/dist/catalog/csv.d.ts +29 -0
- package/dist/catalog/csv.d.ts.map +1 -0
- package/dist/catalog/csv.js +396 -0
- package/dist/catalog/csv.js.map +1 -0
- package/dist/catalog/store.d.ts +24 -4
- package/dist/catalog/store.d.ts.map +1 -1
- package/dist/catalog/store.js +238 -11
- package/dist/catalog/store.js.map +1 -1
- package/dist/catalog/types.d.ts +92 -0
- package/dist/catalog/types.d.ts.map +1 -1
- package/dist/catalog/types.js +20 -0
- package/dist/catalog/types.js.map +1 -1
- package/dist/coupon/store.d.ts +63 -5
- package/dist/coupon/store.d.ts.map +1 -1
- package/dist/coupon/store.js +140 -7
- package/dist/coupon/store.js.map +1 -1
- package/dist/customer/store.d.ts +17 -0
- package/dist/customer/store.d.ts.map +1 -1
- package/dist/customer/store.js +26 -0
- package/dist/customer/store.js.map +1 -1
- package/dist/index.d.ts +18 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -3
- package/dist/index.js.map +1 -1
- package/dist/invoice/credit-note.d.ts +45 -0
- package/dist/invoice/credit-note.d.ts.map +1 -0
- package/dist/invoice/credit-note.js +109 -0
- package/dist/invoice/credit-note.js.map +1 -0
- package/dist/invoice/sequence.d.ts +21 -0
- package/dist/invoice/sequence.d.ts.map +1 -0
- package/dist/invoice/sequence.js +64 -0
- package/dist/invoice/sequence.js.map +1 -0
- package/dist/invoice/store.d.ts +23 -1
- package/dist/invoice/store.d.ts.map +1 -1
- package/dist/invoice/store.js +23 -56
- package/dist/invoice/store.js.map +1 -1
- package/dist/order/csv.d.ts +24 -0
- package/dist/order/csv.d.ts.map +1 -0
- package/dist/order/csv.js +42 -0
- package/dist/order/csv.js.map +1 -0
- package/dist/order/notify.d.ts +65 -0
- package/dist/order/notify.d.ts.map +1 -0
- package/dist/order/notify.js +180 -0
- package/dist/order/notify.js.map +1 -0
- package/dist/order/store.d.ts +58 -1
- package/dist/order/store.d.ts.map +1 -1
- package/dist/order/store.js +145 -10
- package/dist/order/store.js.map +1 -1
- package/dist/order/types.d.ts +35 -1
- package/dist/order/types.d.ts.map +1 -1
- package/dist/order/types.js +2 -0
- package/dist/order/types.js.map +1 -1
- package/dist/payment/paypal.d.ts +9 -0
- package/dist/payment/paypal.d.ts.map +1 -0
- package/dist/payment/paypal.js +583 -0
- package/dist/payment/paypal.js.map +1 -0
- package/dist/payment/registry.d.ts +15 -6
- package/dist/payment/registry.d.ts.map +1 -1
- package/dist/payment/registry.js +17 -6
- package/dist/payment/registry.js.map +1 -1
- package/dist/payment/types.d.ts +6 -0
- package/dist/payment/types.d.ts.map +1 -1
- package/dist/shipping/store.d.ts +29 -3
- package/dist/shipping/store.d.ts.map +1 -1
- package/dist/shipping/store.js +68 -4
- package/dist/shipping/store.js.map +1 -1
- package/dist/subscription/renewal-notifier.d.ts +17 -0
- package/dist/subscription/renewal-notifier.d.ts.map +1 -0
- package/dist/subscription/renewal-notifier.js +33 -0
- package/dist/subscription/renewal-notifier.js.map +1 -0
- package/dist/subscription/store.d.ts +126 -3
- package/dist/subscription/store.d.ts.map +1 -1
- package/dist/subscription/store.js +348 -8
- package/dist/subscription/store.js.map +1 -1
- package/dist/tables.d.ts +17 -0
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +273 -0
- package/dist/tables.js.map +1 -1
- package/dist/tax/store.d.ts +20 -0
- package/dist/tax/store.d.ts.map +1 -1
- package/dist/tax/store.js +51 -7
- package/dist/tax/store.js.map +1 -1
- package/package.json +3 -2
|
@@ -44,6 +44,14 @@ export interface CommercePermissionLayer {
|
|
|
44
44
|
can(permission: CommercePermission, actor: CommerceActor): boolean;
|
|
45
45
|
/** Throws `FORBIDDEN`, or `UNAUTHENTICATED` when nobody is signed in. */
|
|
46
46
|
assert(permission: CommercePermission, actor: CommerceActor): void;
|
|
47
|
+
/**
|
|
48
|
+
* Which roles this layer actually grants which permission — `DEFAULT_COMMERCE_ROLES`
|
|
49
|
+
* unless `CommercePermissionOptions.roles` overrode it. Read-only, and
|
|
50
|
+
* exposed so a permissions screen (fiche 19) can render the truth this
|
|
51
|
+
* layer enforces instead of re-embedding `DEFAULT_COMMERCE_ROLES` by hand,
|
|
52
|
+
* which would silently go stale the day a site actually overrides `roles`.
|
|
53
|
+
*/
|
|
54
|
+
readonly roles: Readonly<Record<string, readonly CommercePermission[]>>;
|
|
47
55
|
}
|
|
48
56
|
export interface CommercePermissionOptions {
|
|
49
57
|
/** Overrides the defaults entirely, per role. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/admin/permissions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB;AAC/B,kEAAkE;AAClE,eAAe;AACf,iFAAiF;AACjF,wBAAwB;AACxB,+DAA+D;AAC/D,sBAAsB;AACtB,oEAAoE;AACpE,yBAAyB;AACzB,oDAAoD;AACpD,uBAAuB;AACvB,8EAA8E;AAC9E,wBAAwB,CAChB,CAAA;AACV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAW1F,CAAA;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,eAAO,MAAM,kBAAkB,EAAE,aAG/B,CAAA;AAEF,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAA;IAClE,yEAAyE;IACzE,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/admin/permissions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB;AAC/B,kEAAkE;AAClE,eAAe;AACf,iFAAiF;AACjF,wBAAwB;AACxB,+DAA+D;AAC/D,sBAAsB;AACtB,oEAAoE;AACpE,yBAAyB;AACzB,oDAAoD;AACpD,uBAAuB;AACvB,8EAA8E;AAC9E,wBAAwB,CAChB,CAAA;AACV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAW1F,CAAA;AAED,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,eAAO,MAAM,kBAAkB,EAAE,aAG/B,CAAA;AAEF,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAA;IAClE,yEAAyE;IACzE,MAAM,CAAC,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAA;IAClE;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAAC,CAAA;CACxE;AAED,MAAM,WAAW,yBAAyB;IACxC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC,CAAC,CAAA;CACzE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,yBAA8B,GACtC,uBAAuB,CAgCzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/admin/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,kEAAkE;IAClE,eAAe;IACf,iFAAiF;IACjF,wBAAwB;IACxB,+DAA+D;IAC/D,sBAAsB;IACtB,oEAAoE;IACpE,yBAAyB;IACzB,oDAAoD;IACpD,uBAAuB;IACvB,8EAA8E;IAC9E,wBAAwB;CAChB,CAAA;AAGV;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA4D;IAC7F,KAAK,EAAE,oBAAoB;IAC3B,MAAM,EAAE,CAAC,eAAe,EAAE,wBAAwB,CAAC;IACnD,UAAU,EAAE;QACV,eAAe;QACf,wBAAwB;QACxB,sBAAsB;QACtB,yBAAyB;QACzB,wBAAwB;KACzB;IACD,MAAM,EAAE,CAAC,eAAe,CAAC;CAC1B,CAAA;AAQD,MAAM,CAAC,MAAM,kBAAkB,GAAkB,MAAM,CAAC,MAAM,CAAC;IAC7D,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;CACzB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/admin/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,kEAAkE;IAClE,eAAe;IACf,iFAAiF;IACjF,wBAAwB;IACxB,+DAA+D;IAC/D,sBAAsB;IACtB,oEAAoE;IACpE,yBAAyB;IACzB,oDAAoD;IACpD,uBAAuB;IACvB,8EAA8E;IAC9E,wBAAwB;CAChB,CAAA;AAGV;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA4D;IAC7F,KAAK,EAAE,oBAAoB;IAC3B,MAAM,EAAE,CAAC,eAAe,EAAE,wBAAwB,CAAC;IACnD,UAAU,EAAE;QACV,eAAe;QACf,wBAAwB;QACxB,sBAAsB;QACtB,yBAAyB;QACzB,wBAAwB;KACzB;IACD,MAAM,EAAE,CAAC,eAAe,CAAC;CAC1B,CAAA;AAQD,MAAM,CAAC,MAAM,kBAAkB,GAAkB,MAAM,CAAC,MAAM,CAAC;IAC7D,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;CACzB,CAAC,CAAA;AAqBF;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAO,GAA8B,EAAE;IAEvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,sBAAsB,CAAA;IAErD,SAAS,GAAG,CAAC,UAA8B,EAAE,KAAoB;QAC/D,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,OAAO;QACL,GAAG;QACH,KAAK;QACL,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC;gBAAE,OAAM;YAElC,sEAAsE;YACtE,uEAAuE;YACvE,mDAAmD;YACnD,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,YAAY,CAAC;oBACrB,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,kDAAkD;oBAC3D,IAAI,EAAE,wBAAwB;oBAC9B,OAAO,EAAE,EAAE,UAAU,EAAE;iBACxB,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,IAAI,YAAY,CAAC;gBACrB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,yCAAyC;gBAClD,IAAI,EAAE,gBAAgB,UAAU,6CAA6C;gBAC7E,OAAO,EAAE,EAAE,UAAU,EAAE;aACxB,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/admin/router.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { type DriverRegistry } from '@cogenta/core';
|
|
1
2
|
import type { CatalogStore } from '../catalog/store.js';
|
|
2
3
|
import { type CouponStore } from '../coupon/store.js';
|
|
3
4
|
import type { CustomerStore } from '../customer/store.js';
|
|
5
|
+
import type { CreditNoteStore } from '../invoice/credit-note.js';
|
|
4
6
|
import type { InvoiceStore } from '../invoice/store.js';
|
|
7
|
+
import type { OrderEmailQueue } from '../order/notify.js';
|
|
5
8
|
import type { OrderStore } from '../order/store.js';
|
|
6
9
|
import type { PaymentStore } from '../payment/store.js';
|
|
7
|
-
import type {
|
|
10
|
+
import type { PaymentConfig, PaymentGateway } from '../payment/types.js';
|
|
11
|
+
import { type ShippingStore } from '../shipping/store.js';
|
|
12
|
+
import { type SubscriptionStore } from '../subscription/store.js';
|
|
13
|
+
import { type TaxStore } from '../tax/store.js';
|
|
8
14
|
import type { CommerceActor, CommercePermissionLayer } from './permissions.js';
|
|
9
15
|
/**
|
|
10
16
|
* The shop's back office, as a transport-free router.
|
|
@@ -27,13 +33,31 @@ export interface CommerceRequest {
|
|
|
27
33
|
export interface CommerceResponse {
|
|
28
34
|
readonly status: number;
|
|
29
35
|
/**
|
|
30
|
-
* JSON-serialisable for every route but
|
|
31
|
-
* answers with a `Uint8Array`
|
|
32
|
-
*
|
|
33
|
-
*
|
|
36
|
+
* JSON-serialisable for every route but two: `GET /invoices/{id}/pdf`
|
|
37
|
+
* answers with a `Uint8Array`, and `GET /orders/export.csv` (fiche 52 task
|
|
38
|
+
* 7) answers with a plain `string` of CSV text — no route ever answers
|
|
39
|
+
* with a bare string otherwise. The transport adapter (`cogenta serve`)
|
|
40
|
+
* checks for either shape and sends bytes/text rather than JSON — this
|
|
41
|
+
* router does not know or care how its caller transports a response.
|
|
34
42
|
*/
|
|
35
43
|
readonly body: unknown;
|
|
36
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* What the payment-drivers screen (fiche 34 task 3) needs to answer "which
|
|
47
|
+
* gateway is active, is a key present, and does it actually work" — never the
|
|
48
|
+
* key itself. `registry` is the same shape `cogenta doctor` already reads
|
|
49
|
+
* from for cache/queue/storage; `config` is the resolved (never file-literal)
|
|
50
|
+
* `PaymentConfig` so `available()`/`init()` can be asked for real, and
|
|
51
|
+
* `testMode` is shown as-is: whether the shop is in production is a fact the
|
|
52
|
+
* screen states, never infers from the shape of a key.
|
|
53
|
+
*/
|
|
54
|
+
export interface CommercePaymentAdminOptions {
|
|
55
|
+
readonly registry: DriverRegistry<PaymentGateway, PaymentConfig>;
|
|
56
|
+
readonly config: PaymentConfig;
|
|
57
|
+
readonly testMode: boolean;
|
|
58
|
+
/** Where a caller would point the provider's dashboard, informational until a real inbound endpoint exists. */
|
|
59
|
+
readonly webhookUrl: string;
|
|
60
|
+
}
|
|
37
61
|
export interface CommerceAdminRouterOptions {
|
|
38
62
|
readonly catalog: CatalogStore;
|
|
39
63
|
readonly orders: OrderStore;
|
|
@@ -41,8 +65,26 @@ export interface CommerceAdminRouterOptions {
|
|
|
41
65
|
readonly payments: PaymentStore;
|
|
42
66
|
readonly coupons: CouponStore;
|
|
43
67
|
readonly invoices?: InvoiceStore;
|
|
68
|
+
/**
|
|
69
|
+
* Credit notes (fiche 52 task 6) — absent exactly when `invoices` is,
|
|
70
|
+
* since both need the same seller details and a shop without one has no
|
|
71
|
+
* accounting document numbering to hand out for the other either.
|
|
72
|
+
*/
|
|
73
|
+
readonly creditNotes?: CreditNoteStore;
|
|
74
|
+
/**
|
|
75
|
+
* The transactional e-mail queue (fiche 52 task 2) — absent on a site that
|
|
76
|
+
* never configured an e-mail transport (R1/R2): orders still place and
|
|
77
|
+
* ship, nobody is ever notified.
|
|
78
|
+
*/
|
|
79
|
+
readonly orderEmails?: OrderEmailQueue;
|
|
44
80
|
/** Absent on a site that never wires subscriptions — the routes then answer 404. */
|
|
45
81
|
readonly subscriptions?: SubscriptionStore;
|
|
82
|
+
/** Tax zones/rates (fiche 34 task 1) — reuses the already-tested resolver, never a second implementation. */
|
|
83
|
+
readonly tax: TaxStore;
|
|
84
|
+
/** Shipping zones/methods (fiche 34 task 2). */
|
|
85
|
+
readonly shipping: ShippingStore;
|
|
86
|
+
/** Absent only in a test that does not care about the payment-drivers screen. */
|
|
87
|
+
readonly payment?: CommercePaymentAdminOptions;
|
|
46
88
|
readonly permissions: CommercePermissionLayer;
|
|
47
89
|
readonly basePath?: string;
|
|
48
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/admin/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/admin/router.ts"],"names":[],"mappings":"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"}
|