@23blocks/block-sales 1.0.3 → 1.0.4

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 (72) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.esm.js +462 -0
  3. package/dist/src/index.d.ts +7 -0
  4. package/dist/src/index.d.ts.map +1 -0
  5. package/dist/{lib/mappers/index.js → src/lib/mappers/index.d.ts} +1 -2
  6. package/dist/src/lib/mappers/index.d.ts.map +1 -0
  7. package/dist/src/lib/mappers/order-detail.mapper.d.ts +4 -0
  8. package/dist/src/lib/mappers/order-detail.mapper.d.ts.map +1 -0
  9. package/dist/src/lib/mappers/order.mapper.d.ts +4 -0
  10. package/dist/src/lib/mappers/order.mapper.d.ts.map +1 -0
  11. package/dist/src/lib/mappers/payment.mapper.d.ts +4 -0
  12. package/dist/src/lib/mappers/payment.mapper.d.ts.map +1 -0
  13. package/dist/src/lib/mappers/subscription.mapper.d.ts +4 -0
  14. package/dist/src/lib/mappers/subscription.mapper.d.ts.map +1 -0
  15. package/dist/src/lib/mappers/utils.d.ts +45 -0
  16. package/dist/src/lib/mappers/utils.d.ts.map +1 -0
  17. package/dist/src/lib/sales.block.d.ts +15 -0
  18. package/dist/src/lib/sales.block.d.ts.map +1 -0
  19. package/dist/{lib/services/index.js → src/lib/services/index.d.ts} +1 -2
  20. package/dist/src/lib/services/index.d.ts.map +1 -0
  21. package/dist/src/lib/services/order-details.service.d.ts +12 -0
  22. package/dist/src/lib/services/order-details.service.d.ts.map +1 -0
  23. package/dist/src/lib/services/orders.service.d.ts +17 -0
  24. package/dist/src/lib/services/orders.service.d.ts.map +1 -0
  25. package/dist/src/lib/services/payments.service.d.ts +13 -0
  26. package/dist/src/lib/services/payments.service.d.ts.map +1 -0
  27. package/dist/src/lib/services/subscriptions.service.d.ts +16 -0
  28. package/dist/src/lib/services/subscriptions.service.d.ts.map +1 -0
  29. package/dist/{lib/types/index.js → src/lib/types/index.d.ts} +1 -2
  30. package/dist/src/lib/types/index.d.ts.map +1 -0
  31. package/dist/src/lib/types/order-detail.d.ts +25 -0
  32. package/dist/src/lib/types/order-detail.d.ts.map +1 -0
  33. package/dist/src/lib/types/order.d.ts +50 -0
  34. package/dist/src/lib/types/order.d.ts.map +1 -0
  35. package/dist/src/lib/types/payment.d.ts +34 -0
  36. package/dist/src/lib/types/payment.d.ts.map +1 -0
  37. package/dist/src/lib/types/subscription.d.ts +49 -0
  38. package/dist/src/lib/types/subscription.d.ts.map +1 -0
  39. package/package.json +10 -8
  40. package/dist/index.js +0 -7
  41. package/dist/index.js.map +0 -1
  42. package/dist/lib/mappers/index.js.map +0 -1
  43. package/dist/lib/mappers/order-detail.mapper.js +0 -25
  44. package/dist/lib/mappers/order-detail.mapper.js.map +0 -1
  45. package/dist/lib/mappers/order.mapper.js +0 -27
  46. package/dist/lib/mappers/order.mapper.js.map +0 -1
  47. package/dist/lib/mappers/payment.mapper.js +0 -21
  48. package/dist/lib/mappers/payment.mapper.js.map +0 -1
  49. package/dist/lib/mappers/subscription.mapper.js +0 -24
  50. package/dist/lib/mappers/subscription.mapper.js.map +0 -1
  51. package/dist/lib/mappers/utils.js +0 -111
  52. package/dist/lib/mappers/utils.js.map +0 -1
  53. package/dist/lib/sales.block.js +0 -22
  54. package/dist/lib/sales.block.js.map +0 -1
  55. package/dist/lib/services/index.js.map +0 -1
  56. package/dist/lib/services/order-details.service.js +0 -36
  57. package/dist/lib/services/order-details.service.js.map +0 -1
  58. package/dist/lib/services/orders.service.js +0 -98
  59. package/dist/lib/services/orders.service.js.map +0 -1
  60. package/dist/lib/services/payments.service.js +0 -59
  61. package/dist/lib/services/payments.service.js.map +0 -1
  62. package/dist/lib/services/subscriptions.service.js +0 -90
  63. package/dist/lib/services/subscriptions.service.js.map +0 -1
  64. package/dist/lib/types/index.js.map +0 -1
  65. package/dist/lib/types/order-detail.js +0 -3
  66. package/dist/lib/types/order-detail.js.map +0 -1
  67. package/dist/lib/types/order.js +0 -3
  68. package/dist/lib/types/order.js.map +0 -1
  69. package/dist/lib/types/payment.js +0 -3
  70. package/dist/lib/types/payment.js.map +0 -1
  71. package/dist/lib/types/subscription.js +0 -3
  72. package/dist/lib/types/subscription.js.map +0 -1
@@ -0,0 +1,13 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { Payment, CreatePaymentRequest, ListPaymentsParams } from '../types/payment';
3
+ export interface PaymentsService {
4
+ list(params?: ListPaymentsParams): Promise<PageResult<Payment>>;
5
+ get(uniqueId: string): Promise<Payment>;
6
+ create(data: CreatePaymentRequest): Promise<Payment>;
7
+ refund(uniqueId: string, amount?: number): Promise<Payment>;
8
+ listByOrder(orderUniqueId: string): Promise<Payment[]>;
9
+ }
10
+ export declare function createPaymentsService(transport: Transport, _config: {
11
+ appId: string;
12
+ }): PaymentsService;
13
+ //# sourceMappingURL=payments.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/payments.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG1F,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACxD;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAyDvG"}
@@ -0,0 +1,16 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { Subscription, CreateSubscriptionRequest, UpdateSubscriptionRequest, ListSubscriptionsParams } from '../types/subscription';
3
+ export interface SubscriptionsService {
4
+ list(params?: ListSubscriptionsParams): Promise<PageResult<Subscription>>;
5
+ get(uniqueId: string): Promise<Subscription>;
6
+ create(data: CreateSubscriptionRequest): Promise<Subscription>;
7
+ update(uniqueId: string, data: UpdateSubscriptionRequest): Promise<Subscription>;
8
+ cancel(uniqueId: string): Promise<Subscription>;
9
+ pause(uniqueId: string): Promise<Subscription>;
10
+ resume(uniqueId: string): Promise<Subscription>;
11
+ listByUser(userUniqueId: string, params?: ListSubscriptionsParams): Promise<PageResult<Subscription>>;
12
+ }
13
+ export declare function createSubscriptionsService(transport: Transport, _config: {
14
+ appId: string;
15
+ }): SubscriptionsService;
16
+ //# sourceMappingURL=subscriptions.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/subscriptions.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGzI,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjF,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;CACvG;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,oBAAoB,CAwFjH"}
@@ -2,5 +2,4 @@ export * from './order';
2
2
  export * from './order-detail';
3
3
  export * from './payment';
4
4
  export * from './subscription';
5
-
6
- //# sourceMappingURL=index.js.map
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { IdentityCore, EntityStatus } from '@23blocks/contracts';
2
+ export interface OrderDetail extends IdentityCore {
3
+ orderUniqueId: string;
4
+ productUniqueId: string;
5
+ productVariationUniqueId?: string;
6
+ sku: string;
7
+ name: string;
8
+ quantity: number;
9
+ unitPrice: number;
10
+ discount: number;
11
+ tax: number;
12
+ total: number;
13
+ status: EntityStatus;
14
+ vendorUniqueId?: string;
15
+ payload?: Record<string, unknown>;
16
+ }
17
+ export interface UpdateOrderDetailRequest {
18
+ quantity?: number;
19
+ unitPrice?: number;
20
+ discount?: number;
21
+ tax?: number;
22
+ status?: EntityStatus;
23
+ payload?: Record<string, unknown>;
24
+ }
25
+ //# sourceMappingURL=order-detail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-detail.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/order-detail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC"}
@@ -0,0 +1,50 @@
1
+ import type { IdentityCore } from '@23blocks/contracts';
2
+ export type OrderStatus = 'pending' | 'confirmed' | 'processing' | 'shipped' | 'delivered' | 'cancelled';
3
+ export interface Order extends IdentityCore {
4
+ displayId: string;
5
+ userUniqueId: string;
6
+ status: OrderStatus;
7
+ subtotal: number;
8
+ tax: number;
9
+ shipping: number;
10
+ discount: number;
11
+ total: number;
12
+ shippingAddressUniqueId?: string;
13
+ billingAddressUniqueId?: string;
14
+ notes?: string;
15
+ paidAt?: Date;
16
+ shippedAt?: Date;
17
+ deliveredAt?: Date;
18
+ payload?: Record<string, unknown>;
19
+ }
20
+ export interface CreateOrderRequest {
21
+ userUniqueId: string;
22
+ items: Array<{
23
+ productUniqueId: string;
24
+ productVariationUniqueId?: string;
25
+ quantity: number;
26
+ unitPrice: number;
27
+ }>;
28
+ shippingAddressUniqueId?: string;
29
+ billingAddressUniqueId?: string;
30
+ notes?: string;
31
+ payload?: Record<string, unknown>;
32
+ }
33
+ export interface UpdateOrderRequest {
34
+ status?: OrderStatus;
35
+ shippingAddressUniqueId?: string;
36
+ billingAddressUniqueId?: string;
37
+ notes?: string;
38
+ payload?: Record<string, unknown>;
39
+ }
40
+ export interface ListOrdersParams {
41
+ page?: number;
42
+ perPage?: number;
43
+ status?: OrderStatus;
44
+ userUniqueId?: string;
45
+ startDate?: Date;
46
+ endDate?: Date;
47
+ sortBy?: string;
48
+ sortOrder?: 'asc' | 'desc';
49
+ }
50
+ //# sourceMappingURL=order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,qBAAqB,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAEzG,MAAM,WAAW,KAAM,SAAQ,YAAY;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;QACX,eAAe,EAAE,MAAM,CAAC;QACxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,34 @@
1
+ import type { IdentityCore } from '@23blocks/contracts';
2
+ export type PaymentStatus = 'pending' | 'completed' | 'failed' | 'refunded';
3
+ export interface Payment extends IdentityCore {
4
+ orderUniqueId: string;
5
+ paymentMethod: string;
6
+ paymentProvider: string;
7
+ transactionId?: string;
8
+ amount: number;
9
+ currency: string;
10
+ status: PaymentStatus;
11
+ paidAt?: Date;
12
+ payload?: Record<string, unknown>;
13
+ }
14
+ export interface CreatePaymentRequest {
15
+ orderUniqueId: string;
16
+ paymentMethod: string;
17
+ paymentProvider: string;
18
+ amount: number;
19
+ currency: string;
20
+ transactionId?: string;
21
+ payload?: Record<string, unknown>;
22
+ }
23
+ export interface ListPaymentsParams {
24
+ page?: number;
25
+ perPage?: number;
26
+ status?: PaymentStatus;
27
+ orderUniqueId?: string;
28
+ paymentMethod?: string;
29
+ startDate?: Date;
30
+ endDate?: Date;
31
+ sortBy?: string;
32
+ sortOrder?: 'asc' | 'desc';
33
+ }
34
+ //# sourceMappingURL=payment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/payment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE5E,MAAM,WAAW,OAAQ,SAAQ,YAAY;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,49 @@
1
+ import type { IdentityCore } from '@23blocks/contracts';
2
+ export type SubscriptionInterval = 'monthly' | 'yearly';
3
+ export type SubscriptionStatus = 'active' | 'cancelled' | 'expired' | 'paused';
4
+ export interface Subscription extends IdentityCore {
5
+ userUniqueId: string;
6
+ planUniqueId: string;
7
+ planName: string;
8
+ price: number;
9
+ currency: string;
10
+ interval: SubscriptionInterval;
11
+ status: SubscriptionStatus;
12
+ startDate: Date;
13
+ endDate?: Date;
14
+ nextBillingDate?: Date;
15
+ cancelledAt?: Date;
16
+ payload?: Record<string, unknown>;
17
+ }
18
+ export interface CreateSubscriptionRequest {
19
+ userUniqueId: string;
20
+ planUniqueId: string;
21
+ planName: string;
22
+ price: number;
23
+ currency: string;
24
+ interval: SubscriptionInterval;
25
+ startDate?: Date;
26
+ payload?: Record<string, unknown>;
27
+ }
28
+ export interface UpdateSubscriptionRequest {
29
+ planUniqueId?: string;
30
+ planName?: string;
31
+ price?: number;
32
+ currency?: string;
33
+ interval?: SubscriptionInterval;
34
+ status?: SubscriptionStatus;
35
+ endDate?: Date;
36
+ nextBillingDate?: Date;
37
+ payload?: Record<string, unknown>;
38
+ }
39
+ export interface ListSubscriptionsParams {
40
+ page?: number;
41
+ perPage?: number;
42
+ status?: SubscriptionStatus;
43
+ userUniqueId?: string;
44
+ planUniqueId?: string;
45
+ interval?: SubscriptionInterval;
46
+ sortBy?: string;
47
+ sortOrder?: 'asc' | 'desc';
48
+ }
49
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/subscription.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAC;AACxD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@23blocks/block-sales",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Sales block for 23blocks SDK - orders, payments, subscriptions, transactions",
5
5
  "license": "MIT",
6
6
  "author": "23blocks <hello@23blocks.com>",
@@ -23,15 +23,15 @@
23
23
  "transactions"
24
24
  ],
25
25
  "type": "module",
26
- "main": "./dist/index.js",
27
- "module": "./dist/index.js",
26
+ "main": "./dist/index.esm.js",
27
+ "module": "./dist/index.esm.js",
28
28
  "types": "./dist/index.d.ts",
29
29
  "exports": {
30
30
  "./package.json": "./package.json",
31
31
  ".": {
32
32
  "types": "./dist/index.d.ts",
33
- "import": "./dist/index.js",
34
- "default": "./dist/index.js"
33
+ "import": "./dist/index.esm.js",
34
+ "default": "./dist/index.esm.js"
35
35
  }
36
36
  },
37
37
  "files": [
@@ -42,7 +42,7 @@
42
42
  "sourceRoot": "packages/block-sales/src",
43
43
  "targets": {
44
44
  "build": {
45
- "executor": "@nx/js:swc",
45
+ "executor": "@nx/rollup:rollup",
46
46
  "outputs": [
47
47
  "{options.outputPath}"
48
48
  ],
@@ -50,8 +50,10 @@
50
50
  "outputPath": "packages/block-sales/dist",
51
51
  "main": "packages/block-sales/src/index.ts",
52
52
  "tsConfig": "packages/block-sales/tsconfig.lib.json",
53
- "skipTypeCheck": true,
54
- "stripLeadingPaths": true
53
+ "compiler": "swc",
54
+ "format": [
55
+ "esm"
56
+ ]
55
57
  }
56
58
  }
57
59
  }
package/dist/index.js DELETED
@@ -1,7 +0,0 @@
1
- // Block factory and metadata
2
- export { createSalesBlock, salesBlockMetadata } from './lib/sales.block';
3
- export { createOrdersService, createOrderDetailsService, createPaymentsService, createSubscriptionsService } from './lib/services';
4
- // Mappers (for advanced use cases)
5
- export { orderMapper, orderDetailMapper, paymentMapper, subscriptionMapper } from './lib/mappers';
6
-
7
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Block factory and metadata\nexport { createSalesBlock, salesBlockMetadata } from './lib/sales.block';\nexport type { SalesBlock, SalesBlockConfig } from './lib/sales.block';\n\n// Types\nexport type {\n // Order types\n Order,\n OrderStatus,\n CreateOrderRequest,\n UpdateOrderRequest,\n ListOrdersParams,\n // Order detail types\n OrderDetail,\n UpdateOrderDetailRequest,\n // Payment types\n Payment,\n PaymentStatus,\n CreatePaymentRequest,\n ListPaymentsParams,\n // Subscription types\n Subscription,\n SubscriptionInterval,\n SubscriptionStatus,\n CreateSubscriptionRequest,\n UpdateSubscriptionRequest,\n ListSubscriptionsParams,\n} from './lib/types';\n\n// Services\nexport type {\n OrdersService,\n OrderDetailsService,\n PaymentsService,\n SubscriptionsService,\n} from './lib/services';\n\nexport {\n createOrdersService,\n createOrderDetailsService,\n createPaymentsService,\n createSubscriptionsService,\n} from './lib/services';\n\n// Mappers (for advanced use cases)\nexport {\n orderMapper,\n orderDetailMapper,\n paymentMapper,\n subscriptionMapper,\n} from './lib/mappers';\n"],"names":["createSalesBlock","salesBlockMetadata","createOrdersService","createOrderDetailsService","createPaymentsService","createSubscriptionsService","orderMapper","orderDetailMapper","paymentMapper","subscriptionMapper"],"rangeMappings":";;;;","mappings":"AAAA,6BAA6B;AAC7B,SAASA,gBAAgB,EAAEC,kBAAkB,QAAQ,oBAAoB;AAoCzE,SACEC,mBAAmB,EACnBC,yBAAyB,EACzBC,qBAAqB,EACrBC,0BAA0B,QACrB,iBAAiB;AAExB,mCAAmC;AACnC,SACEC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,kBAAkB,QACb,gBAAgB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/index.ts"],"sourcesContent":["export * from './order.mapper';\nexport * from './order-detail.mapper';\nexport * from './payment.mapper';\nexport * from './subscription.mapper';\nexport * from './utils';\n"],"names":[],"rangeMappings":";;;;","mappings":"AAAA,cAAc,iBAAiB;AAC/B,cAAc,wBAAwB;AACtC,cAAc,mBAAmB;AACjC,cAAc,wBAAwB;AACtC,cAAc,UAAU"}
@@ -1,25 +0,0 @@
1
- import { parseString, parseDate, parseNumber, parseStatus } from './utils';
2
- export const orderDetailMapper = {
3
- type: 'OrderDetail',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- orderUniqueId: parseString(resource.attributes['order_unique_id']) || '',
10
- productUniqueId: parseString(resource.attributes['product_unique_id']) || '',
11
- productVariationUniqueId: parseString(resource.attributes['product_variation_unique_id']),
12
- sku: parseString(resource.attributes['sku']) || '',
13
- name: parseString(resource.attributes['name']) || '',
14
- quantity: parseNumber(resource.attributes['quantity']),
15
- unitPrice: parseNumber(resource.attributes['unit_price']),
16
- discount: parseNumber(resource.attributes['discount']),
17
- tax: parseNumber(resource.attributes['tax']),
18
- total: parseNumber(resource.attributes['total']),
19
- status: parseStatus(resource.attributes['status']),
20
- vendorUniqueId: parseString(resource.attributes['vendor_unique_id']),
21
- payload: resource.attributes['payload']
22
- })
23
- };
24
-
25
- //# sourceMappingURL=order-detail.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/order-detail.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { OrderDetail } from '../types/order-detail';\nimport { parseString, parseDate, parseNumber, parseStatus } from './utils';\n\nexport const orderDetailMapper: ResourceMapper<OrderDetail> = {\n type: 'OrderDetail',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n orderUniqueId: parseString(resource.attributes['order_unique_id']) || '',\n productUniqueId: parseString(resource.attributes['product_unique_id']) || '',\n productVariationUniqueId: parseString(resource.attributes['product_variation_unique_id']),\n sku: parseString(resource.attributes['sku']) || '',\n name: parseString(resource.attributes['name']) || '',\n quantity: parseNumber(resource.attributes['quantity']),\n unitPrice: parseNumber(resource.attributes['unit_price']),\n discount: parseNumber(resource.attributes['discount']),\n tax: parseNumber(resource.attributes['tax']),\n total: parseNumber(resource.attributes['total']),\n status: parseStatus(resource.attributes['status']),\n vendorUniqueId: parseString(resource.attributes['vendor_unique_id']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n }),\n};\n"],"names":["parseString","parseDate","parseNumber","parseStatus","orderDetailMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","orderUniqueId","productUniqueId","productVariationUniqueId","sku","name","quantity","unitPrice","discount","tax","total","status","vendorUniqueId","payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,WAAW,EAAEC,WAAW,QAAQ,UAAU;AAE3E,OAAO,MAAMC,oBAAiD;IAC5DC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUT,YAAYO,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWV,UAAUM,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWZ,UAAUM,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,eAAed,YAAYO,SAASG,UAAU,CAAC,kBAAkB,KAAK;YACtEK,iBAAiBf,YAAYO,SAASG,UAAU,CAAC,oBAAoB,KAAK;YAC1EM,0BAA0BhB,YAAYO,SAASG,UAAU,CAAC,8BAA8B;YACxFO,KAAKjB,YAAYO,SAASG,UAAU,CAAC,MAAM,KAAK;YAChDQ,MAAMlB,YAAYO,SAASG,UAAU,CAAC,OAAO,KAAK;YAClDS,UAAUjB,YAAYK,SAASG,UAAU,CAAC,WAAW;YACrDU,WAAWlB,YAAYK,SAASG,UAAU,CAAC,aAAa;YACxDW,UAAUnB,YAAYK,SAASG,UAAU,CAAC,WAAW;YACrDY,KAAKpB,YAAYK,SAASG,UAAU,CAAC,MAAM;YAC3Ca,OAAOrB,YAAYK,SAASG,UAAU,CAAC,QAAQ;YAC/Cc,QAAQrB,YAAYI,SAASG,UAAU,CAAC,SAAS;YACjDe,gBAAgBzB,YAAYO,SAASG,UAAU,CAAC,mBAAmB;YACnEgB,SAASnB,SAASG,UAAU,CAAC,UAAU;QACzC,CAAA;AACF,EAAE"}
@@ -1,27 +0,0 @@
1
- import { parseString, parseDate, parseNumber, parseOrderStatus } from './utils';
2
- export const orderMapper = {
3
- type: 'Order',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- displayId: parseString(resource.attributes['display_id']) || resource.id,
10
- userUniqueId: parseString(resource.attributes['user_unique_id']) || '',
11
- status: parseOrderStatus(resource.attributes['status']),
12
- subtotal: parseNumber(resource.attributes['subtotal']),
13
- tax: parseNumber(resource.attributes['tax']),
14
- shipping: parseNumber(resource.attributes['shipping']),
15
- discount: parseNumber(resource.attributes['discount']),
16
- total: parseNumber(resource.attributes['total']),
17
- shippingAddressUniqueId: parseString(resource.attributes['shipping_address_unique_id']),
18
- billingAddressUniqueId: parseString(resource.attributes['billing_address_unique_id']),
19
- notes: parseString(resource.attributes['notes']),
20
- paidAt: parseDate(resource.attributes['paid_at']),
21
- shippedAt: parseDate(resource.attributes['shipped_at']),
22
- deliveredAt: parseDate(resource.attributes['delivered_at']),
23
- payload: resource.attributes['payload']
24
- })
25
- };
26
-
27
- //# sourceMappingURL=order.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/order.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Order } from '../types/order';\nimport { parseString, parseDate, parseNumber, parseOrderStatus } from './utils';\n\nexport const orderMapper: ResourceMapper<Order> = {\n type: 'Order',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n displayId: parseString(resource.attributes['display_id']) || resource.id,\n userUniqueId: parseString(resource.attributes['user_unique_id']) || '',\n status: parseOrderStatus(resource.attributes['status']),\n subtotal: parseNumber(resource.attributes['subtotal']),\n tax: parseNumber(resource.attributes['tax']),\n shipping: parseNumber(resource.attributes['shipping']),\n discount: parseNumber(resource.attributes['discount']),\n total: parseNumber(resource.attributes['total']),\n shippingAddressUniqueId: parseString(resource.attributes['shipping_address_unique_id']),\n billingAddressUniqueId: parseString(resource.attributes['billing_address_unique_id']),\n notes: parseString(resource.attributes['notes']),\n paidAt: parseDate(resource.attributes['paid_at']),\n shippedAt: parseDate(resource.attributes['shipped_at']),\n deliveredAt: parseDate(resource.attributes['delivered_at']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n }),\n};\n"],"names":["parseString","parseDate","parseNumber","parseOrderStatus","orderMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","displayId","userUniqueId","status","subtotal","tax","shipping","discount","total","shippingAddressUniqueId","billingAddressUniqueId","notes","paidAt","shippedAt","deliveredAt","payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,UAAU;AAEhF,OAAO,MAAMC,cAAqC;IAChDC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUT,YAAYO,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWV,UAAUM,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWZ,UAAUM,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,WAAWd,YAAYO,SAASG,UAAU,CAAC,aAAa,KAAKH,SAASC,EAAE;YACxEO,cAAcf,YAAYO,SAASG,UAAU,CAAC,iBAAiB,KAAK;YACpEM,QAAQb,iBAAiBI,SAASG,UAAU,CAAC,SAAS;YACtDO,UAAUf,YAAYK,SAASG,UAAU,CAAC,WAAW;YACrDQ,KAAKhB,YAAYK,SAASG,UAAU,CAAC,MAAM;YAC3CS,UAAUjB,YAAYK,SAASG,UAAU,CAAC,WAAW;YACrDU,UAAUlB,YAAYK,SAASG,UAAU,CAAC,WAAW;YACrDW,OAAOnB,YAAYK,SAASG,UAAU,CAAC,QAAQ;YAC/CY,yBAAyBtB,YAAYO,SAASG,UAAU,CAAC,6BAA6B;YACtFa,wBAAwBvB,YAAYO,SAASG,UAAU,CAAC,4BAA4B;YACpFc,OAAOxB,YAAYO,SAASG,UAAU,CAAC,QAAQ;YAC/Ce,QAAQxB,UAAUM,SAASG,UAAU,CAAC,UAAU;YAChDgB,WAAWzB,UAAUM,SAASG,UAAU,CAAC,aAAa;YACtDiB,aAAa1B,UAAUM,SAASG,UAAU,CAAC,eAAe;YAC1DkB,SAASrB,SAASG,UAAU,CAAC,UAAU;QACzC,CAAA;AACF,EAAE"}
@@ -1,21 +0,0 @@
1
- import { parseString, parseDate, parseNumber, parsePaymentStatus } from './utils';
2
- export const paymentMapper = {
3
- type: 'Payment',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- orderUniqueId: parseString(resource.attributes['order_unique_id']) || '',
10
- paymentMethod: parseString(resource.attributes['payment_method']) || '',
11
- paymentProvider: parseString(resource.attributes['payment_provider']) || '',
12
- transactionId: parseString(resource.attributes['transaction_id']),
13
- amount: parseNumber(resource.attributes['amount']),
14
- currency: parseString(resource.attributes['currency']) || 'USD',
15
- status: parsePaymentStatus(resource.attributes['status']),
16
- paidAt: parseDate(resource.attributes['paid_at']),
17
- payload: resource.attributes['payload']
18
- })
19
- };
20
-
21
- //# sourceMappingURL=payment.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/payment.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Payment } from '../types/payment';\nimport { parseString, parseDate, parseNumber, parsePaymentStatus } from './utils';\n\nexport const paymentMapper: ResourceMapper<Payment> = {\n type: 'Payment',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n orderUniqueId: parseString(resource.attributes['order_unique_id']) || '',\n paymentMethod: parseString(resource.attributes['payment_method']) || '',\n paymentProvider: parseString(resource.attributes['payment_provider']) || '',\n transactionId: parseString(resource.attributes['transaction_id']),\n amount: parseNumber(resource.attributes['amount']),\n currency: parseString(resource.attributes['currency']) || 'USD',\n status: parsePaymentStatus(resource.attributes['status']),\n paidAt: parseDate(resource.attributes['paid_at']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n }),\n};\n"],"names":["parseString","parseDate","parseNumber","parsePaymentStatus","paymentMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","orderUniqueId","paymentMethod","paymentProvider","transactionId","amount","currency","status","paidAt","payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,WAAW,EAAEC,kBAAkB,QAAQ,UAAU;AAElF,OAAO,MAAMC,gBAAyC;IACpDC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUT,YAAYO,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWV,UAAUM,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWZ,UAAUM,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,eAAed,YAAYO,SAASG,UAAU,CAAC,kBAAkB,KAAK;YACtEK,eAAef,YAAYO,SAASG,UAAU,CAAC,iBAAiB,KAAK;YACrEM,iBAAiBhB,YAAYO,SAASG,UAAU,CAAC,mBAAmB,KAAK;YACzEO,eAAejB,YAAYO,SAASG,UAAU,CAAC,iBAAiB;YAChEQ,QAAQhB,YAAYK,SAASG,UAAU,CAAC,SAAS;YACjDS,UAAUnB,YAAYO,SAASG,UAAU,CAAC,WAAW,KAAK;YAC1DU,QAAQjB,mBAAmBI,SAASG,UAAU,CAAC,SAAS;YACxDW,QAAQpB,UAAUM,SAASG,UAAU,CAAC,UAAU;YAChDY,SAASf,SAASG,UAAU,CAAC,UAAU;QACzC,CAAA;AACF,EAAE"}
@@ -1,24 +0,0 @@
1
- import { parseString, parseDate, parseNumber, parseSubscriptionStatus, parseSubscriptionInterval } from './utils';
2
- export const subscriptionMapper = {
3
- type: 'Subscription',
4
- map: (resource)=>({
5
- id: resource.id,
6
- uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
7
- createdAt: parseDate(resource.attributes['created_at']) || new Date(),
8
- updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
9
- userUniqueId: parseString(resource.attributes['user_unique_id']) || '',
10
- planUniqueId: parseString(resource.attributes['plan_unique_id']) || '',
11
- planName: parseString(resource.attributes['plan_name']) || '',
12
- price: parseNumber(resource.attributes['price']),
13
- currency: parseString(resource.attributes['currency']) || 'USD',
14
- interval: parseSubscriptionInterval(resource.attributes['interval']),
15
- status: parseSubscriptionStatus(resource.attributes['status']),
16
- startDate: parseDate(resource.attributes['start_date']) || new Date(),
17
- endDate: parseDate(resource.attributes['end_date']),
18
- nextBillingDate: parseDate(resource.attributes['next_billing_date']),
19
- cancelledAt: parseDate(resource.attributes['cancelled_at']),
20
- payload: resource.attributes['payload']
21
- })
22
- };
23
-
24
- //# sourceMappingURL=subscription.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/subscription.mapper.ts"],"sourcesContent":["import type { ResourceMapper } from '@23blocks/jsonapi-codec';\nimport type { Subscription } from '../types/subscription';\nimport { parseString, parseDate, parseNumber, parseSubscriptionStatus, parseSubscriptionInterval } from './utils';\n\nexport const subscriptionMapper: ResourceMapper<Subscription> = {\n type: 'Subscription',\n map: (resource) => ({\n id: resource.id,\n uniqueId: parseString(resource.attributes['unique_id']) || resource.id,\n createdAt: parseDate(resource.attributes['created_at']) || new Date(),\n updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),\n\n userUniqueId: parseString(resource.attributes['user_unique_id']) || '',\n planUniqueId: parseString(resource.attributes['plan_unique_id']) || '',\n planName: parseString(resource.attributes['plan_name']) || '',\n price: parseNumber(resource.attributes['price']),\n currency: parseString(resource.attributes['currency']) || 'USD',\n interval: parseSubscriptionInterval(resource.attributes['interval']),\n status: parseSubscriptionStatus(resource.attributes['status']),\n startDate: parseDate(resource.attributes['start_date']) || new Date(),\n endDate: parseDate(resource.attributes['end_date']),\n nextBillingDate: parseDate(resource.attributes['next_billing_date']),\n cancelledAt: parseDate(resource.attributes['cancelled_at']),\n payload: resource.attributes['payload'] as Record<string, unknown> | undefined,\n }),\n};\n"],"names":["parseString","parseDate","parseNumber","parseSubscriptionStatus","parseSubscriptionInterval","subscriptionMapper","type","map","resource","id","uniqueId","attributes","createdAt","Date","updatedAt","userUniqueId","planUniqueId","planName","price","currency","interval","status","startDate","endDate","nextBillingDate","cancelledAt","payload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,WAAW,EAAEC,SAAS,EAAEC,WAAW,EAAEC,uBAAuB,EAAEC,yBAAyB,QAAQ,UAAU;AAElH,OAAO,MAAMC,qBAAmD;IAC9DC,MAAM;IACNC,KAAK,CAACC,WAAc,CAAA;YAClBC,IAAID,SAASC,EAAE;YACfC,UAAUV,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAKH,SAASC,EAAE;YACtEG,WAAWX,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DC,WAAWb,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAE/DE,cAAcf,YAAYQ,SAASG,UAAU,CAAC,iBAAiB,KAAK;YACpEK,cAAchB,YAAYQ,SAASG,UAAU,CAAC,iBAAiB,KAAK;YACpEM,UAAUjB,YAAYQ,SAASG,UAAU,CAAC,YAAY,KAAK;YAC3DO,OAAOhB,YAAYM,SAASG,UAAU,CAAC,QAAQ;YAC/CQ,UAAUnB,YAAYQ,SAASG,UAAU,CAAC,WAAW,KAAK;YAC1DS,UAAUhB,0BAA0BI,SAASG,UAAU,CAAC,WAAW;YACnEU,QAAQlB,wBAAwBK,SAASG,UAAU,CAAC,SAAS;YAC7DW,WAAWrB,UAAUO,SAASG,UAAU,CAAC,aAAa,KAAK,IAAIE;YAC/DU,SAAStB,UAAUO,SAASG,UAAU,CAAC,WAAW;YAClDa,iBAAiBvB,UAAUO,SAASG,UAAU,CAAC,oBAAoB;YACnEc,aAAaxB,UAAUO,SAASG,UAAU,CAAC,eAAe;YAC1De,SAASlB,SAASG,UAAU,CAAC,UAAU;QACzC,CAAA;AACF,EAAE"}
@@ -1,111 +0,0 @@
1
- /**
2
- * Parse a string value, returning undefined for empty/undefined
3
- */ export function parseString(value) {
4
- if (value === null || value === undefined) {
5
- return undefined;
6
- }
7
- const str = String(value);
8
- return str.length > 0 ? str : undefined;
9
- }
10
- /**
11
- * Parse a date value
12
- */ export function parseDate(value) {
13
- if (value === null || value === undefined) {
14
- return undefined;
15
- }
16
- if (value instanceof Date) {
17
- return value;
18
- }
19
- if (typeof value === 'string' || typeof value === 'number') {
20
- const date = new Date(value);
21
- return isNaN(date.getTime()) ? undefined : date;
22
- }
23
- return undefined;
24
- }
25
- /**
26
- * Parse a boolean value
27
- */ export function parseBoolean(value) {
28
- if (typeof value === 'boolean') {
29
- return value;
30
- }
31
- if (value === 'true' || value === '1' || value === 1) {
32
- return true;
33
- }
34
- return false;
35
- }
36
- /**
37
- * Parse an array of strings
38
- */ export function parseStringArray(value) {
39
- if (value === null || value === undefined) {
40
- return undefined;
41
- }
42
- if (Array.isArray(value)) {
43
- return value.map(String);
44
- }
45
- return undefined;
46
- }
47
- /**
48
- * Parse a number value
49
- */ export function parseNumber(value) {
50
- if (value === null || value === undefined) {
51
- return 0;
52
- }
53
- const num = Number(value);
54
- return isNaN(num) ? 0 : num;
55
- }
56
- /**
57
- * Parse an optional number value
58
- */ export function parseOptionalNumber(value) {
59
- if (value === null || value === undefined) {
60
- return undefined;
61
- }
62
- const num = Number(value);
63
- return isNaN(num) ? undefined : num;
64
- }
65
- /**
66
- * Parse entity status
67
- */ export function parseStatus(value) {
68
- const status = parseString(value);
69
- if (status === 'active' || status === 'inactive' || status === 'pending' || status === 'archived' || status === 'deleted') {
70
- return status;
71
- }
72
- return 'active';
73
- }
74
- /**
75
- * Parse order status
76
- */ export function parseOrderStatus(value) {
77
- const status = parseString(value);
78
- if (status === 'pending' || status === 'confirmed' || status === 'processing' || status === 'shipped' || status === 'delivered' || status === 'cancelled') {
79
- return status;
80
- }
81
- return 'pending';
82
- }
83
- /**
84
- * Parse payment status
85
- */ export function parsePaymentStatus(value) {
86
- const status = parseString(value);
87
- if (status === 'pending' || status === 'completed' || status === 'failed' || status === 'refunded') {
88
- return status;
89
- }
90
- return 'pending';
91
- }
92
- /**
93
- * Parse subscription status
94
- */ export function parseSubscriptionStatus(value) {
95
- const status = parseString(value);
96
- if (status === 'active' || status === 'cancelled' || status === 'expired' || status === 'paused') {
97
- return status;
98
- }
99
- return 'active';
100
- }
101
- /**
102
- * Parse subscription interval
103
- */ export function parseSubscriptionInterval(value) {
104
- const interval = parseString(value);
105
- if (interval === 'monthly' || interval === 'yearly') {
106
- return interval;
107
- }
108
- return 'monthly';
109
- }
110
-
111
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/utils.ts"],"sourcesContent":["/**\n * Parse a string value, returning undefined for empty/undefined\n */\nexport function parseString(value: unknown): string | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n const str = String(value);\n return str.length > 0 ? str : undefined;\n}\n\n/**\n * Parse a date value\n */\nexport function parseDate(value: unknown): Date | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n if (value instanceof Date) {\n return value;\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n const date = new Date(value);\n return isNaN(date.getTime()) ? undefined : date;\n }\n\n return undefined;\n}\n\n/**\n * Parse a boolean value\n */\nexport function parseBoolean(value: unknown): boolean {\n if (typeof value === 'boolean') {\n return value;\n }\n if (value === 'true' || value === '1' || value === 1) {\n return true;\n }\n return false;\n}\n\n/**\n * Parse an array of strings\n */\nexport function parseStringArray(value: unknown): string[] | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Array.isArray(value)) {\n return value.map(String);\n }\n return undefined;\n}\n\n/**\n * Parse a number value\n */\nexport function parseNumber(value: unknown): number {\n if (value === null || value === undefined) {\n return 0;\n }\n const num = Number(value);\n return isNaN(num) ? 0 : num;\n}\n\n/**\n * Parse an optional number value\n */\nexport function parseOptionalNumber(value: unknown): number | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n const num = Number(value);\n return isNaN(num) ? undefined : num;\n}\n\n/**\n * Parse entity status\n */\nexport function parseStatus(value: unknown): 'active' | 'inactive' | 'pending' | 'archived' | 'deleted' {\n const status = parseString(value);\n if (status === 'active' || status === 'inactive' || status === 'pending' || status === 'archived' || status === 'deleted') {\n return status;\n }\n return 'active';\n}\n\n/**\n * Parse order status\n */\nexport function parseOrderStatus(value: unknown): 'pending' | 'confirmed' | 'processing' | 'shipped' | 'delivered' | 'cancelled' {\n const status = parseString(value);\n if (status === 'pending' || status === 'confirmed' || status === 'processing' || status === 'shipped' || status === 'delivered' || status === 'cancelled') {\n return status;\n }\n return 'pending';\n}\n\n/**\n * Parse payment status\n */\nexport function parsePaymentStatus(value: unknown): 'pending' | 'completed' | 'failed' | 'refunded' {\n const status = parseString(value);\n if (status === 'pending' || status === 'completed' || status === 'failed' || status === 'refunded') {\n return status;\n }\n return 'pending';\n}\n\n/**\n * Parse subscription status\n */\nexport function parseSubscriptionStatus(value: unknown): 'active' | 'cancelled' | 'expired' | 'paused' {\n const status = parseString(value);\n if (status === 'active' || status === 'cancelled' || status === 'expired' || status === 'paused') {\n return status;\n }\n return 'active';\n}\n\n/**\n * Parse subscription interval\n */\nexport function parseSubscriptionInterval(value: unknown): 'monthly' | 'yearly' {\n const interval = parseString(value);\n if (interval === 'monthly' || interval === 'yearly') {\n return interval;\n }\n return 'monthly';\n}\n"],"names":["parseString","value","undefined","str","String","length","parseDate","Date","date","isNaN","getTime","parseBoolean","parseStringArray","Array","isArray","map","parseNumber","num","Number","parseOptionalNumber","parseStatus","status","parseOrderStatus","parsePaymentStatus","parseSubscriptionStatus","parseSubscriptionInterval","interval"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;CAEC,GACD,OAAO,SAASA,YAAYC,KAAc;IACxC,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAOA;IACT;IACA,MAAMC,MAAMC,OAAOH;IACnB,OAAOE,IAAIE,MAAM,GAAG,IAAIF,MAAMD;AAChC;AAEA;;CAEC,GACD,OAAO,SAASI,UAAUL,KAAc;IACtC,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAOA;IACT;IAEA,IAAID,iBAAiBM,MAAM;QACzB,OAAON;IACT;IAEA,IAAI,OAAOA,UAAU,YAAY,OAAOA,UAAU,UAAU;QAC1D,MAAMO,OAAO,IAAID,KAAKN;QACtB,OAAOQ,MAAMD,KAAKE,OAAO,MAAMR,YAAYM;IAC7C;IAEA,OAAON;AACT;AAEA;;CAEC,GACD,OAAO,SAASS,aAAaV,KAAc;IACzC,IAAI,OAAOA,UAAU,WAAW;QAC9B,OAAOA;IACT;IACA,IAAIA,UAAU,UAAUA,UAAU,OAAOA,UAAU,GAAG;QACpD,OAAO;IACT;IACA,OAAO;AACT;AAEA;;CAEC,GACD,OAAO,SAASW,iBAAiBX,KAAc;IAC7C,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAOA;IACT;IACA,IAAIW,MAAMC,OAAO,CAACb,QAAQ;QACxB,OAAOA,MAAMc,GAAG,CAACX;IACnB;IACA,OAAOF;AACT;AAEA;;CAEC,GACD,OAAO,SAASc,YAAYf,KAAc;IACxC,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAO;IACT;IACA,MAAMe,MAAMC,OAAOjB;IACnB,OAAOQ,MAAMQ,OAAO,IAAIA;AAC1B;AAEA;;CAEC,GACD,OAAO,SAASE,oBAAoBlB,KAAc;IAChD,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAOA;IACT;IACA,MAAMe,MAAMC,OAAOjB;IACnB,OAAOQ,MAAMQ,OAAOf,YAAYe;AAClC;AAEA;;CAEC,GACD,OAAO,SAASG,YAAYnB,KAAc;IACxC,MAAMoB,SAASrB,YAAYC;IAC3B,IAAIoB,WAAW,YAAYA,WAAW,cAAcA,WAAW,aAAaA,WAAW,cAAcA,WAAW,WAAW;QACzH,OAAOA;IACT;IACA,OAAO;AACT;AAEA;;CAEC,GACD,OAAO,SAASC,iBAAiBrB,KAAc;IAC7C,MAAMoB,SAASrB,YAAYC;IAC3B,IAAIoB,WAAW,aAAaA,WAAW,eAAeA,WAAW,gBAAgBA,WAAW,aAAaA,WAAW,eAAeA,WAAW,aAAa;QACzJ,OAAOA;IACT;IACA,OAAO;AACT;AAEA;;CAEC,GACD,OAAO,SAASE,mBAAmBtB,KAAc;IAC/C,MAAMoB,SAASrB,YAAYC;IAC3B,IAAIoB,WAAW,aAAaA,WAAW,eAAeA,WAAW,YAAYA,WAAW,YAAY;QAClG,OAAOA;IACT;IACA,OAAO;AACT;AAEA;;CAEC,GACD,OAAO,SAASG,wBAAwBvB,KAAc;IACpD,MAAMoB,SAASrB,YAAYC;IAC3B,IAAIoB,WAAW,YAAYA,WAAW,eAAeA,WAAW,aAAaA,WAAW,UAAU;QAChG,OAAOA;IACT;IACA,OAAO;AACT;AAEA;;CAEC,GACD,OAAO,SAASI,0BAA0BxB,KAAc;IACtD,MAAMyB,WAAW1B,YAAYC;IAC7B,IAAIyB,aAAa,aAAaA,aAAa,UAAU;QACnD,OAAOA;IACT;IACA,OAAO;AACT"}
@@ -1,22 +0,0 @@
1
- import { createOrdersService, createOrderDetailsService, createPaymentsService, createSubscriptionsService } from './services';
2
- export function createSalesBlock(transport, config) {
3
- return {
4
- orders: createOrdersService(transport, config),
5
- orderDetails: createOrderDetailsService(transport, config),
6
- payments: createPaymentsService(transport, config),
7
- subscriptions: createSubscriptionsService(transport, config)
8
- };
9
- }
10
- export const salesBlockMetadata = {
11
- name: 'sales',
12
- version: '0.1.0',
13
- description: 'Sales management - orders, payments, subscriptions, and transactions',
14
- resourceTypes: [
15
- 'Order',
16
- 'OrderDetail',
17
- 'Payment',
18
- 'Subscription'
19
- ]
20
- };
21
-
22
- //# sourceMappingURL=sales.block.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/sales.block.ts"],"sourcesContent":["import type { Transport, BlockConfig, BlockMetadata } from '@23blocks/contracts';\nimport {\n createOrdersService,\n createOrderDetailsService,\n createPaymentsService,\n createSubscriptionsService,\n type OrdersService,\n type OrderDetailsService,\n type PaymentsService,\n type SubscriptionsService,\n} from './services';\n\nexport interface SalesBlockConfig extends BlockConfig {\n appId: string;\n tenantId?: string;\n}\n\nexport interface SalesBlock {\n orders: OrdersService;\n orderDetails: OrderDetailsService;\n payments: PaymentsService;\n subscriptions: SubscriptionsService;\n}\n\nexport function createSalesBlock(\n transport: Transport,\n config: SalesBlockConfig\n): SalesBlock {\n return {\n orders: createOrdersService(transport, config),\n orderDetails: createOrderDetailsService(transport, config),\n payments: createPaymentsService(transport, config),\n subscriptions: createSubscriptionsService(transport, config),\n };\n}\n\nexport const salesBlockMetadata: BlockMetadata = {\n name: 'sales',\n version: '0.1.0',\n description: 'Sales management - orders, payments, subscriptions, and transactions',\n resourceTypes: [\n 'Order',\n 'OrderDetail',\n 'Payment',\n 'Subscription',\n ],\n};\n"],"names":["createOrdersService","createOrderDetailsService","createPaymentsService","createSubscriptionsService","createSalesBlock","transport","config","orders","orderDetails","payments","subscriptions","salesBlockMetadata","name","version","description","resourceTypes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":"AACA,SACEA,mBAAmB,EACnBC,yBAAyB,EACzBC,qBAAqB,EACrBC,0BAA0B,QAKrB,aAAa;AAcpB,OAAO,SAASC,iBACdC,SAAoB,EACpBC,MAAwB;IAExB,OAAO;QACLC,QAAQP,oBAAoBK,WAAWC;QACvCE,cAAcP,0BAA0BI,WAAWC;QACnDG,UAAUP,sBAAsBG,WAAWC;QAC3CI,eAAeP,2BAA2BE,WAAWC;IACvD;AACF;AAEA,OAAO,MAAMK,qBAAoC;IAC/CC,MAAM;IACNC,SAAS;IACTC,aAAa;IACbC,eAAe;QACb;QACA;QACA;QACA;KACD;AACH,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/services/index.ts"],"sourcesContent":["export * from './orders.service';\nexport * from './order-details.service';\nexport * from './payments.service';\nexport * from './subscriptions.service';\n"],"names":[],"rangeMappings":";;;","mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,0BAA0B;AACxC,cAAc,qBAAqB;AACnC,cAAc,0BAA0B"}