@unchainedshop/core-orders 3.0.0-rc4 → 3.0.0-rc6

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 (121) hide show
  1. package/package.json +4 -4
  2. package/lib/db/OrderDiscountTrigger.d.ts +0 -5
  3. package/lib/db/OrderDiscountTrigger.d.ts.map +0 -1
  4. package/lib/db/OrderDiscountTrigger.js +0 -6
  5. package/lib/db/OrderDiscountTrigger.js.map +0 -1
  6. package/lib/director/OrderDiscountAdapter.d.ts +0 -4
  7. package/lib/director/OrderDiscountAdapter.d.ts.map +0 -1
  8. package/lib/director/OrderDiscountAdapter.js +0 -3
  9. package/lib/director/OrderDiscountAdapter.js.map +0 -1
  10. package/lib/director/OrderDiscountConfiguration.d.ts +0 -6
  11. package/lib/director/OrderDiscountConfiguration.d.ts.map +0 -1
  12. package/lib/director/OrderDiscountConfiguration.js +0 -2
  13. package/lib/director/OrderDiscountConfiguration.js.map +0 -1
  14. package/lib/director/OrderDiscountDirector.d.ts +0 -3
  15. package/lib/director/OrderDiscountDirector.d.ts.map +0 -1
  16. package/lib/director/OrderDiscountDirector.js +0 -3
  17. package/lib/director/OrderDiscountDirector.js.map +0 -1
  18. package/lib/director/OrderPricingAdapter.d.ts +0 -22
  19. package/lib/director/OrderPricingAdapter.d.ts.map +0 -1
  20. package/lib/director/OrderPricingAdapter.js +0 -25
  21. package/lib/director/OrderPricingAdapter.js.map +0 -1
  22. package/lib/director/OrderPricingDirector.d.ts +0 -18
  23. package/lib/director/OrderPricingDirector.d.ts.map +0 -1
  24. package/lib/director/OrderPricingDirector.js +0 -39
  25. package/lib/director/OrderPricingDirector.js.map +0 -1
  26. package/lib/director/OrderPricingSheet.d.ts +0 -36
  27. package/lib/director/OrderPricingSheet.d.ts.map +0 -1
  28. package/lib/director/OrderPricingSheet.js +0 -108
  29. package/lib/director/OrderPricingSheet.js.map +0 -1
  30. package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.d.ts +0 -24
  31. package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.d.ts.map +0 -1
  32. package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.js +0 -101
  33. package/lib/module/configureOrderDeliveriesModule_BACKUP_54554.js.map +0 -1
  34. package/lib/module/configureOrderDeliveriesModule_BASE_54554.d.ts +0 -36
  35. package/lib/module/configureOrderDeliveriesModule_BASE_54554.d.ts.map +0 -1
  36. package/lib/module/configureOrderDeliveriesModule_BASE_54554.js +0 -162
  37. package/lib/module/configureOrderDeliveriesModule_BASE_54554.js.map +0 -1
  38. package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.d.ts +0 -23
  39. package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.d.ts.map +0 -1
  40. package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.js +0 -97
  41. package/lib/module/configureOrderDeliveriesModule_LOCAL_54554.js.map +0 -1
  42. package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.d.ts +0 -37
  43. package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.d.ts.map +0 -1
  44. package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.js +0 -166
  45. package/lib/module/configureOrderDeliveriesModule_REMOTE_54554.js.map +0 -1
  46. package/lib/module/configureOrderDiscountsModule_BACKUP_55046.d.ts +0 -26
  47. package/lib/module/configureOrderDiscountsModule_BACKUP_55046.d.ts.map +0 -1
  48. package/lib/module/configureOrderDiscountsModule_BACKUP_55046.js +0 -69
  49. package/lib/module/configureOrderDiscountsModule_BACKUP_55046.js.map +0 -1
  50. package/lib/module/configureOrderDiscountsModule_BASE_55046.d.ts +0 -26
  51. package/lib/module/configureOrderDiscountsModule_BASE_55046.d.ts.map +0 -1
  52. package/lib/module/configureOrderDiscountsModule_BASE_55046.js +0 -178
  53. package/lib/module/configureOrderDiscountsModule_BASE_55046.js.map +0 -1
  54. package/lib/module/configureOrderDiscountsModule_LOCAL_55046.d.ts +0 -25
  55. package/lib/module/configureOrderDiscountsModule_LOCAL_55046.d.ts.map +0 -1
  56. package/lib/module/configureOrderDiscountsModule_LOCAL_55046.js +0 -65
  57. package/lib/module/configureOrderDiscountsModule_LOCAL_55046.js.map +0 -1
  58. package/lib/module/configureOrderDiscountsModule_REMOTE_55046.d.ts +0 -27
  59. package/lib/module/configureOrderDiscountsModule_REMOTE_55046.d.ts.map +0 -1
  60. package/lib/module/configureOrderDiscountsModule_REMOTE_55046.js +0 -182
  61. package/lib/module/configureOrderDiscountsModule_REMOTE_55046.js.map +0 -1
  62. package/lib/module/configureOrderPaymentsModule_BACKUP_55464.d.ts +0 -32
  63. package/lib/module/configureOrderPaymentsModule_BACKUP_55464.d.ts.map +0 -1
  64. package/lib/module/configureOrderPaymentsModule_BACKUP_55464.js +0 -135
  65. package/lib/module/configureOrderPaymentsModule_BACKUP_55464.js.map +0 -1
  66. package/lib/module/configureOrderPaymentsModule_BACKUP_55877.d.ts +0 -32
  67. package/lib/module/configureOrderPaymentsModule_BACKUP_55877.d.ts.map +0 -1
  68. package/lib/module/configureOrderPaymentsModule_BACKUP_55877.js +0 -135
  69. package/lib/module/configureOrderPaymentsModule_BACKUP_55877.js.map +0 -1
  70. package/lib/module/configureOrderPaymentsModule_BASE_55464.d.ts +0 -51
  71. package/lib/module/configureOrderPaymentsModule_BASE_55464.d.ts.map +0 -1
  72. package/lib/module/configureOrderPaymentsModule_BASE_55464.js +0 -243
  73. package/lib/module/configureOrderPaymentsModule_BASE_55464.js.map +0 -1
  74. package/lib/module/configureOrderPaymentsModule_BASE_55877.d.ts +0 -51
  75. package/lib/module/configureOrderPaymentsModule_BASE_55877.d.ts.map +0 -1
  76. package/lib/module/configureOrderPaymentsModule_BASE_55877.js +0 -243
  77. package/lib/module/configureOrderPaymentsModule_BASE_55877.js.map +0 -1
  78. package/lib/module/configureOrderPaymentsModule_LOCAL_55464.d.ts +0 -31
  79. package/lib/module/configureOrderPaymentsModule_LOCAL_55464.d.ts.map +0 -1
  80. package/lib/module/configureOrderPaymentsModule_LOCAL_55464.js +0 -131
  81. package/lib/module/configureOrderPaymentsModule_LOCAL_55464.js.map +0 -1
  82. package/lib/module/configureOrderPaymentsModule_LOCAL_55877.d.ts +0 -31
  83. package/lib/module/configureOrderPaymentsModule_LOCAL_55877.d.ts.map +0 -1
  84. package/lib/module/configureOrderPaymentsModule_LOCAL_55877.js +0 -131
  85. package/lib/module/configureOrderPaymentsModule_LOCAL_55877.js.map +0 -1
  86. package/lib/module/configureOrderPaymentsModule_REMOTE_55464.d.ts +0 -52
  87. package/lib/module/configureOrderPaymentsModule_REMOTE_55464.d.ts.map +0 -1
  88. package/lib/module/configureOrderPaymentsModule_REMOTE_55464.js +0 -247
  89. package/lib/module/configureOrderPaymentsModule_REMOTE_55464.js.map +0 -1
  90. package/lib/module/configureOrderPaymentsModule_REMOTE_55877.d.ts +0 -52
  91. package/lib/module/configureOrderPaymentsModule_REMOTE_55877.d.ts.map +0 -1
  92. package/lib/module/configureOrderPaymentsModule_REMOTE_55877.js +0 -247
  93. package/lib/module/configureOrderPaymentsModule_REMOTE_55877.js.map +0 -1
  94. package/lib/module/configureOrderPositionsModule_BACKUP_56197.d.ts +0 -44
  95. package/lib/module/configureOrderPositionsModule_BACKUP_56197.d.ts.map +0 -1
  96. package/lib/module/configureOrderPositionsModule_BACKUP_56197.js +0 -138
  97. package/lib/module/configureOrderPositionsModule_BACKUP_56197.js.map +0 -1
  98. package/lib/module/configureOrderPositionsModule_BASE_56197.d.ts +0 -60
  99. package/lib/module/configureOrderPositionsModule_BASE_56197.d.ts.map +0 -1
  100. package/lib/module/configureOrderPositionsModule_BASE_56197.js +0 -201
  101. package/lib/module/configureOrderPositionsModule_BASE_56197.js.map +0 -1
  102. package/lib/module/configureOrderPositionsModule_LOCAL_56197.d.ts +0 -43
  103. package/lib/module/configureOrderPositionsModule_LOCAL_56197.d.ts.map +0 -1
  104. package/lib/module/configureOrderPositionsModule_LOCAL_56197.js +0 -134
  105. package/lib/module/configureOrderPositionsModule_LOCAL_56197.js.map +0 -1
  106. package/lib/module/configureOrderPositionsModule_REMOTE_56197.d.ts +0 -61
  107. package/lib/module/configureOrderPositionsModule_REMOTE_56197.d.ts.map +0 -1
  108. package/lib/module/configureOrderPositionsModule_REMOTE_56197.js +0 -205
  109. package/lib/module/configureOrderPositionsModule_REMOTE_56197.js.map +0 -1
  110. package/lib/module/configureOrdersModule-processing.d.ts +0 -28
  111. package/lib/module/configureOrdersModule-processing.d.ts.map +0 -1
  112. package/lib/module/configureOrdersModule-processing.js +0 -341
  113. package/lib/module/configureOrdersModule-processing.js.map +0 -1
  114. package/lib/module/configureOrdersModule-transformations.d.ts +0 -19
  115. package/lib/module/configureOrdersModule-transformations.d.ts.map +0 -1
  116. package/lib/module/configureOrdersModule-transformations.js +0 -111
  117. package/lib/module/configureOrdersModule-transformations.js.map +0 -1
  118. package/lib/types.d.ts +0 -101
  119. package/lib/types.d.ts.map +0 -1
  120. package/lib/types.js +0 -20
  121. package/lib/types.js.map +0 -1
@@ -1,26 +0,0 @@
1
- import { mongodb } from '@unchainedshop/mongodb';
2
- import { Order, OrderDiscount } from '../types.js';
3
- import { IPricingSheet, PricingCalculation, DiscountAdapterActions, DiscountContext } from '@unchainedshop/utils';
4
- export type OrderDiscountsModule = {
5
- findOrderDiscount: (params: {
6
- discountId: string;
7
- }, options?: mongodb.FindOptions) => Promise<OrderDiscount>;
8
- findOrderDiscounts: (params: {
9
- orderId: string;
10
- }) => Promise<Array<OrderDiscount>>;
11
- interface: (orderDiscount: OrderDiscount, unchainedAPI: any) => Promise<DiscountAdapterActions<any>>;
12
- isValid: (orderDiscount: OrderDiscount, unchainedAPI: any) => Promise<boolean>;
13
- configurationForPricingAdapterKey: (orderDiscount: OrderDiscount, adapterKey: string, calculationSheet: IPricingSheet<PricingCalculation>, pricingContext: DiscountContext) => Promise<any>;
14
- createManualOrderDiscount: (params: {
15
- code: string;
16
- order: Order;
17
- }, unchainedAPI: any) => Promise<OrderDiscount>;
18
- create: (doc: OrderDiscount) => Promise<OrderDiscount>;
19
- update: (orderDiscountId: string, doc: OrderDiscount) => Promise<OrderDiscount>;
20
- delete: (orderDiscountId: string, unchainedAPI: any) => Promise<OrderDiscount>;
21
- };
22
- export declare const buildFindByIdSelector: (orderDiscountId: string) => mongodb.Filter<OrderDiscount>;
23
- export declare const configureOrderDiscountsModule: ({ OrderDiscounts, }: {
24
- OrderDiscounts: mongodb.Collection<OrderDiscount>;
25
- }) => OrderDiscountsModule;
26
- //# sourceMappingURL=configureOrderDiscountsModule_BASE_55046.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureOrderDiscountsModule_BASE_55046.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule_BASE_55046.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,oBAAoB,GAAG;IAEjC,iBAAiB,EAAE,CACjB,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAC1B,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,kBAAkB,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAGnF,SAAS,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhG,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAG1E,iCAAiC,EAAE,CACjC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,EACnD,cAAc,EAAE,eAAe,KAC5B,OAAO,CAAC,GAAG,CAAC,CAAC;IAGlB,yBAAyB,EAAE,CACzB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EACtC,YAAY,KAAA,KACT,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5B,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAChF,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3E,CAAC;AAcF,eAAO,MAAM,qBAAqB,oBAAqB,MAAM,KAClB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzE,eAAO,MAAM,6BAA6B,wBAEvC;IACD,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACnD,KAAG,oBA+LH,CAAC"}
@@ -1,178 +0,0 @@
1
- import { emit, registerEvents } from '@unchainedshop/events';
2
- import { generateDbFilterById, generateDbObjectId } from '@unchainedshop/mongodb';
3
- import { OrderDiscountTrigger } from '../db/OrderDiscountTrigger.js';
4
- import { OrderDiscountDirector } from '../director/OrderDiscountDirector.js';
5
- const ORDER_DISCOUNT_EVENTS = [
6
- 'ORDER_CREATE_DISCOUNT',
7
- 'ORDER_UPDATE_DISCOUNT',
8
- 'ORDER_REMOVE_DISCOUNT',
9
- 'ORDER_ADD_DISCOUNT',
10
- ];
11
- const OrderDiscountErrorCode = {
12
- CODE_ALREADY_PRESENT: 'CODE_ALREADY_PRESENT',
13
- CODE_NOT_VALID: 'CODE_NOT_VALID',
14
- };
15
- export const buildFindByIdSelector = (orderDiscountId) => generateDbFilterById(orderDiscountId);
16
- export const configureOrderDiscountsModule = ({ OrderDiscounts, }) => {
17
- registerEvents(ORDER_DISCOUNT_EVENTS);
18
- const getAdapter = async (orderDiscount, unchainedAPI) => {
19
- const order = await unchainedAPI.modules.orders.findOrder({
20
- orderId: orderDiscount.orderId,
21
- });
22
- const Adapter = OrderDiscountDirector.getAdapter(orderDiscount.discountKey);
23
- if (!Adapter)
24
- return null;
25
- const adapter = await Adapter.actions({
26
- context: { order, orderDiscount, code: orderDiscount.code, ...unchainedAPI },
27
- });
28
- return adapter;
29
- };
30
- const createDiscount = async (doc) => {
31
- const normalizedTrigger = doc.trigger || OrderDiscountTrigger.USER;
32
- const { insertedId: discountId } = await OrderDiscounts.insertOne({
33
- _id: generateDbObjectId(),
34
- created: new Date(),
35
- ...doc,
36
- trigger: normalizedTrigger,
37
- });
38
- const discount = await OrderDiscounts.findOne(buildFindByIdSelector(discountId));
39
- return discount;
40
- };
41
- const deleteDiscount = async (orderDiscountId, unchainedAPI) => {
42
- const selector = buildFindByIdSelector(orderDiscountId);
43
- const discount = await OrderDiscounts.findOne(selector, {});
44
- if (discount.trigger === OrderDiscountTrigger.USER) {
45
- // Release
46
- const adapter = await getAdapter(discount, unchainedAPI);
47
- if (!adapter)
48
- return null;
49
- await adapter.release();
50
- }
51
- await OrderDiscounts.deleteOne(selector);
52
- await emit('ORDER_REMOVE_DISCOUNT', { discount });
53
- return discount;
54
- };
55
- const updateDiscount = async (orderDiscountId, doc) => {
56
- const discount = await OrderDiscounts.findOneAndUpdate(generateDbFilterById(orderDiscountId), {
57
- $set: {
58
- updated: new Date(),
59
- ...doc,
60
- },
61
- }, { returnDocument: 'after' });
62
- await emit('ORDER_UPDATE_DISCOUNT', { discount });
63
- return discount;
64
- };
65
- const reserveDiscount = async (orderDiscount, unchainedAPI) => {
66
- const adapter = await getAdapter(orderDiscount, unchainedAPI);
67
- if (!adapter)
68
- return null;
69
- const reservation = await adapter.reserve({
70
- code: orderDiscount.code,
71
- });
72
- return updateDiscount(orderDiscount._id, { orderId: orderDiscount.orderId, reservation });
73
- };
74
- const grabDiscount = async ({ code, orderId }, unchainedAPI) => {
75
- const existingDiscount = await OrderDiscounts.findOne({ code, orderId });
76
- if (existingDiscount)
77
- throw new Error(OrderDiscountErrorCode.CODE_ALREADY_PRESENT);
78
- const discount = await OrderDiscounts.findOne({ code, orderId: null });
79
- if (!discount)
80
- return null;
81
- const discountId = discount._id;
82
- try {
83
- const updatedDiscount = await updateDiscount(discountId, { orderId });
84
- const reservedDiscount = await reserveDiscount(updatedDiscount, unchainedAPI);
85
- return reservedDiscount;
86
- }
87
- catch (error) {
88
- // Rollback
89
- await updateDiscount(discountId, { orderId: discount.orderId });
90
- throw error;
91
- }
92
- };
93
- return {
94
- // Queries
95
- findOrderDiscount: async ({ discountId }, options) => {
96
- return OrderDiscounts.findOne(buildFindByIdSelector(discountId), options);
97
- },
98
- findOrderDiscounts: async ({ orderId }) => {
99
- const discounts = OrderDiscounts.find({ orderId });
100
- return discounts.toArray();
101
- },
102
- // Transformations
103
- interface: async (orderDiscount, unchainedAPI) => {
104
- const adapter = await getAdapter(orderDiscount, unchainedAPI);
105
- return adapter;
106
- },
107
- isValid: async (orderDiscount, unchainedAPI) => {
108
- const adapter = await getAdapter(orderDiscount, unchainedAPI);
109
- if (!adapter)
110
- return null;
111
- if (orderDiscount.trigger === OrderDiscountTrigger.SYSTEM) {
112
- return adapter.isValidForSystemTriggering();
113
- }
114
- return adapter.isValidForCodeTriggering({
115
- code: orderDiscount.code,
116
- });
117
- },
118
- // Adapter
119
- configurationForPricingAdapterKey: async (orderDiscount, adapterKey, calculationSheet, unchainedAPI) => {
120
- const adapter = await getAdapter(orderDiscount, unchainedAPI);
121
- if (!adapter)
122
- return null;
123
- return adapter.discountForPricingAdapterKey({
124
- pricingAdapterKey: adapterKey,
125
- calculationSheet,
126
- });
127
- },
128
- // Mutations
129
- createManualOrderDiscount: async ({ order, code }, unchainedAPI) => {
130
- // Try to grab single-usage-discount
131
- if (!code)
132
- throw new Error(OrderDiscountErrorCode.CODE_NOT_VALID);
133
- const fetchedDiscount = await grabDiscount({ code, orderId: order._id }, unchainedAPI);
134
- if (fetchedDiscount)
135
- return fetchedDiscount;
136
- const director = await OrderDiscountDirector.actions({ order, code }, unchainedAPI);
137
- const discountKey = await director.resolveDiscountKeyFromStaticCode({
138
- code,
139
- });
140
- if (discountKey) {
141
- const newDiscount = await createDiscount({
142
- orderId: order._id,
143
- code,
144
- discountKey,
145
- });
146
- try {
147
- const reservedDiscount = await reserveDiscount(newDiscount, unchainedAPI);
148
- await emit('ORDER_ADD_DISCOUNT', { discount: reserveDiscount });
149
- return reservedDiscount;
150
- }
151
- catch (error) {
152
- await deleteDiscount(newDiscount._id, unchainedAPI);
153
- throw error;
154
- }
155
- }
156
- throw new Error(OrderDiscountErrorCode.CODE_NOT_VALID);
157
- },
158
- create: async (doc) => {
159
- const discount = await createDiscount(doc);
160
- if (discount.trigger === OrderDiscountTrigger.USER) {
161
- await emit('ORDER_CREATE_DISCOUNT', { discount });
162
- }
163
- return discount;
164
- },
165
- delete: deleteDiscount,
166
- update: async (orderDiscountId, doc) => {
167
- const discount = await OrderDiscounts.findOneAndUpdate(generateDbFilterById(orderDiscountId), {
168
- $set: {
169
- updated: new Date(),
170
- ...doc,
171
- },
172
- }, { returnDocument: 'after' });
173
- await emit('ORDER_UPDATE_DISCOUNT', { discount });
174
- return discount;
175
- },
176
- };
177
- };
178
- //# sourceMappingURL=configureOrderDiscountsModule_BASE_55046.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureOrderDiscountsModule_BASE_55046.js","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule_BASE_55046.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { mongodb } from '@unchainedshop/mongodb';
2
- import { OrderDiscount } from '../types.js';
3
- export declare const buildFindByIdSelector: (orderDiscountId: string) => mongodb.Filter<OrderDiscount>;
4
- export declare const configureOrderDiscountsModule: ({ OrderDiscounts, }: {
5
- OrderDiscounts: mongodb.Collection<OrderDiscount>;
6
- }) => {
7
- findOrderDiscount: ({ discountId }: {
8
- discountId: string;
9
- }, options?: mongodb.FindOptions) => Promise<OrderDiscount>;
10
- findOrderDiscounts: ({ orderId }: {
11
- orderId: string;
12
- }) => Promise<Array<OrderDiscount>>;
13
- create: (doc: OrderDiscount) => Promise<OrderDiscount>;
14
- delete: (orderDiscountId: string) => Promise<OrderDiscount>;
15
- isDiscountCodeUsed: ({ code, orderId }: {
16
- code: any;
17
- orderId: any;
18
- }) => Promise<boolean>;
19
- findSpareDiscount: ({ code }: {
20
- code: any;
21
- }) => Promise<OrderDiscount>;
22
- update: (orderDiscountId: string, doc: OrderDiscount) => Promise<OrderDiscount>;
23
- };
24
- export type OrderDiscountsModule = ReturnType<typeof configureOrderDiscountsModule>;
25
- //# sourceMappingURL=configureOrderDiscountsModule_LOCAL_55046.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureOrderDiscountsModule_LOCAL_55046.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule_LOCAL_55046.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C,eAAO,MAAM,qBAAqB,oBAAqB,MAAM,KAClB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzE,eAAO,MAAM,6BAA6B,wBAEvC;IACD,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACnD;wCAMqB;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,YAC5B,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,aAAa,CAAC;sCAIe;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;kBAKvE,aAAa,KAAG,OAAO,CAAC,aAAa,CAAC;8BAe1B,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC;;;;UAOhB,OAAO,CAAC,OAAO,CAAC;;;UAS1B,OAAO,CAAC,aAAa,CAAC;8BAO3B,MAAM,OAAO,aAAa,KAAG,OAAO,CAAC,aAAa,CAAC;CAgBtF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -1,65 +0,0 @@
1
- import { emit, registerEvents } from '@unchainedshop/events';
2
- import { generateDbFilterById, generateDbObjectId } from '@unchainedshop/mongodb';
3
- import { OrderDiscountTrigger } from '../db/OrderDiscountTrigger.js';
4
- const ORDER_DISCOUNT_EVENTS = [
5
- 'ORDER_CREATE_DISCOUNT',
6
- 'ORDER_UPDATE_DISCOUNT',
7
- 'ORDER_REMOVE_DISCOUNT',
8
- ];
9
- export const buildFindByIdSelector = (orderDiscountId) => generateDbFilterById(orderDiscountId);
10
- export const configureOrderDiscountsModule = ({ OrderDiscounts, }) => {
11
- registerEvents(ORDER_DISCOUNT_EVENTS);
12
- return {
13
- // Queries
14
- findOrderDiscount: async ({ discountId }, options) => {
15
- return OrderDiscounts.findOne(buildFindByIdSelector(discountId), options);
16
- },
17
- findOrderDiscounts: async ({ orderId }) => {
18
- const discounts = OrderDiscounts.find({ orderId });
19
- return discounts.toArray();
20
- },
21
- create: async (doc) => {
22
- const normalizedTrigger = doc.trigger || OrderDiscountTrigger.USER;
23
- const { insertedId: discountId } = await OrderDiscounts.insertOne({
24
- _id: generateDbObjectId(),
25
- created: new Date(),
26
- ...doc,
27
- trigger: normalizedTrigger,
28
- });
29
- const discount = await OrderDiscounts.findOne({
30
- _id: discountId,
31
- });
32
- await emit('ORDER_CREATE_DISCOUNT', { discount });
33
- return discount;
34
- },
35
- delete: async (orderDiscountId) => {
36
- const selector = buildFindByIdSelector(orderDiscountId);
37
- const orderDiscount = await OrderDiscounts.findOneAndDelete(selector);
38
- await emit('ORDER_REMOVE_DISCOUNT', { discount: orderDiscount });
39
- return orderDiscount;
40
- },
41
- isDiscountCodeUsed: async ({ code, orderId }) => {
42
- return ((await OrderDiscounts.countDocuments({
43
- code,
44
- orderId,
45
- })) > 0);
46
- },
47
- findSpareDiscount: async ({ code }) => {
48
- return OrderDiscounts.findOne({
49
- code,
50
- orderId: { $in: [undefined, null] },
51
- });
52
- },
53
- update: async (orderDiscountId, doc) => {
54
- const discount = await OrderDiscounts.findOneAndUpdate({ _id: orderDiscountId }, {
55
- $set: {
56
- updated: new Date(),
57
- ...doc,
58
- },
59
- }, { returnDocument: 'after' });
60
- await emit('ORDER_UPDATE_DISCOUNT', { discount });
61
- return discount;
62
- },
63
- };
64
- };
65
- //# sourceMappingURL=configureOrderDiscountsModule_LOCAL_55046.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureOrderDiscountsModule_LOCAL_55046.js","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule_LOCAL_55046.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import { mongodb } from '@unchainedshop/mongodb';
2
- import { Order, OrderDiscount } from '../types.js';
3
- import { IPricingSheet, PricingCalculation, DiscountAdapterActions, DiscountContext } from '@unchainedshop/utils';
4
- export type OrderDiscountsModule = {
5
- findOrderDiscount: (params: {
6
- discountId: string;
7
- }, options?: mongodb.FindOptions) => Promise<OrderDiscount>;
8
- findOrderDiscounts: (params: {
9
- orderId: string;
10
- }) => Promise<Array<OrderDiscount>>;
11
- interface: (orderDiscount: OrderDiscount, unchainedAPI: any) => Promise<DiscountAdapterActions<any>>;
12
- isValid: (orderDiscount: OrderDiscount, unchainedAPI: any) => Promise<boolean>;
13
- configurationForPricingAdapterKey: (orderDiscount: OrderDiscount, adapterKey: string, calculationSheet: IPricingSheet<PricingCalculation>, pricingContext: DiscountContext) => Promise<any>;
14
- createManualOrderDiscount: (params: {
15
- code: string;
16
- order: Order;
17
- }, unchainedAPI: any) => Promise<OrderDiscount>;
18
- create: (doc: OrderDiscount) => Promise<OrderDiscount>;
19
- update: (orderDiscountId: string, doc: OrderDiscount) => Promise<OrderDiscount>;
20
- delete: (orderDiscountId: string, unchainedAPI: any) => Promise<OrderDiscount>;
21
- deleteOrderDiscounts: (orderId: string) => Promise<number>;
22
- };
23
- export declare const buildFindByIdSelector: (orderDiscountId: string) => mongodb.Filter<OrderDiscount>;
24
- export declare const configureOrderDiscountsModule: ({ OrderDiscounts, }: {
25
- OrderDiscounts: mongodb.Collection<OrderDiscount>;
26
- }) => OrderDiscountsModule;
27
- //# sourceMappingURL=configureOrderDiscountsModule_REMOTE_55046.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureOrderDiscountsModule_REMOTE_55046.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule_REMOTE_55046.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAG3F,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,oBAAoB,GAAG;IAEjC,iBAAiB,EAAE,CACjB,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,EAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAC1B,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,kBAAkB,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAGnF,SAAS,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhG,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAG1E,iCAAiC,EAAE,CACjC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,EACnD,cAAc,EAAE,eAAe,KAC5B,OAAO,CAAC,GAAG,CAAC,CAAC;IAGlB,yBAAyB,EAAE,CACzB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EACtC,YAAY,KAAA,KACT,OAAO,CAAC,aAAa,CAAC,CAAC;IAE5B,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAChF,MAAM,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1E,oBAAoB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D,CAAC;AAcF,eAAO,MAAM,qBAAqB,oBAAqB,MAAM,KAClB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzE,eAAO,MAAM,6BAA6B,wBAEvC;IACD,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;CACnD,KAAG,oBAmMH,CAAC"}
@@ -1,182 +0,0 @@
1
- import { emit, registerEvents } from '@unchainedshop/events';
2
- import { generateDbFilterById, generateDbObjectId } from '@unchainedshop/mongodb';
3
- import { OrderDiscountTrigger } from '../db/OrderDiscountTrigger.js';
4
- import { OrderDiscountDirector } from '../director/OrderDiscountDirector.js';
5
- const ORDER_DISCOUNT_EVENTS = [
6
- 'ORDER_CREATE_DISCOUNT',
7
- 'ORDER_UPDATE_DISCOUNT',
8
- 'ORDER_REMOVE_DISCOUNT',
9
- 'ORDER_ADD_DISCOUNT',
10
- ];
11
- const OrderDiscountErrorCode = {
12
- CODE_ALREADY_PRESENT: 'CODE_ALREADY_PRESENT',
13
- CODE_NOT_VALID: 'CODE_NOT_VALID',
14
- };
15
- export const buildFindByIdSelector = (orderDiscountId) => generateDbFilterById(orderDiscountId);
16
- export const configureOrderDiscountsModule = ({ OrderDiscounts, }) => {
17
- registerEvents(ORDER_DISCOUNT_EVENTS);
18
- const getAdapter = async (orderDiscount, unchainedAPI) => {
19
- const order = await unchainedAPI.modules.orders.findOrder({
20
- orderId: orderDiscount.orderId,
21
- });
22
- const Adapter = OrderDiscountDirector.getAdapter(orderDiscount.discountKey);
23
- if (!Adapter)
24
- return null;
25
- const adapter = await Adapter.actions({
26
- context: { order, orderDiscount, code: orderDiscount.code, ...unchainedAPI },
27
- });
28
- return adapter;
29
- };
30
- const createDiscount = async (doc) => {
31
- const normalizedTrigger = doc.trigger || OrderDiscountTrigger.USER;
32
- const { insertedId: discountId } = await OrderDiscounts.insertOne({
33
- _id: generateDbObjectId(),
34
- created: new Date(),
35
- ...doc,
36
- trigger: normalizedTrigger,
37
- });
38
- const discount = await OrderDiscounts.findOne(buildFindByIdSelector(discountId));
39
- return discount;
40
- };
41
- const deleteDiscount = async (orderDiscountId, unchainedAPI) => {
42
- const selector = buildFindByIdSelector(orderDiscountId);
43
- const discount = await OrderDiscounts.findOne(selector, {});
44
- if (discount.trigger === OrderDiscountTrigger.USER) {
45
- // Release
46
- const adapter = await getAdapter(discount, unchainedAPI);
47
- if (!adapter)
48
- return null;
49
- await adapter.release();
50
- }
51
- await OrderDiscounts.deleteOne(selector);
52
- await emit('ORDER_REMOVE_DISCOUNT', { discount });
53
- return discount;
54
- };
55
- const updateDiscount = async (orderDiscountId, doc) => {
56
- const discount = await OrderDiscounts.findOneAndUpdate(generateDbFilterById(orderDiscountId), {
57
- $set: {
58
- updated: new Date(),
59
- ...doc,
60
- },
61
- }, { returnDocument: 'after' });
62
- await emit('ORDER_UPDATE_DISCOUNT', { discount });
63
- return discount;
64
- };
65
- const reserveDiscount = async (orderDiscount, unchainedAPI) => {
66
- const adapter = await getAdapter(orderDiscount, unchainedAPI);
67
- if (!adapter)
68
- return null;
69
- const reservation = await adapter.reserve({
70
- code: orderDiscount.code,
71
- });
72
- return updateDiscount(orderDiscount._id, { orderId: orderDiscount.orderId, reservation });
73
- };
74
- const grabDiscount = async ({ code, orderId }, unchainedAPI) => {
75
- const existingDiscount = await OrderDiscounts.findOne({ code, orderId });
76
- if (existingDiscount)
77
- throw new Error(OrderDiscountErrorCode.CODE_ALREADY_PRESENT);
78
- const discount = await OrderDiscounts.findOne({ code, orderId: null });
79
- if (!discount)
80
- return null;
81
- const discountId = discount._id;
82
- try {
83
- const updatedDiscount = await updateDiscount(discountId, { orderId });
84
- const reservedDiscount = await reserveDiscount(updatedDiscount, unchainedAPI);
85
- return reservedDiscount;
86
- }
87
- catch (error) {
88
- // Rollback
89
- await updateDiscount(discountId, { orderId: discount.orderId });
90
- throw error;
91
- }
92
- };
93
- return {
94
- // Queries
95
- findOrderDiscount: async ({ discountId }, options) => {
96
- return OrderDiscounts.findOne(buildFindByIdSelector(discountId), options);
97
- },
98
- findOrderDiscounts: async ({ orderId }) => {
99
- const discounts = OrderDiscounts.find({ orderId });
100
- return discounts.toArray();
101
- },
102
- // Transformations
103
- interface: async (orderDiscount, unchainedAPI) => {
104
- const adapter = await getAdapter(orderDiscount, unchainedAPI);
105
- return adapter;
106
- },
107
- isValid: async (orderDiscount, unchainedAPI) => {
108
- const adapter = await getAdapter(orderDiscount, unchainedAPI);
109
- if (!adapter)
110
- return null;
111
- if (orderDiscount.trigger === OrderDiscountTrigger.SYSTEM) {
112
- return adapter.isValidForSystemTriggering();
113
- }
114
- return adapter.isValidForCodeTriggering({
115
- code: orderDiscount.code,
116
- });
117
- },
118
- // Adapter
119
- configurationForPricingAdapterKey: async (orderDiscount, adapterKey, calculationSheet, unchainedAPI) => {
120
- const adapter = await getAdapter(orderDiscount, unchainedAPI);
121
- if (!adapter)
122
- return null;
123
- return adapter.discountForPricingAdapterKey({
124
- pricingAdapterKey: adapterKey,
125
- calculationSheet,
126
- });
127
- },
128
- // Mutations
129
- createManualOrderDiscount: async ({ order, code }, unchainedAPI) => {
130
- // Try to grab single-usage-discount
131
- if (!code)
132
- throw new Error(OrderDiscountErrorCode.CODE_NOT_VALID);
133
- const fetchedDiscount = await grabDiscount({ code, orderId: order._id }, unchainedAPI);
134
- if (fetchedDiscount)
135
- return fetchedDiscount;
136
- const director = await OrderDiscountDirector.actions({ order, code }, unchainedAPI);
137
- const discountKey = await director.resolveDiscountKeyFromStaticCode({
138
- code,
139
- });
140
- if (discountKey) {
141
- const newDiscount = await createDiscount({
142
- orderId: order._id,
143
- code,
144
- discountKey,
145
- });
146
- try {
147
- const reservedDiscount = await reserveDiscount(newDiscount, unchainedAPI);
148
- await emit('ORDER_ADD_DISCOUNT', { discount: reserveDiscount });
149
- return reservedDiscount;
150
- }
151
- catch (error) {
152
- await deleteDiscount(newDiscount._id, unchainedAPI);
153
- throw error;
154
- }
155
- }
156
- throw new Error(OrderDiscountErrorCode.CODE_NOT_VALID);
157
- },
158
- create: async (doc) => {
159
- const discount = await createDiscount(doc);
160
- if (discount.trigger === OrderDiscountTrigger.USER) {
161
- await emit('ORDER_CREATE_DISCOUNT', { discount });
162
- }
163
- return discount;
164
- },
165
- delete: deleteDiscount,
166
- update: async (orderDiscountId, doc) => {
167
- const discount = await OrderDiscounts.findOneAndUpdate(generateDbFilterById(orderDiscountId), {
168
- $set: {
169
- updated: new Date(),
170
- ...doc,
171
- },
172
- }, { returnDocument: 'after' });
173
- await emit('ORDER_UPDATE_DISCOUNT', { discount });
174
- return discount;
175
- },
176
- deleteOrderDiscounts: async (orderId) => {
177
- const { deletedCount } = await OrderDiscounts.deleteMany({ orderId });
178
- return deletedCount;
179
- },
180
- };
181
- };
182
- //# sourceMappingURL=configureOrderDiscountsModule_REMOTE_55046.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureOrderDiscountsModule_REMOTE_55046.js","sourceRoot":"","sources":["../../src/module/configureOrderDiscountsModule_REMOTE_55046.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import { mongodb } from '@unchainedshop/mongodb';
2
- import { OrderPayment, OrderPaymentStatus } from '../types.js';
3
- import { PricingCalculation } from '@unchainedshop/utils';
4
- export declare const buildFindByIdSelector: (orderPaymentId: string) => mongodb.Filter<OrderPayment>;
5
- export declare const buildFindByContextDataSelector: (context: any) => mongodb.Filter<OrderPayment>;
6
- export declare const configureOrderPaymentsModule: ({ OrderPayments, }: {
7
- OrderPayments: mongodb.Collection<OrderPayment>;
8
- }) => {
9
- findOrderPayment: ({ orderPaymentId, }: {
10
- orderPaymentId: string;
11
- }, options?: mongodb.FindOptions) => Promise<OrderPayment>;
12
- findOrderPaymentByContextData: ({ context, }: {
13
- context: any;
14
- }, options?: mongodb.FindOptions) => Promise<OrderPayment>;
15
- countOrderPaymentsByContextData: ({ context, }: {
16
- context: any;
17
- }, options?: mongodb.FindOptions) => Promise<number>;
18
- normalizedStatus: (orderPayment: OrderPayment) => OrderPaymentStatus;
19
- create: (doc: OrderPayment) => Promise<OrderPayment>;
20
- logEvent: (orderPaymentId: string, event: any) => Promise<boolean>;
21
- markAsPaid: (orderPayment: OrderPayment, meta: any) => Promise<void>;
22
- updateContext: (orderPaymentId: string, context: any) => Promise<OrderPayment>;
23
- updateStatus: (orderPaymentId: string, { transactionId, status, info, }: {
24
- transactionId?: string;
25
- status: OrderPaymentStatus;
26
- info?: string;
27
- }) => Promise<OrderPayment>;
28
- updateCalculation: <T extends PricingCalculation>(orderPaymentId: string, calculation: Array<T>) => Promise<mongodb.WithId<OrderPayment>>;
29
- deleteOrderPayments: (orderId: string) => Promise<number>;
30
- };
31
- export type OrderPaymentsModule = ReturnType<typeof configureOrderPaymentsModule>;
32
- //# sourceMappingURL=configureOrderPaymentsModule_BACKUP_55464.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configureOrderPaymentsModule_BACKUP_55464.d.ts","sourceRoot":"","sources":["../../src/module/configureOrderPaymentsModule_BACKUP_55464.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAwF1D,eAAO,MAAM,qBAAqB,mBAAoB,MAAM,KAClB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAEvE,eAAO,MAAM,8BAA8B,YAAa,GAAG,KAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAgBxF,CAAC;AAEF,eAAO,MAAM,4BAA4B,uBAEtC;IACD,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;CACjD;4CAgDQ;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,YAAY,CAAC;kDAMnB;QACD,OAAO,EAAE,GAAG,CAAC;KACd,YACS,OAAO,CAAC,WAAW,KAC5B,OAAO,CAAC,YAAY,CAAC;oDAQnB;QACD,OAAO,EAAE,GAAG,CAAC;KACd,YACS,OAAO,CAAC,WAAW;qCAtEO,YAAY;kBAiF9B,YAAY,KAAG,OAAO,CAAC,YAAY,CAAC;+BAcvB,MAAM,SAAS,GAAG,KAAG,OAAO,CAAC,OAAO,CAAC;+BAgBrC,YAAY,QAAQ,GAAG;oCAUlB,MAAM,WAAW,GAAG,KAAG,OAAO,CAAC,YAAY,CAAC;mCAlHlE,MAAM,oCAKnB;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KACvE,OAAO,CAAC,YAAY,CAAC;wBA0II,CAAC,SAAS,kBAAkB,kBACpC,MAAM,eACT,KAAK,CAAC,CAAC,CAAC;mCAec,MAAM;CAK9C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC"}