@faststore/api 3.45.0 → 3.47.0

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 (45) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/__generated__/schema.d.ts +45 -2
  3. package/dist/cjs/src/__generated__/schema.js.map +1 -1
  4. package/dist/cjs/src/index.d.ts +40 -3
  5. package/dist/cjs/src/platforms/vtex/index.d.ts +40 -3
  6. package/dist/cjs/src/platforms/vtex/index.js +1 -1
  7. package/dist/cjs/src/platforms/vtex/index.js.map +1 -1
  8. package/dist/cjs/src/platforms/vtex/resolvers/query.d.ts +27 -2
  9. package/dist/cjs/src/platforms/vtex/resolvers/query.js +30 -4
  10. package/dist/cjs/src/platforms/vtex/resolvers/query.js.map +1 -1
  11. package/dist/cjs/src/platforms/vtex/resolvers/userOrder.d.ts +1 -1
  12. package/dist/cjs/src/platforms/vtex/resolvers/userOrder.js +4 -9
  13. package/dist/cjs/src/platforms/vtex/resolvers/userOrder.js.map +1 -1
  14. package/dist/cjs/src/platforms/vtex/resolvers/validateSession.js +1 -0
  15. package/dist/cjs/src/platforms/vtex/resolvers/validateSession.js.map +1 -1
  16. package/dist/cjs/src/typeDefs/query.graphql +2 -2
  17. package/dist/cjs/src/typeDefs/session.graphql +2 -0
  18. package/dist/cjs/src/typeDefs/userOrder.graphql +41 -0
  19. package/dist/esm/package.json +1 -1
  20. package/dist/esm/src/__generated__/schema.d.ts +45 -2
  21. package/dist/esm/src/__generated__/schema.js.map +1 -1
  22. package/dist/esm/src/index.d.ts +40 -3
  23. package/dist/esm/src/platforms/vtex/index.d.ts +40 -3
  24. package/dist/esm/src/platforms/vtex/index.js +2 -2
  25. package/dist/esm/src/platforms/vtex/index.js.map +1 -1
  26. package/dist/esm/src/platforms/vtex/resolvers/query.d.ts +27 -2
  27. package/dist/esm/src/platforms/vtex/resolvers/query.js +30 -4
  28. package/dist/esm/src/platforms/vtex/resolvers/query.js.map +1 -1
  29. package/dist/esm/src/platforms/vtex/resolvers/userOrder.d.ts +1 -1
  30. package/dist/esm/src/platforms/vtex/resolvers/userOrder.js +3 -8
  31. package/dist/esm/src/platforms/vtex/resolvers/userOrder.js.map +1 -1
  32. package/dist/esm/src/platforms/vtex/resolvers/validateSession.js +1 -0
  33. package/dist/esm/src/platforms/vtex/resolvers/validateSession.js.map +1 -1
  34. package/dist/esm/src/typeDefs/query.graphql +2 -2
  35. package/dist/esm/src/typeDefs/session.graphql +2 -0
  36. package/dist/esm/src/typeDefs/userOrder.graphql +41 -0
  37. package/package.json +2 -2
  38. package/src/__generated__/schema.ts +49 -2
  39. package/src/platforms/vtex/index.ts +2 -2
  40. package/src/platforms/vtex/resolvers/query.ts +30 -5
  41. package/src/platforms/vtex/resolvers/userOrder.ts +27 -26
  42. package/src/platforms/vtex/resolvers/validateSession.ts +1 -0
  43. package/src/typeDefs/query.graphql +2 -2
  44. package/src/typeDefs/session.graphql +2 -0
  45. package/src/typeDefs/userOrder.graphql +41 -0
@@ -177,6 +177,7 @@ export type IStoreB2B = {
177
177
  lastName?: Maybe<Scalars['String']>;
178
178
  unitId?: Maybe<Scalars['String']>;
179
179
  unitName?: Maybe<Scalars['String']>;
180
+ userEmail?: Maybe<Scalars['String']>;
180
181
  userName?: Maybe<Scalars['String']>;
181
182
  };
182
183
 
@@ -545,7 +546,7 @@ export type Query = {
545
546
  /** Returns the details of a collection based on the collection slug. */
546
547
  collection: StoreCollection;
547
548
  /** Returns information about the list of Orders that the User can view. */
548
- listUserOrders?: Maybe<UserOrderListResult>;
549
+ listUserOrders?: Maybe<UserOrderListMinimalResult>;
549
550
  /** Returns the details of a product based on the specified locator. */
550
551
  product: StoreProduct;
551
552
  /** Returns the total product count information based on a specific location accessible through the VTEX segment cookie. */
@@ -561,7 +562,7 @@ export type Query = {
561
562
  /** Returns information about shipping simulation. */
562
563
  shipping?: Maybe<ShippingData>;
563
564
  /** Returns information about the Details of an User Order. */
564
- userOrder?: Maybe<UserOrder>;
565
+ userOrder?: Maybe<UserOrderResult>;
565
566
  };
566
567
 
567
568
 
@@ -802,6 +803,7 @@ export type StoreB2B = {
802
803
  lastName?: Maybe<Scalars['String']>;
803
804
  unitId?: Maybe<Scalars['String']>;
804
805
  unitName?: Maybe<Scalars['String']>;
806
+ userEmail?: Maybe<Scalars['String']>;
805
807
  userName?: Maybe<Scalars['String']>;
806
808
  };
807
809
 
@@ -1690,6 +1692,28 @@ export type UserOrderFromList = {
1690
1692
  workflowInRetry?: Maybe<Scalars['Boolean']>;
1691
1693
  };
1692
1694
 
1695
+ export type UserOrderFromListCustomFields = {
1696
+ __typename?: 'UserOrderFromListCustomFields';
1697
+ costCenter?: Maybe<Array<Maybe<Scalars['String']>>>;
1698
+ desktop?: Maybe<Array<Maybe<Scalars['String']>>>;
1699
+ poNumber?: Maybe<Array<Maybe<Scalars['String']>>>;
1700
+ release?: Maybe<Array<Maybe<Scalars['String']>>>;
1701
+ };
1702
+
1703
+ export type UserOrderFromListMinimal = {
1704
+ __typename?: 'UserOrderFromListMinimal';
1705
+ ShippingEstimatedDate?: Maybe<Scalars['String']>;
1706
+ clientName?: Maybe<Scalars['String']>;
1707
+ creationDate?: Maybe<Scalars['String']>;
1708
+ currencyCode?: Maybe<Scalars['String']>;
1709
+ customFields?: Maybe<UserOrderFromListCustomFields>;
1710
+ items?: Maybe<Array<Maybe<UserOrderItemsSummarized>>>;
1711
+ orderId?: Maybe<Scalars['String']>;
1712
+ status?: Maybe<Scalars['String']>;
1713
+ statusDescription?: Maybe<Scalars['String']>;
1714
+ totalValue?: Maybe<Scalars['Float']>;
1715
+ };
1716
+
1693
1717
  export const enum UserOrderInvoiceType {
1694
1718
  Input = 'Input',
1695
1719
  Output = 'Output'
@@ -1780,6 +1804,12 @@ export type UserOrderItemsSummarized = {
1780
1804
  sellingPrice?: Maybe<Scalars['Float']>;
1781
1805
  };
1782
1806
 
1807
+ export type UserOrderListMinimalResult = {
1808
+ __typename?: 'UserOrderListMinimalResult';
1809
+ list?: Maybe<Array<Maybe<UserOrderFromListMinimal>>>;
1810
+ paging?: Maybe<UserOrderListPaging>;
1811
+ };
1812
+
1783
1813
  export type UserOrderListPaging = {
1784
1814
  __typename?: 'UserOrderListPaging';
1785
1815
  currentPage?: Maybe<Scalars['Int']>;
@@ -2016,6 +2046,23 @@ export type UserOrderRestitutions = {
2016
2046
  Refund?: Maybe<UserOrderRestitutionOption>;
2017
2047
  };
2018
2048
 
2049
+ export type UserOrderResult = {
2050
+ __typename?: 'UserOrderResult';
2051
+ allowCancellation?: Maybe<Scalars['Boolean']>;
2052
+ clientProfileData?: Maybe<UserOrderClientProfileData>;
2053
+ customData?: Maybe<UserOrderCustomData>;
2054
+ customFields?: Maybe<Array<Maybe<UserOrderCustomFieldsGrouped>>>;
2055
+ deliveryOptionsData?: Maybe<UserOrderDeliveryOptionsData>;
2056
+ items?: Maybe<Array<Maybe<UserOrderItems>>>;
2057
+ orderId?: Maybe<Scalars['String']>;
2058
+ paymentData?: Maybe<UserOrderPaymentData>;
2059
+ shippingData?: Maybe<UserOrderShippingData>;
2060
+ status?: Maybe<Scalars['String']>;
2061
+ statusDescription?: Maybe<Scalars['String']>;
2062
+ storePreferencesData?: Maybe<UserOrderStorePreferencesData>;
2063
+ totals?: Maybe<Array<Maybe<UserOrderTotals>>>;
2064
+ };
2065
+
2019
2066
  export type UserOrderSellingPrices = {
2020
2067
  __typename?: 'UserOrderSellingPrices';
2021
2068
  quantity?: Maybe<Scalars['Int']>;
@@ -24,7 +24,7 @@ import { StoreSearchResult } from './resolvers/searchResult'
24
24
  import { StoreSeo } from './resolvers/seo'
25
25
  import { ShippingSLA } from './resolvers/shippingSLA'
26
26
  import { SkuVariants } from './resolvers/skuVariations'
27
- import { UserOrder } from './resolvers/userOrder'
27
+ import { UserOrderResult } from './resolvers/userOrder'
28
28
  import type { Channel } from './utils/channel'
29
29
  import ChannelMarshal from './utils/channel'
30
30
 
@@ -91,7 +91,7 @@ const Resolvers = {
91
91
  StorePropertyValue,
92
92
  SkuVariants,
93
93
  ShippingSLA,
94
- UserOrder,
94
+ UserOrderResult,
95
95
  ObjectOrString,
96
96
  Query,
97
97
  Mutation,
@@ -398,7 +398,19 @@ export const Query = {
398
398
  throw new NotFoundError(`No order found for id ${orderId}`)
399
399
  }
400
400
 
401
- return order
401
+ return {
402
+ orderId: order.orderId,
403
+ totals: order.totals,
404
+ items: order.items,
405
+ shippingData: order.shippingData,
406
+ paymentData: order.paymentData,
407
+ customData: order.customData,
408
+ status: order.status,
409
+ statusDescription: order.statusDescription,
410
+ allowCancellation: order.allowCancellation,
411
+ storePreferencesData: order.storePreferencesData,
412
+ clientProfileData: order.clientProfileData,
413
+ }
402
414
  } catch (error) {
403
415
  const { message } = JSON.parse((error as Error).message).error as {
404
416
  code: string
@@ -406,11 +418,11 @@ export const Query = {
406
418
  exception: any
407
419
  }
408
420
 
409
- if (message.toLowerCase().includes('order not found')) {
421
+ if (message?.toLowerCase()?.includes('order not found')) {
410
422
  throw new NotFoundError(`No order found for id ${orderId}`)
411
423
  }
412
424
 
413
- if (message.toLowerCase().includes('acesso negado')) {
425
+ if (message?.toLowerCase()?.includes('acesso negado')) {
414
426
  throw new ForbiddenError(
415
427
  `You are forbidden to interact with order with id ${orderId}`
416
428
  )
@@ -429,7 +441,20 @@ export const Query = {
429
441
  } = ctx
430
442
 
431
443
  const orders = await commerce.oms.listUserOrders(filters)
432
-
433
- return orders
444
+ return {
445
+ list: orders.list?.map((order: any) => ({
446
+ orderId: order.orderId,
447
+ creationDate: order.creationDate,
448
+ clientName: order.clientName,
449
+ items: order.items,
450
+ totalValue: order.totalValue,
451
+ status: order.status,
452
+ statusDescription: order.statusDescription,
453
+ ShippingEstimatedDate: order.ShippingEstimatedDate,
454
+ // customFields: order.customFields,
455
+ currencyCode: order.currencyCode,
456
+ })),
457
+ paging: orders.paging,
458
+ }
434
459
  },
435
460
  }
@@ -20,12 +20,7 @@ const deliveryChannelsMapping = {
20
20
  ['']: '',
21
21
  } as const
22
22
 
23
- export const UserOrder: Record<string, Resolver<Root>> = {
24
- orderId: ({ orderId }) => orderId,
25
- totals: ({ totals }) => totals,
26
- items: ({ items }) => items,
27
- shippingData: ({ shippingData }) => shippingData,
28
- paymentData: ({ paymentData }) => paymentData,
23
+ export const UserOrderResult: Record<string, Resolver<Root>> = {
29
24
  deliveryOptionsData: (root) => {
30
25
  const { shippingData, items } = root
31
26
  const logisticsInfo = shippingData?.logisticsInfo || []
@@ -128,26 +123,32 @@ export const UserOrder: Record<string, Resolver<Root>> = {
128
123
  },
129
124
  customFields: (root) => {
130
125
  const customFields = root?.customData?.customFields || []
131
- return Object.values(
132
- customFields.reduce(
133
- (
134
- acc: Record<
135
- string,
136
- { type: string; id: string; fields: UserOrderCustomField['fields'] }
137
- >,
138
- entry: Maybe<UserOrderCustomField>
139
- ) => {
140
- const type = entry?.linkedEntity?.type || ''
141
- const id = entry?.linkedEntity?.id || ''
142
- const key = `${type}|${id || ''}`
143
- if (!acc[key]) {
144
- acc[key] = { type, id, fields: [] }
145
- }
146
- acc[key].fields.push(...(entry?.fields || []))
147
- return acc
148
- },
149
- {}
150
- )
126
+ return (
127
+ Object.values(
128
+ customFields.reduce(
129
+ (
130
+ acc: Record<
131
+ string,
132
+ {
133
+ type: string
134
+ id: string
135
+ fields: UserOrderCustomField['fields']
136
+ }
137
+ >,
138
+ entry: Maybe<UserOrderCustomField>
139
+ ) => {
140
+ const type = entry?.linkedEntity?.type || ''
141
+ const id = entry?.linkedEntity?.id || ''
142
+ const key = `${type}|${id || ''}`
143
+ if (!acc[key]) {
144
+ acc[key] = { type, id, fields: [] }
145
+ }
146
+ acc[key].fields.push(...(entry?.fields || []))
147
+ return acc
148
+ },
149
+ {}
150
+ )
151
+ ) || []
151
152
  )
152
153
  // Example of custom fields
153
154
  // return [
@@ -170,6 +170,7 @@ export const validateSession = async (
170
170
  firstName: contract?.firstName ?? '',
171
171
  lastName: contract?.lastName ?? '',
172
172
  userName: user?.name ?? '',
173
+ userEmail: user?.email ?? '',
173
174
  }
174
175
  : null,
175
176
  marketingData,
@@ -376,7 +376,7 @@ type Query {
376
376
  Identifier for the order.
377
377
  """
378
378
  orderId: String!
379
- ): UserOrder
379
+ ): UserOrderResult
380
380
  @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
381
381
 
382
382
  """
@@ -411,7 +411,7 @@ type Query {
411
411
  Client email used to filter of the list of orders.
412
412
  """
413
413
  clientEmail: String
414
- ): UserOrderListResult
414
+ ): UserOrderListMinimalResult
415
415
  @cacheControl(scope: "public", sMaxAge: 120, staleWhileRevalidate: 3600)
416
416
  }
417
417
 
@@ -194,6 +194,7 @@ type StoreB2B {
194
194
  firstName: String
195
195
  lastName: String
196
196
  userName: String
197
+ userEmail: String
197
198
  }
198
199
 
199
200
  input IStoreB2B {
@@ -206,6 +207,7 @@ input IStoreB2B {
206
207
  firstName: String
207
208
  lastName: String
208
209
  userName: String
210
+ userEmail: String
209
211
  }
210
212
 
211
213
  """
@@ -59,6 +59,22 @@ type UserOrder {
59
59
  customFields: [UserOrderCustomFieldsGrouped]
60
60
  }
61
61
 
62
+ type UserOrderResult {
63
+ orderId: String
64
+ status: String
65
+ statusDescription: String
66
+ allowCancellation: Boolean
67
+ storePreferencesData: UserOrderStorePreferencesData
68
+ clientProfileData: UserOrderClientProfileData
69
+ customData: UserOrderCustomData
70
+ customFields: [UserOrderCustomFieldsGrouped]
71
+ deliveryOptionsData: UserOrderDeliveryOptionsData
72
+ paymentData: UserOrderPaymentData
73
+ totals: [UserOrderTotals]
74
+ shippingData: UserOrderShippingData
75
+ items: [UserOrderItems]
76
+ }
77
+
62
78
  type UserOrderListResult {
63
79
  list: [UserOrderFromList]
64
80
  paging: UserOrderListPaging
@@ -712,3 +728,28 @@ type UserOrderCustomFieldsGrouped {
712
728
  id: String
713
729
  fields: [UserOrderCustomFieldField]
714
730
  }
731
+
732
+ type UserOrderFromListCustomFields {
733
+ costCenter: [String]
734
+ poNumber: [String]
735
+ release: [String]
736
+ desktop: [String]
737
+ }
738
+
739
+ type UserOrderListMinimalResult {
740
+ list: [UserOrderFromListMinimal]
741
+ paging: UserOrderListPaging
742
+ }
743
+
744
+ type UserOrderFromListMinimal {
745
+ orderId: String
746
+ creationDate: String
747
+ clientName: String
748
+ items: [UserOrderItemsSummarized]
749
+ totalValue: Float
750
+ status: String
751
+ statusDescription: String
752
+ ShippingEstimatedDate: String
753
+ customFields: UserOrderFromListCustomFields
754
+ currencyCode: String
755
+ }