@actuate-media/plugin-commerce 0.0.1

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 (61) hide show
  1. package/dist/admin/CommerceDashboard.d.ts +35 -0
  2. package/dist/admin/CommerceDashboard.d.ts.map +1 -0
  3. package/dist/admin/CommerceDashboard.js +20 -0
  4. package/dist/admin/CommerceDashboard.js.map +1 -0
  5. package/dist/admin/DiscountManager.d.ts +24 -0
  6. package/dist/admin/DiscountManager.d.ts.map +1 -0
  7. package/dist/admin/DiscountManager.js +53 -0
  8. package/dist/admin/DiscountManager.js.map +1 -0
  9. package/dist/admin/OrderDetail.d.ts +62 -0
  10. package/dist/admin/OrderDetail.d.ts.map +1 -0
  11. package/dist/admin/OrderDetail.js +26 -0
  12. package/dist/admin/OrderDetail.js.map +1 -0
  13. package/dist/admin/OrderList.d.ts +29 -0
  14. package/dist/admin/OrderList.d.ts.map +1 -0
  15. package/dist/admin/OrderList.js +30 -0
  16. package/dist/admin/OrderList.js.map +1 -0
  17. package/dist/admin/ProductEdit.d.ts +43 -0
  18. package/dist/admin/ProductEdit.d.ts.map +1 -0
  19. package/dist/admin/ProductEdit.js +58 -0
  20. package/dist/admin/ProductEdit.js.map +1 -0
  21. package/dist/admin/ProductList.d.ts +21 -0
  22. package/dist/admin/ProductList.d.ts.map +1 -0
  23. package/dist/admin/ProductList.js +29 -0
  24. package/dist/admin/ProductList.js.map +1 -0
  25. package/dist/client.d.ts +107 -0
  26. package/dist/client.d.ts.map +1 -0
  27. package/dist/client.js +70 -0
  28. package/dist/client.js.map +1 -0
  29. package/dist/collections.d.ts +4 -0
  30. package/dist/collections.d.ts.map +1 -0
  31. package/dist/collections.js +341 -0
  32. package/dist/collections.js.map +1 -0
  33. package/dist/fields.d.ts +4 -0
  34. package/dist/fields.d.ts.map +1 -0
  35. package/dist/fields.js +3 -0
  36. package/dist/fields.js.map +1 -0
  37. package/dist/hooks.d.ts +5 -0
  38. package/dist/hooks.d.ts.map +1 -0
  39. package/dist/hooks.js +32 -0
  40. package/dist/hooks.js.map +1 -0
  41. package/dist/index.d.ts +37 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +27 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/stripe/checkout.d.ts +29 -0
  46. package/dist/stripe/checkout.d.ts.map +1 -0
  47. package/dist/stripe/checkout.js +48 -0
  48. package/dist/stripe/checkout.js.map +1 -0
  49. package/dist/stripe/customer.d.ts +11 -0
  50. package/dist/stripe/customer.d.ts.map +1 -0
  51. package/dist/stripe/customer.js +22 -0
  52. package/dist/stripe/customer.js.map +1 -0
  53. package/dist/stripe/products.d.ts +25 -0
  54. package/dist/stripe/products.d.ts.map +1 -0
  55. package/dist/stripe/products.js +27 -0
  56. package/dist/stripe/products.js.map +1 -0
  57. package/dist/stripe/webhooks.d.ts +8 -0
  58. package/dist/stripe/webhooks.d.ts.map +1 -0
  59. package/dist/stripe/webhooks.js +52 -0
  60. package/dist/stripe/webhooks.js.map +1 -0
  61. package/package.json +37 -0
@@ -0,0 +1,107 @@
1
+ export interface ProductSummary {
2
+ id: string;
3
+ name: string;
4
+ slug: string;
5
+ price: number;
6
+ compareAtPrice?: number;
7
+ status: string;
8
+ image?: string;
9
+ category?: string;
10
+ }
11
+ export interface ProductDetail extends ProductSummary {
12
+ description: string;
13
+ sku: string;
14
+ barcode?: string;
15
+ inventoryCount: number;
16
+ taxable: boolean;
17
+ weight?: number;
18
+ weightUnit?: string;
19
+ tags: string[];
20
+ variants: VariantSummary[];
21
+ images: ProductImageSummary[];
22
+ }
23
+ export interface VariantSummary {
24
+ id: string;
25
+ name: string;
26
+ sku: string;
27
+ price: number;
28
+ inventoryCount: number;
29
+ options: Record<string, string>;
30
+ }
31
+ export interface ProductImageSummary {
32
+ id: string;
33
+ url: string;
34
+ alt: string;
35
+ sortOrder: number;
36
+ }
37
+ export interface ProductFilters {
38
+ status?: string;
39
+ category?: string;
40
+ minPrice?: number;
41
+ maxPrice?: number;
42
+ search?: string;
43
+ limit?: number;
44
+ offset?: number;
45
+ }
46
+ export interface Cart {
47
+ id: string;
48
+ sessionId: string;
49
+ items: CartItem[];
50
+ subtotal: number;
51
+ itemCount: number;
52
+ }
53
+ export interface CartItem {
54
+ id: string;
55
+ productId: string;
56
+ productName: string;
57
+ variantId?: string;
58
+ variantName?: string;
59
+ quantity: number;
60
+ unitPrice: number;
61
+ totalPrice: number;
62
+ image?: string;
63
+ }
64
+ export interface CheckoutOptions {
65
+ email: string;
66
+ shippingAddress: Record<string, string>;
67
+ billingAddress?: Record<string, string>;
68
+ discountCode?: string;
69
+ }
70
+ export interface CheckoutResult {
71
+ checkoutUrl: string;
72
+ orderId: string;
73
+ }
74
+ export interface OrderSummary {
75
+ id: string;
76
+ orderNumber: string;
77
+ status: string;
78
+ total: number;
79
+ currency: string;
80
+ placedAt: string;
81
+ }
82
+ export interface CommerceClient {
83
+ products: {
84
+ find(filters?: ProductFilters): Promise<{
85
+ data: ProductSummary[];
86
+ total: number;
87
+ }>;
88
+ findBySlug(slug: string): Promise<ProductDetail | null>;
89
+ findByCategory(categorySlug: string): Promise<ProductSummary[]>;
90
+ };
91
+ cart: {
92
+ get(sessionId: string): Promise<Cart>;
93
+ addItem(sessionId: string, productId: string, quantity: number, variantId?: string): Promise<Cart>;
94
+ removeItem(sessionId: string, itemId: string): Promise<Cart>;
95
+ updateQuantity(sessionId: string, itemId: string, quantity: number): Promise<Cart>;
96
+ clear(sessionId: string): Promise<Cart>;
97
+ };
98
+ checkout: {
99
+ create(sessionId: string, options: CheckoutOptions): Promise<CheckoutResult>;
100
+ };
101
+ orders: {
102
+ findById(orderId: string): Promise<OrderSummary | null>;
103
+ };
104
+ }
105
+ /** Creates a typed commerce client that communicates with the Actuate CMS API. */
106
+ export declare function createCommerceClient(baseUrl: string): CommerceClient;
107
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,70 @@
1
+ /** Creates a typed commerce client that communicates with the Actuate CMS API. */
2
+ export function createCommerceClient(baseUrl) {
3
+ const url = baseUrl.replace(/\/$/, "");
4
+ async function request(path, init) {
5
+ const response = await fetch(`${url}${path}`, {
6
+ headers: { "Content-Type": "application/json" },
7
+ ...init,
8
+ });
9
+ if (!response.ok) {
10
+ throw new Error(`Commerce API error: ${response.status} ${response.statusText}`);
11
+ }
12
+ return response.json();
13
+ }
14
+ function toQueryString(params) {
15
+ const entries = Object.entries(params).filter(([, v]) => v !== undefined);
16
+ if (entries.length === 0)
17
+ return "";
18
+ return "?" + entries.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`).join("&");
19
+ }
20
+ return {
21
+ products: {
22
+ find(filters) {
23
+ const qs = filters ? toQueryString(filters) : "";
24
+ return request(`/api/commerce/products${qs}`);
25
+ },
26
+ findBySlug(slug) {
27
+ return request(`/api/commerce/products/slug/${encodeURIComponent(slug)}`);
28
+ },
29
+ findByCategory(categorySlug) {
30
+ return request(`/api/commerce/products/category/${encodeURIComponent(categorySlug)}`);
31
+ },
32
+ },
33
+ cart: {
34
+ get(sessionId) {
35
+ return request(`/api/commerce/cart/${encodeURIComponent(sessionId)}`);
36
+ },
37
+ addItem(sessionId, productId, quantity, variantId) {
38
+ return request(`/api/commerce/cart/${encodeURIComponent(sessionId)}/items`, {
39
+ method: "POST",
40
+ body: JSON.stringify({ productId, quantity, variantId }),
41
+ });
42
+ },
43
+ removeItem(sessionId, itemId) {
44
+ return request(`/api/commerce/cart/${encodeURIComponent(sessionId)}/items/${encodeURIComponent(itemId)}`, { method: "DELETE" });
45
+ },
46
+ updateQuantity(sessionId, itemId, quantity) {
47
+ return request(`/api/commerce/cart/${encodeURIComponent(sessionId)}/items/${encodeURIComponent(itemId)}`, { method: "PATCH", body: JSON.stringify({ quantity }) });
48
+ },
49
+ clear(sessionId) {
50
+ return request(`/api/commerce/cart/${encodeURIComponent(sessionId)}`, {
51
+ method: "DELETE",
52
+ });
53
+ },
54
+ },
55
+ checkout: {
56
+ create(sessionId, options) {
57
+ return request(`/api/commerce/checkout`, {
58
+ method: "POST",
59
+ body: JSON.stringify({ sessionId, ...options }),
60
+ });
61
+ },
62
+ },
63
+ orders: {
64
+ findById(orderId) {
65
+ return request(`/api/commerce/orders/${encodeURIComponent(orderId)}`);
66
+ },
67
+ },
68
+ };
69
+ }
70
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAgHA,kFAAkF;AAClF,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEvC,KAAK,UAAU,OAAO,CAAI,IAAY,EAAE,IAAkB;QACxD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE;YAC5C,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,GAAG,IAAI;SACR,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;IACvC,CAAC;IAED,SAAS,aAAa,CAAC,MAA+B;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9G,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR,IAAI,CAAC,OAAwB;gBAC3B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,OAAO,OAAO,CAA4C,yBAAyB,EAAE,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,UAAU,CAAC,IAAY;gBACrB,OAAO,OAAO,CAAuB,+BAA+B,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,cAAc,CAAC,YAAoB;gBACjC,OAAO,OAAO,CAAmB,mCAAmC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;SACF;QACD,IAAI,EAAE;YACJ,GAAG,CAAC,SAAiB;gBACnB,OAAO,OAAO,CAAO,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,OAAO,CAAC,SAAiB,EAAE,SAAiB,EAAE,QAAgB,EAAE,SAAkB;gBAChF,OAAO,OAAO,CAAO,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,QAAQ,EAAE;oBAChF,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;iBACzD,CAAC,CAAC;YACL,CAAC;YACD,UAAU,CAAC,SAAiB,EAAE,MAAc;gBAC1C,OAAO,OAAO,CACZ,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,EAAE,EACzF,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;YACJ,CAAC;YACD,cAAc,CAAC,SAAiB,EAAE,MAAc,EAAE,QAAgB;gBAChE,OAAO,OAAO,CACZ,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,EAAE,EACzF,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CACxD,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,SAAiB;gBACrB,OAAO,OAAO,CAAO,sBAAsB,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;oBAC1E,MAAM,EAAE,QAAQ;iBACjB,CAAC,CAAC;YACL,CAAC;SACF;QACD,QAAQ,EAAE;YACR,MAAM,CAAC,SAAiB,EAAE,OAAwB;gBAChD,OAAO,OAAO,CAAiB,wBAAwB,EAAE;oBACvD,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;iBAChD,CAAC,CAAC;YACL,CAAC;SACF;QACD,MAAM,EAAE;YACN,QAAQ,CAAC,OAAe;gBACtB,OAAO,OAAO,CAAsB,wBAAwB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { CollectionDefinition } from "@actuate/cms-core";
2
+ /** All collection definitions provided by the commerce plugin. */
3
+ export declare const commerceCollections: Record<string, CollectionDefinition>;
4
+ //# sourceMappingURL=collections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../src/collections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAmV9D,kEAAkE;AAClE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAapE,CAAC"}
@@ -0,0 +1,341 @@
1
+ const products = {
2
+ slug: "products",
3
+ labels: { singular: "Product", plural: "Products" },
4
+ fields: {
5
+ name: { type: "text", label: "Name", required: true },
6
+ slug: { type: "slug", label: "Slug", from: "name" },
7
+ description: { type: "richText", label: "Description" },
8
+ status: {
9
+ type: "select",
10
+ label: "Status",
11
+ options: [
12
+ { label: "Draft", value: "draft" },
13
+ { label: "Active", value: "active" },
14
+ { label: "Archived", value: "archived" },
15
+ ],
16
+ },
17
+ price: { type: "number", label: "Price", min: 0, step: 0.01 },
18
+ compareAtPrice: { type: "number", label: "Compare at Price", min: 0, step: 0.01 },
19
+ sku: { type: "text", label: "SKU", unique: true },
20
+ barcode: { type: "text", label: "Barcode" },
21
+ trackInventory: { type: "boolean", label: "Track Inventory" },
22
+ inventoryCount: { type: "number", label: "Inventory Count", min: 0 },
23
+ weight: { type: "number", label: "Weight" },
24
+ weightUnit: {
25
+ type: "select",
26
+ label: "Weight Unit",
27
+ options: [
28
+ { label: "kg", value: "kg" },
29
+ { label: "lb", value: "lb" },
30
+ { label: "oz", value: "oz" },
31
+ { label: "g", value: "g" },
32
+ ],
33
+ },
34
+ taxable: { type: "boolean", label: "Taxable", defaultValue: true },
35
+ category: {
36
+ type: "relationship",
37
+ label: "Category",
38
+ relationTo: "product-categories",
39
+ },
40
+ tags: { type: "json", label: "Tags" },
41
+ },
42
+ timestamps: true,
43
+ admin: {
44
+ useAsTitle: "name",
45
+ group: "Commerce",
46
+ defaultColumns: ["name", "price", "status", "inventoryCount"],
47
+ },
48
+ };
49
+ const productVariants = {
50
+ slug: "product-variants",
51
+ labels: { singular: "Product Variant", plural: "Product Variants" },
52
+ fields: {
53
+ product: {
54
+ type: "relationship",
55
+ label: "Product",
56
+ relationTo: "products",
57
+ },
58
+ name: { type: "text", label: "Name", required: true },
59
+ sku: { type: "text", label: "SKU", unique: true },
60
+ price: { type: "number", label: "Price", min: 0, step: 0.01 },
61
+ inventoryCount: { type: "number", label: "Inventory Count", min: 0 },
62
+ options: { type: "json", label: "Variant Options" },
63
+ image: { type: "media", label: "Image" },
64
+ },
65
+ timestamps: true,
66
+ admin: { group: "Commerce" },
67
+ };
68
+ const productCategories = {
69
+ slug: "product-categories",
70
+ labels: { singular: "Product Category", plural: "Product Categories" },
71
+ fields: {
72
+ name: { type: "text", label: "Name", required: true },
73
+ slug: { type: "slug", label: "Slug", from: "name" },
74
+ description: { type: "text", label: "Description" },
75
+ parent: {
76
+ type: "relationship",
77
+ label: "Parent Category",
78
+ relationTo: "product-categories",
79
+ },
80
+ image: { type: "media", label: "Image" },
81
+ sortOrder: { type: "number", label: "Sort Order" },
82
+ },
83
+ timestamps: true,
84
+ admin: { useAsTitle: "name", group: "Commerce" },
85
+ };
86
+ const productImages = {
87
+ slug: "product-images",
88
+ labels: { singular: "Product Image", plural: "Product Images" },
89
+ fields: {
90
+ product: {
91
+ type: "relationship",
92
+ label: "Product",
93
+ relationTo: "products",
94
+ },
95
+ image: { type: "media", label: "Image", required: true },
96
+ alt: { type: "text", label: "Alt Text" },
97
+ sortOrder: { type: "number", label: "Sort Order", defaultValue: 0 },
98
+ },
99
+ timestamps: true,
100
+ admin: { group: "Commerce" },
101
+ };
102
+ const carts = {
103
+ slug: "carts",
104
+ labels: { singular: "Cart", plural: "Carts" },
105
+ fields: {
106
+ sessionId: { type: "text", label: "Session ID", unique: true },
107
+ customerId: {
108
+ type: "relationship",
109
+ label: "Customer",
110
+ relationTo: "users",
111
+ },
112
+ status: {
113
+ type: "select",
114
+ label: "Status",
115
+ options: [
116
+ { label: "Active", value: "active" },
117
+ { label: "Merged", value: "merged" },
118
+ { label: "Abandoned", value: "abandoned" },
119
+ { label: "Converted", value: "converted" },
120
+ ],
121
+ },
122
+ expiresAt: { type: "date", label: "Expires At", includeTime: true },
123
+ },
124
+ timestamps: true,
125
+ admin: { group: "Commerce", hidden: true },
126
+ };
127
+ const cartItems = {
128
+ slug: "cart-items",
129
+ labels: { singular: "Cart Item", plural: "Cart Items" },
130
+ fields: {
131
+ cart: { type: "relationship", label: "Cart", relationTo: "carts" },
132
+ product: {
133
+ type: "relationship",
134
+ label: "Product",
135
+ relationTo: "products",
136
+ },
137
+ variant: {
138
+ type: "relationship",
139
+ label: "Variant",
140
+ relationTo: "product-variants",
141
+ },
142
+ quantity: { type: "number", label: "Quantity", min: 1 },
143
+ unitPrice: { type: "number", label: "Unit Price" },
144
+ },
145
+ timestamps: true,
146
+ admin: { group: "Commerce", hidden: true },
147
+ };
148
+ const orders = {
149
+ slug: "orders",
150
+ labels: { singular: "Order", plural: "Orders" },
151
+ fields: {
152
+ orderNumber: {
153
+ type: "text",
154
+ label: "Order Number",
155
+ unique: true,
156
+ required: true,
157
+ },
158
+ customer: {
159
+ type: "relationship",
160
+ label: "Customer",
161
+ relationTo: "users",
162
+ },
163
+ status: {
164
+ type: "select",
165
+ label: "Status",
166
+ options: [
167
+ { label: "Pending", value: "pending" },
168
+ { label: "Confirmed", value: "confirmed" },
169
+ { label: "Processing", value: "processing" },
170
+ { label: "Shipped", value: "shipped" },
171
+ { label: "Delivered", value: "delivered" },
172
+ { label: "Cancelled", value: "cancelled" },
173
+ { label: "Refunded", value: "refunded" },
174
+ ],
175
+ },
176
+ email: { type: "email", label: "Email" },
177
+ shippingAddress: { type: "json", label: "Shipping Address" },
178
+ billingAddress: { type: "json", label: "Billing Address" },
179
+ subtotal: { type: "number", label: "Subtotal" },
180
+ taxAmount: { type: "number", label: "Tax Amount" },
181
+ shippingAmount: { type: "number", label: "Shipping Amount" },
182
+ discountAmount: { type: "number", label: "Discount Amount" },
183
+ total: { type: "number", label: "Total" },
184
+ currency: { type: "text", label: "Currency", defaultValue: "USD" },
185
+ notes: { type: "text", label: "Notes" },
186
+ placedAt: { type: "date", label: "Placed At", includeTime: true },
187
+ },
188
+ timestamps: true,
189
+ admin: {
190
+ useAsTitle: "orderNumber",
191
+ group: "Commerce",
192
+ defaultColumns: [
193
+ "orderNumber",
194
+ "customer",
195
+ "status",
196
+ "total",
197
+ "placedAt",
198
+ ],
199
+ },
200
+ };
201
+ const orderItems = {
202
+ slug: "order-items",
203
+ labels: { singular: "Order Item", plural: "Order Items" },
204
+ fields: {
205
+ order: { type: "relationship", label: "Order", relationTo: "orders" },
206
+ product: {
207
+ type: "relationship",
208
+ label: "Product",
209
+ relationTo: "products",
210
+ },
211
+ variant: {
212
+ type: "relationship",
213
+ label: "Variant",
214
+ relationTo: "product-variants",
215
+ },
216
+ name: { type: "text", label: "Product Name" },
217
+ sku: { type: "text", label: "SKU" },
218
+ quantity: { type: "number", label: "Quantity" },
219
+ unitPrice: { type: "number", label: "Unit Price" },
220
+ totalPrice: { type: "number", label: "Total Price" },
221
+ },
222
+ timestamps: true,
223
+ admin: { group: "Commerce" },
224
+ };
225
+ const payments = {
226
+ slug: "payments",
227
+ labels: { singular: "Payment", plural: "Payments" },
228
+ fields: {
229
+ order: { type: "relationship", label: "Order", relationTo: "orders" },
230
+ stripePaymentIntentId: {
231
+ type: "text",
232
+ label: "Stripe Payment Intent ID",
233
+ unique: true,
234
+ },
235
+ amount: { type: "number", label: "Amount" },
236
+ currency: { type: "text", label: "Currency" },
237
+ status: {
238
+ type: "select",
239
+ label: "Status",
240
+ options: [
241
+ { label: "Pending", value: "pending" },
242
+ { label: "Succeeded", value: "succeeded" },
243
+ { label: "Failed", value: "failed" },
244
+ { label: "Refunded", value: "refunded" },
245
+ ],
246
+ },
247
+ method: { type: "text", label: "Payment Method" },
248
+ paidAt: { type: "date", label: "Paid At", includeTime: true },
249
+ },
250
+ timestamps: true,
251
+ admin: { group: "Commerce" },
252
+ };
253
+ const discounts = {
254
+ slug: "discounts",
255
+ labels: { singular: "Discount", plural: "Discounts" },
256
+ fields: {
257
+ code: { type: "text", label: "Code", required: true, unique: true },
258
+ type: {
259
+ type: "select",
260
+ label: "Discount Type",
261
+ options: [
262
+ { label: "Percentage", value: "percentage" },
263
+ { label: "Fixed Amount", value: "fixed_amount" },
264
+ { label: "Free Shipping", value: "free_shipping" },
265
+ ],
266
+ },
267
+ value: { type: "number", label: "Value", required: true },
268
+ minPurchase: { type: "number", label: "Minimum Purchase" },
269
+ maxUses: { type: "number", label: "Maximum Uses" },
270
+ usedCount: { type: "number", label: "Used Count", defaultValue: 0 },
271
+ startsAt: { type: "date", label: "Starts At", includeTime: true },
272
+ expiresAt: { type: "date", label: "Expires At", includeTime: true },
273
+ isActive: { type: "boolean", label: "Active", defaultValue: true },
274
+ applicableTo: {
275
+ type: "select",
276
+ label: "Applicable To",
277
+ options: [
278
+ { label: "All Products", value: "all" },
279
+ { label: "Specific Products", value: "specific_products" },
280
+ { label: "Specific Categories", value: "specific_categories" },
281
+ ],
282
+ },
283
+ productIds: { type: "json", label: "Product IDs" },
284
+ categoryIds: { type: "json", label: "Category IDs" },
285
+ },
286
+ timestamps: true,
287
+ admin: { useAsTitle: "code", group: "Commerce" },
288
+ };
289
+ const shippingZones = {
290
+ slug: "shipping-zones",
291
+ labels: { singular: "Shipping Zone", plural: "Shipping Zones" },
292
+ fields: {
293
+ name: { type: "text", label: "Name", required: true },
294
+ countries: { type: "json", label: "Country Codes" },
295
+ rates: { type: "json", label: "Shipping Rates" },
296
+ freeShippingThreshold: {
297
+ type: "number",
298
+ label: "Free Shipping Threshold",
299
+ },
300
+ },
301
+ timestamps: true,
302
+ admin: { useAsTitle: "name", group: "Commerce" },
303
+ };
304
+ const taxRates = {
305
+ slug: "tax-rates",
306
+ labels: { singular: "Tax Rate", plural: "Tax Rates" },
307
+ fields: {
308
+ name: { type: "text", label: "Name", required: true },
309
+ rate: {
310
+ type: "number",
311
+ label: "Rate (%)",
312
+ required: true,
313
+ min: 0,
314
+ max: 100,
315
+ step: 0.001,
316
+ },
317
+ country: { type: "text", label: "Country" },
318
+ state: { type: "text", label: "State" },
319
+ postalCode: { type: "text", label: "Postal Code" },
320
+ isDefault: { type: "boolean", label: "Default Rate", defaultValue: false },
321
+ priority: { type: "number", label: "Priority", defaultValue: 0 },
322
+ },
323
+ timestamps: true,
324
+ admin: { useAsTitle: "name", group: "Commerce" },
325
+ };
326
+ /** All collection definitions provided by the commerce plugin. */
327
+ export const commerceCollections = {
328
+ products,
329
+ "product-variants": productVariants,
330
+ "product-categories": productCategories,
331
+ "product-images": productImages,
332
+ carts,
333
+ "cart-items": cartItems,
334
+ orders,
335
+ "order-items": orderItems,
336
+ payments,
337
+ discounts,
338
+ "shipping-zones": shippingZones,
339
+ "tax-rates": taxRates,
340
+ };
341
+ //# sourceMappingURL=collections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../src/collections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { FieldDefinition } from "@actuate/cms-core";
2
+ /** Commerce injects its own collections rather than adding fields to existing ones. */
3
+ export declare const commerceFields: Record<string, FieldDefinition>;
4
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,uFAAuF;AACvF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAM,CAAC"}
package/dist/fields.js ADDED
@@ -0,0 +1,3 @@
1
+ /** Commerce injects its own collections rather than adding fields to existing ones. */
2
+ export const commerceFields = {};
3
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../src/fields.ts"],"names":[],"mappings":"AAEA,uFAAuF;AACvF,MAAM,CAAC,MAAM,cAAc,GAAoC,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const commerceHooks: {
2
+ event: string;
3
+ handler: (...args: unknown[]) => Promise<void>;
4
+ }[];
5
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;uBAGG,OAAO,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;GAiCrD,CAAC"}
package/dist/hooks.js ADDED
@@ -0,0 +1,32 @@
1
+ export const commerceHooks = [
2
+ {
3
+ event: "afterCreate:orders",
4
+ handler: async (...args) => {
5
+ const [order] = args;
6
+ const orderId = order?.["id"];
7
+ const total = order?.["total"];
8
+ const currency = order?.["currency"] ?? "USD";
9
+ if (!orderId || total === undefined)
10
+ return;
11
+ // TODO: Integrate with Stripe payment intent creation
12
+ console.info(`[commerce] Syncing order ${orderId} to Stripe — ${currency} ${total}`);
13
+ },
14
+ },
15
+ {
16
+ event: "afterUpdate:products",
17
+ handler: async (...args) => {
18
+ const [product] = args;
19
+ const name = product?.["name"];
20
+ const trackInventory = product?.["trackInventory"];
21
+ const inventoryCount = product?.["inventoryCount"];
22
+ if (!trackInventory || inventoryCount === undefined)
23
+ return;
24
+ const LOW_STOCK_THRESHOLD = 5;
25
+ if (inventoryCount <= LOW_STOCK_THRESHOLD) {
26
+ // TODO: Dispatch notification via configured channel
27
+ console.warn(`[commerce] Low stock alert: "${name}" has ${inventoryCount} unit(s) remaining`);
28
+ }
29
+ },
30
+ },
31
+ ];
32
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;QACE,KAAK,EAAE,oBAAoB;QAC3B,OAAO,EAAE,KAAK,EAAE,GAAG,IAAe,EAAiB,EAAE;YACnD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAiC,CAAC;YAClD,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC,IAAI,CAAuB,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,OAAO,CAAuB,CAAC;YACrD,MAAM,QAAQ,GAAI,KAAK,EAAE,CAAC,UAAU,CAAY,IAAI,KAAK,CAAC;YAE1D,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO;YAE5C,sDAAsD;YACtD,OAAO,CAAC,IAAI,CACV,4BAA4B,OAAO,gBAAgB,QAAQ,IAAI,KAAK,EAAE,CACvE,CAAC;QACJ,CAAC;KACF;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,KAAK,EAAE,GAAG,IAAe,EAAiB,EAAE;YACnD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAiC,CAAC;YACpD,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,MAAM,CAAuB,CAAC;YACrD,MAAM,cAAc,GAAG,OAAO,EAAE,CAAC,gBAAgB,CAAwB,CAAC;YAC1E,MAAM,cAAc,GAAG,OAAO,EAAE,CAAC,gBAAgB,CAAuB,CAAC;YAEzE,IAAI,CAAC,cAAc,IAAI,cAAc,KAAK,SAAS;gBAAE,OAAO;YAE5D,MAAM,mBAAmB,GAAG,CAAC,CAAC;YAC9B,IAAI,cAAc,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,qDAAqD;gBACrD,OAAO,CAAC,IAAI,CACV,gCAAgC,IAAI,SAAS,cAAc,oBAAoB,CAChF,CAAC;YACJ,CAAC;QACH,CAAC;KACF;CACF,CAAC"}