@unchainedshop/platform 2.5.9 → 2.5.10

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,13 +1,31 @@
1
1
  import { Locale } from '@unchainedshop/types/common.js';
2
2
  import { UnchainedCore } from '@unchainedshop/types/core.js';
3
3
  import { Order } from '@unchainedshop/types/orders.js';
4
+ type PriceFormatter = ({ amount, currency }: {
5
+ amount: number;
6
+ currency: string;
7
+ }) => string;
4
8
  export declare const getOrderPositionsData: (order: Order, params: {
5
9
  locale?: Locale;
10
+ useNetPrice?: boolean;
11
+ format?: PriceFormatter;
6
12
  }, context: UnchainedCore) => Promise<{
7
13
  productId: string;
8
14
  configuration: import("@unchainedshop/types/common.js").Configuration;
9
15
  originalProductTexts: import("@unchainedshop/types/products.js").ProductText;
10
16
  productTexts: import("@unchainedshop/types/products.js").ProductText;
11
17
  quantity: number;
18
+ rawPrices: {
19
+ unitPrice: {
20
+ amount: number;
21
+ currency: string;
22
+ };
23
+ total: {
24
+ amount: number;
25
+ currency: string;
26
+ };
27
+ };
28
+ unitPrice: string;
12
29
  total: string;
13
30
  }[]>;
31
+ export {};
@@ -1,6 +1,7 @@
1
1
  import formatPrice from './formatPrice.js';
2
2
  export const getOrderPositionsData = async (order, params, context) => {
3
3
  const { modules } = context;
4
+ const { useNetPrice, format = formatPrice } = params || {};
4
5
  const orderPositions = await modules.orders.positions.findOrderPositions({
5
6
  orderId: order._id,
6
7
  });
@@ -14,10 +15,8 @@ export const getOrderPositionsData = async (order, params, context) => {
14
15
  locale: params.locale?.normalized,
15
16
  });
16
17
  const positionPricing = modules.orders.positions.pricingSheet(orderPosition, order.currency, context);
17
- const total = formatPrice({
18
- amount: positionPricing.sum(),
19
- currency: order.currency,
20
- });
18
+ const total = positionPricing.total({ useNetPrice });
19
+ const unitPrice = positionPricing.unitPrice({ useNetPrice });
21
20
  const { quantity } = positionPricing;
22
21
  return {
23
22
  productId: orderPosition.productId,
@@ -25,7 +24,12 @@ export const getOrderPositionsData = async (order, params, context) => {
25
24
  originalProductTexts,
26
25
  productTexts,
27
26
  quantity,
28
- total,
27
+ rawPrices: {
28
+ unitPrice,
29
+ total,
30
+ },
31
+ unitPrice: format(unitPrice),
32
+ total: format(total),
29
33
  };
30
34
  }));
31
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getOrderPositionsData.js","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderPositionsData.ts"],"names":[],"mappings":"AAGA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,KAAY,EACZ,MAA2B,EAC3B,OAAsB,EACtB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACvE,OAAO,EAAE,KAAK,CAAC,GAAG;KACnB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAChB,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;QACzC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAClE,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU;SAClC,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC1E,SAAS,EAAE,aAAa,CAAC,iBAAiB;YAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU;SAClC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAC3D,aAAa,EACb,KAAK,CAAC,QAAQ,EACd,OAAO,CACR,CAAC;QACF,MAAM,KAAK,GAAG,WAAW,CAAC;YACxB,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE;YAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,oBAAoB;YACpB,YAAY;YACZ,QAAQ;YACR,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"getOrderPositionsData.js","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderPositionsData.ts"],"names":[],"mappings":"AAGA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAI3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,KAAY,EACZ,MAA2E,EAC3E,OAAsB,EACtB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAC3D,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACvE,OAAO,EAAE,KAAK,CAAC,GAAG;KACnB,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,GAAG,CAChB,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;QACzC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAClE,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU;SAClC,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC1E,SAAS,EAAE,aAAa,CAAC,iBAAiB;YAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU;SAClC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAC3D,aAAa,EACb,KAAK,CAAC,QAAQ,EACd,OAAO,CACR,CAAC;QACF,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAE7D,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,oBAAoB;YACpB,YAAY;YACZ,QAAQ;YACR,SAAS,EAAE;gBACT,SAAS;gBACT,KAAK;aACN;YACD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;YAC5B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1,8 +1,14 @@
1
1
  import { UnchainedCore } from '@unchainedshop/types/core.js';
2
2
  import { Order } from '@unchainedshop/types/orders.js';
3
3
  import { Locale } from '@unchainedshop/types/common.js';
4
+ type PriceFormatter = ({ amount, currency }: {
5
+ amount: number;
6
+ currency: string;
7
+ }) => string;
4
8
  export declare const getOrderSummaryData: (order: Order, params: {
5
9
  locale?: Locale;
10
+ useNetPrice?: boolean;
11
+ format?: PriceFormatter;
6
12
  }, context: UnchainedCore) => Promise<{
7
13
  rawPrices: {
8
14
  items: {
@@ -38,3 +44,4 @@ export declare const getOrderSummaryData: (order: Order, params: {
38
44
  deliveryAddress: string;
39
45
  billingAddress: string;
40
46
  }>;
47
+ export {};
@@ -3,6 +3,7 @@ import formatPrice from './formatPrice.js';
3
3
  import { formatAddress } from './formatAddress.js';
4
4
  export const getOrderSummaryData = async (order, params, context) => {
5
5
  const { modules } = context;
6
+ const { useNetPrice, format = formatPrice } = params || {};
6
7
  const orderDelivery = await modules.orders.deliveries.findDelivery({
7
8
  orderDeliveryId: order.deliveryId,
8
9
  });
@@ -20,21 +21,21 @@ export const getOrderSummaryData = async (order, params, context) => {
20
21
  const orderPricing = modules.orders.pricingSheet(order);
21
22
  const paymentTotal = orderPricing.total({
22
23
  category: OrderPricingRowCategory.Payment,
23
- useNetPrice: false,
24
+ useNetPrice,
24
25
  });
25
26
  const deliveryTotal = orderPricing.total({
26
27
  category: OrderPricingRowCategory.Delivery,
27
- useNetPrice: false,
28
+ useNetPrice,
28
29
  });
29
30
  const taxesTotal = orderPricing.total({
30
31
  category: OrderPricingRowCategory.Taxes,
31
- useNetPrice: false,
32
+ useNetPrice,
32
33
  });
33
34
  const itemsTotal = orderPricing.total({
34
35
  category: OrderPricingRowCategory.Items,
35
- useNetPrice: false,
36
+ useNetPrice,
36
37
  });
37
- const total = orderPricing.total({ useNetPrice: false });
38
+ const total = orderPricing.total({ useNetPrice });
38
39
  const payment = paymentProvider.adapterKey;
39
40
  const delivery = deliveryProvider.adapterKey;
40
41
  return {
@@ -46,11 +47,11 @@ export const getOrderSummaryData = async (order, params, context) => {
46
47
  gross: total,
47
48
  },
48
49
  prices: {
49
- items: formatPrice(itemsTotal),
50
- taxes: formatPrice(taxesTotal),
51
- delivery: formatPrice(deliveryTotal),
52
- payment: formatPrice(paymentTotal),
53
- gross: formatPrice(total),
50
+ items: format(itemsTotal),
51
+ taxes: format(taxesTotal),
52
+ delivery: format(deliveryTotal),
53
+ payment: format(paymentTotal),
54
+ gross: format(total),
54
55
  },
55
56
  payment,
56
57
  delivery,
@@ -1 +1 @@
1
- {"version":3,"file":"getOrderSummaryData.js","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderSummaryData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,KAAY,EACZ,MAA2B,EAC3B,OAAsB,EACtB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;QACjE,eAAe,EAAE,KAAK,CAAC,UAAU;KAClC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClE,cAAc,EAAE,KAAK,CAAC,SAAS;KAChC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;QAC1E,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;KAClD,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3D,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;KACrD,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACvG,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;QACtC,QAAQ,EAAE,uBAAuB,CAAC,OAAO;QACzC,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC;QACvC,QAAQ,EAAE,uBAAuB,CAAC,QAAQ;QAC1C,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;QACpC,QAAQ,EAAE,uBAAuB,CAAC,KAAK;QACvC,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;QACpC,QAAQ,EAAE,uBAAuB,CAAC,KAAK;QACvC,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC;IAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC;IAE7C,OAAO;QACL,SAAS,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,KAAK;SACb;QACD,MAAM,EAAE;YACN,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC;YAC9B,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC;YAC9B,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC;YACpC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;YAClC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;SAC1B;QACD,OAAO;QACP,QAAQ;QACR,eAAe;QACf,cAAc;KACf,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"getOrderSummaryData.js","sourceRoot":"","sources":["../../../src/templates/order-parser/getOrderSummaryData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,KAAY,EACZ,MAA2E,EAC3E,OAAsB,EACtB,EAAE;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;IAC3D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;QACjE,eAAe,EAAE,KAAK,CAAC,UAAU;KAClC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClE,cAAc,EAAE,KAAK,CAAC,SAAS;KAChC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;QAC1E,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;KAClD,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC3D,kBAAkB,EAAE,aAAa,CAAC,kBAAkB;KACrD,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IACvG,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC;QACtC,QAAQ,EAAE,uBAAuB,CAAC,OAAO;QACzC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC;QACvC,QAAQ,EAAE,uBAAuB,CAAC,QAAQ;QAC1C,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;QACpC,QAAQ,EAAE,uBAAuB,CAAC,KAAK;QACvC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;QACpC,QAAQ,EAAE,uBAAuB,CAAC,KAAK;QACvC,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC;IAC3C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC;IAE7C,OAAO;QACL,SAAS,EAAE;YACT,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,KAAK;SACb;QACD,MAAM,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;YACzB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC;YACzB,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC;YAC/B,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB;QACD,OAAO;QACP,QAAQ;QACR,eAAe;QACf,cAAc;KACf,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/platform",
3
- "version": "2.5.9",
3
+ "version": "2.5.10",
4
4
  "main": "lib/platform-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/platform-index.js",
@@ -31,22 +31,22 @@
31
31
  },
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
- "@unchainedshop/api": "^2.5.9",
35
- "@unchainedshop/core": "^2.5.9",
36
- "@unchainedshop/events": "^2.5.9",
37
- "@unchainedshop/file-upload": "^2.5.9",
38
- "@unchainedshop/logger": "^2.5.9",
39
- "@unchainedshop/mongodb": "^2.5.9",
40
- "@unchainedshop/plugins": "^2.5.9",
41
- "@unchainedshop/roles": "^2.5.9",
42
- "@unchainedshop/utils": "^2.5.9",
34
+ "@unchainedshop/api": "^2.5.10",
35
+ "@unchainedshop/core": "^2.5.10",
36
+ "@unchainedshop/events": "^2.5.10",
37
+ "@unchainedshop/file-upload": "^2.5.10",
38
+ "@unchainedshop/logger": "^2.5.10",
39
+ "@unchainedshop/mongodb": "^2.5.10",
40
+ "@unchainedshop/plugins": "^2.5.10",
41
+ "@unchainedshop/roles": "^2.5.10",
42
+ "@unchainedshop/utils": "^2.5.10",
43
43
  "event-iterator": "^2.0.0",
44
44
  "JSONStream": "^1.3.5",
45
45
  "moniker": "0.1.2"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/node": "^20.9.0",
49
- "@unchainedshop/types": "^2.5.9",
49
+ "@unchainedshop/types": "^2.5.10",
50
50
  "cross-env": "^7.0.3",
51
51
  "jest": "^29.7.0",
52
52
  "ts-jest": "^29.1.1",
@@ -3,12 +3,15 @@ import { UnchainedCore } from '@unchainedshop/types/core.js';
3
3
  import { Order } from '@unchainedshop/types/orders.js';
4
4
  import formatPrice from './formatPrice.js';
5
5
 
6
+ type PriceFormatter = ({ amount, currency }: { amount: number; currency: string }) => string;
7
+
6
8
  export const getOrderPositionsData = async (
7
9
  order: Order,
8
- params: { locale?: Locale },
10
+ params: { locale?: Locale; useNetPrice?: boolean; format?: PriceFormatter },
9
11
  context: UnchainedCore,
10
12
  ) => {
11
13
  const { modules } = context;
14
+ const { useNetPrice, format = formatPrice } = params || {};
12
15
  const orderPositions = await modules.orders.positions.findOrderPositions({
13
16
  orderId: order._id,
14
17
  });
@@ -29,10 +32,8 @@ export const getOrderPositionsData = async (
29
32
  order.currency,
30
33
  context,
31
34
  );
32
- const total = formatPrice({
33
- amount: positionPricing.sum(),
34
- currency: order.currency,
35
- });
35
+ const total = positionPricing.total({ useNetPrice });
36
+ const unitPrice = positionPricing.unitPrice({ useNetPrice });
36
37
 
37
38
  const { quantity } = positionPricing;
38
39
  return {
@@ -41,7 +42,12 @@ export const getOrderPositionsData = async (
41
42
  originalProductTexts,
42
43
  productTexts,
43
44
  quantity,
44
- total,
45
+ rawPrices: {
46
+ unitPrice,
47
+ total,
48
+ },
49
+ unitPrice: format(unitPrice),
50
+ total: format(total),
45
51
  };
46
52
  }),
47
53
  );
@@ -5,12 +5,15 @@ import { Locale } from '@unchainedshop/types/common.js';
5
5
  import formatPrice from './formatPrice.js';
6
6
  import { formatAddress } from './formatAddress.js';
7
7
 
8
+ type PriceFormatter = ({ amount, currency }: { amount: number; currency: string }) => string;
9
+
8
10
  export const getOrderSummaryData = async (
9
11
  order: Order,
10
- params: { locale?: Locale },
12
+ params: { locale?: Locale; useNetPrice?: boolean; format?: PriceFormatter },
11
13
  context: UnchainedCore,
12
14
  ) => {
13
15
  const { modules } = context;
16
+ const { useNetPrice, format = formatPrice } = params || {};
14
17
  const orderDelivery = await modules.orders.deliveries.findDelivery({
15
18
  orderDeliveryId: order.deliveryId,
16
19
  });
@@ -30,25 +33,25 @@ export const getOrderSummaryData = async (
30
33
 
31
34
  const paymentTotal = orderPricing.total({
32
35
  category: OrderPricingRowCategory.Payment,
33
- useNetPrice: false,
36
+ useNetPrice,
34
37
  });
35
38
 
36
39
  const deliveryTotal = orderPricing.total({
37
40
  category: OrderPricingRowCategory.Delivery,
38
- useNetPrice: false,
41
+ useNetPrice,
39
42
  });
40
43
 
41
44
  const taxesTotal = orderPricing.total({
42
45
  category: OrderPricingRowCategory.Taxes,
43
- useNetPrice: false,
46
+ useNetPrice,
44
47
  });
45
48
 
46
49
  const itemsTotal = orderPricing.total({
47
50
  category: OrderPricingRowCategory.Items,
48
- useNetPrice: false,
51
+ useNetPrice,
49
52
  });
50
53
 
51
- const total = orderPricing.total({ useNetPrice: false });
54
+ const total = orderPricing.total({ useNetPrice });
52
55
 
53
56
  const payment = paymentProvider.adapterKey;
54
57
  const delivery = deliveryProvider.adapterKey;
@@ -62,11 +65,11 @@ export const getOrderSummaryData = async (
62
65
  gross: total,
63
66
  },
64
67
  prices: {
65
- items: formatPrice(itemsTotal),
66
- taxes: formatPrice(taxesTotal),
67
- delivery: formatPrice(deliveryTotal),
68
- payment: formatPrice(paymentTotal),
69
- gross: formatPrice(total),
68
+ items: format(itemsTotal),
69
+ taxes: format(taxesTotal),
70
+ delivery: format(deliveryTotal),
71
+ payment: format(paymentTotal),
72
+ gross: format(total),
70
73
  },
71
74
  payment,
72
75
  delivery,