@q2devel/q2-core 1.0.109 → 1.0.111
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cart.service.d.ts","sourceRoot":"","sources":["../../../api/cart/Cart.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,qBAAqB,EAErB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,qBAAqB,CAAA;AAS5B,KAAK,MAAM,GAAG;IACV,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;CACL,CAAA;
|
|
1
|
+
{"version":3,"file":"Cart.service.d.ts","sourceRoot":"","sources":["../../../api/cart/Cart.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,qBAAqB,EAErB,oBAAoB,EACpB,qBAAqB,EACxB,MAAM,qBAAqB,CAAA;AAS5B,KAAK,MAAM,GAAG;IACV,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;CACL,CAAA;AA4BD,eAAO,MAAM,WAAW,GACpB,KAAK,WAAW,EAChB,uBASG,MAAM,EACT,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAmFd,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,aAAa,MAAM,EACnB,uBAQG,MAAM,EACT,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAiFd,CAAA;AAED,eAAO,MAAM,SAAS,GAClB,KAAK,WAAW,EAChB,aAAa,MAAM,GAAG,SAAS,EAC/B,SAAS,gBAAgB,EACzB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,iBAAiB,CAmB3B,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,SAAS,MAAM,EACf,QAAQ,MAAM,EACd,SAAS,qBAAqB,EAC9B,SAAQ,kBAAuB,KAChC,OAAO,CAAC,QAAQ,CAOlB,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,SAAS,MAAM,EACf,SAAS,qBAAqB,EAC9B,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAMd,CAAA;AAED,eAAO,MAAM,SAAS,GAClB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAKd,CAAA;AAED,eAAO,MAAM,WAAW,GACpB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAYd,CAAA;AAED,eAAO,MAAM,YAAY,GACrB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,UAAU,MAAM,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAQd,CAAA;AAED,eAAO,MAAM,YAAY,GACrB,KAAK,WAAW,EAChB,SAAQ,kBAAuB,KAChC,OAAO,CAAC,MAAM,CAQhB,CAAA;AAED,eAAO,MAAM,eAAe,GACxB,KAAK,WAAW,EAChB,uBAMG,MAAM,EACT,SAAQ,kBAAuB,KAChC,OAAO,CAAC,oBAAoB,CAqE9B,CAAA"}
|
|
@@ -6,6 +6,26 @@ const getHeaders = (ctx, customHeaders = {}) => ({
|
|
|
6
6
|
...(ctx.accessToken && { Authorization: `Bearer ${ctx.accessToken}` }),
|
|
7
7
|
...customHeaders,
|
|
8
8
|
});
|
|
9
|
+
/**
|
|
10
|
+
* Picks the order that actually represents the current cart.
|
|
11
|
+
*
|
|
12
|
+
* /jsonapi/carts (and the user cart endpoint) can return several orders for the
|
|
13
|
+
* same token/user - Drupal keeps an emptied draft order around after its last
|
|
14
|
+
* item is removed, and that stale order can be listed before the current one.
|
|
15
|
+
* Blindly taking the first entry then renders an empty cart even though the
|
|
16
|
+
* item was added successfully.
|
|
17
|
+
*/
|
|
18
|
+
const pickActiveOrder = (orders) => {
|
|
19
|
+
if (orders.length <= 1)
|
|
20
|
+
return orders[0];
|
|
21
|
+
const newestFirst = (a, b) => (b?.drupal_internal__order_id || 0) - (a?.drupal_internal__order_id || 0);
|
|
22
|
+
// Only draft orders are carts; keep everything if the endpoint omits state.
|
|
23
|
+
const drafts = orders.filter((o) => !o?.state || o.state === 'draft');
|
|
24
|
+
const candidates = drafts.length ? drafts : orders;
|
|
25
|
+
// Prefer a cart that still has items over a leftover emptied one.
|
|
26
|
+
const withItems = candidates.filter((o) => (o?.order_items?.length || 0) > 0);
|
|
27
|
+
return [...(withItems.length ? withItems : candidates)].sort(newestFirst)[0];
|
|
28
|
+
};
|
|
9
29
|
export const getUserCart = async (ctx, { include = [
|
|
10
30
|
'order_items',
|
|
11
31
|
'order_items.purchased_entity',
|
|
@@ -36,9 +56,17 @@ export const getUserCart = async (ctx, { include = [
|
|
|
36
56
|
};
|
|
37
57
|
}
|
|
38
58
|
const resolvedOrders = mapIncludedResources(data, 6);
|
|
39
|
-
const orderData =
|
|
40
|
-
|
|
41
|
-
|
|
59
|
+
const orderData = pickActiveOrder(resolvedOrders);
|
|
60
|
+
if (!orderData) {
|
|
61
|
+
return {
|
|
62
|
+
data: {
|
|
63
|
+
id: '',
|
|
64
|
+
drupalOrderId: 0,
|
|
65
|
+
cartItems: [],
|
|
66
|
+
total: { number: '0', currency_code: 'CZK', formatted: '0 Kč' },
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
42
70
|
const cartItems = (orderData.order_items || [])
|
|
43
71
|
.map((item) => {
|
|
44
72
|
const defaultProduct = item.purchased_entity?.product_id;
|
|
@@ -100,9 +128,17 @@ export const getCurrentCart = async (ctx, activeToken, { include = [
|
|
|
100
128
|
};
|
|
101
129
|
}
|
|
102
130
|
const resolvedOrders = mapIncludedResources(data, 6);
|
|
103
|
-
const orderData =
|
|
104
|
-
|
|
105
|
-
|
|
131
|
+
const orderData = pickActiveOrder(resolvedOrders);
|
|
132
|
+
if (!orderData) {
|
|
133
|
+
return {
|
|
134
|
+
data: {
|
|
135
|
+
id: '',
|
|
136
|
+
drupalOrderId: 0,
|
|
137
|
+
cartItems: [],
|
|
138
|
+
total: { number: '0', currency_code: 'CZK', formatted: '0 Kč' },
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
106
142
|
const cartItems = (orderData.order_items || [])
|
|
107
143
|
.map((item) => {
|
|
108
144
|
const defaultProduct = item.purchased_entity?.product_id;
|
package/dist/types/Term.d.ts
CHANGED
package/dist/types/Term.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Term.d.ts","sourceRoot":"","sources":["../../types/Term.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAA;IACjB,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAChC,GAAG,IAAI,CAAA;IACR,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"Term.d.ts","sourceRoot":"","sources":["../../types/Term.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAA;IACjB,MAAM,EAAE;QACJ,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAChC,GAAG,IAAI,CAAA;IACR,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6FAA6F;IAC7F,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA"}
|