@faststore/api 4.8.1-dev.0 → 4.8.1-dev.2

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":"index.d.ts","sourceRoot":"","sources":["../../../../src/platforms/vtex/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,SAAS,CAAA;AAKtD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAG9C,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;SAKK;IACL,OAAO,EAAE;QACP,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC1B,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,YAAY,CAAA;QACnB,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5C;;;;;WAKG;QACH,wBAAwB,CAAC,EAAE,GAAG,CAC5B,MAAM,EACN,OAAO,CAAC,OAAO,mBAAmB,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAClE,CAAA;KACF,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED,eAAO,MAAM,yBAAyB,GAAU,SAAS,OAAO,mBACjD,GAAG,KAAG,cAAc,CAkBlC,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,QAAQ,CAC/D,cAAc,EACd,CAAC,EACD,CAAC,EACD,CAAC,CACF,CAAA;AAED,wBAAgB,YAAY;;;;;;gJAkCguB,6CAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAy5hB,CAAC;mBAAsB,CAAC;kBAAqB,CAAC;yBAA8B,CAAC;uBAA0B,CAAC;yBAA4B,CAAC;uBAA0B,CAAC;iBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAAsga,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAlB/19B;AAED,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,aAAa,iBAe5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platforms/vtex/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,SAAS,CAAA;AAKtD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAG9C,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;SAKK;IACL,OAAO,EAAE;QACP,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC1B,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,YAAY,CAAA;QACnB,UAAU,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5C;;;;;WAKG;QACH,wBAAwB,CAAC,EAAE,GAAG,CAC5B,MAAM,EACN,OAAO,CAAC,OAAO,mBAAmB,EAAE,qBAAqB,GAAG,IAAI,CAAC,CAClE,CAAA;KACF,CAAA;IACD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED,eAAO,MAAM,yBAAyB,GAAU,SAAS,OAAO,mBACjD,GAAG,KAAG,cAAc,CAkBlC,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,QAAQ,CAC/D,cAAc,EACd,CAAC,EACD,CAAC,EACD,CAAC,CACF,CAAA;AAED,wBAAgB,YAAY;;;;;;gJAkCguB,6CAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAq7hB,CAAC;mBAAsB,CAAC;kBAAqB,CAAC;yBAA8B,CAAC;uBAA0B,CAAC;yBAA4B,CAAC;uBAA0B,CAAC;iBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAA4ub,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAlBjm/B;AAED,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,aAAa,iBAe5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOrderEntryOperation.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/vtex/resolvers/getOrderEntryOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AACxC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAGjF,eAAO,MAAM,sBAAsB,GACjC,GAAG,OAAO,EACV,iBAAiB,4BAA4B,EAC7C,2BAA2B,cAAc;;;;;;gBAQ0+jC,CAAC;;;EADrhkC,CAAA"}
1
+ {"version":3,"file":"getOrderEntryOperation.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/vtex/resolvers/getOrderEntryOperation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AACxC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAA;AAGjF,eAAO,MAAM,sBAAsB,GACjC,GAAG,OAAO,EACV,iBAAiB,4BAA4B,EAC7C,2BAA2B,cAAc;;;;;;gBAQ4ulC,CAAC;;;EADvxlC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/vtex/resolvers/index.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,YAAY;;;;;;oJAConG,mCAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAy5hB,CAAC;mBAAsB,CAAC;kBAAqB,CAAC;yBAA8B,CAAC;uBAA0B,CAAC;yBAA4B,CAAC;uBAA0B,CAAC;iBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAAsga,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADlsiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/vtex/resolvers/index.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,YAAY;;;;;;oJAConG,mCAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAq7hB,CAAC;mBAAsB,CAAC;kBAAqB,CAAC;yBAA8B,CAAC;uBAA0B,CAAC;yBAA4B,CAAC;uBAA0B,CAAC;iBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAA4ub,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADp8jC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/vtex/resolvers/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAElB,aAAa,EAEd,MAAM,+BAA+B,CAAA;AAUtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAU9B,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAoIlE,eAAO,MAAM,KAAK;iBAEX,OAAO,eACG,gBAAgB,OACxB,cAAc;oBAyChB,OAAO,YACA,mBAAmB,OACxB,cAAc;gBAgBhB,OAAO,6EAQP,eAAe,OACb,cAAc;;;;qBA4EhB,OAAO,gCACoB,oBAAoB,OAC7C,cAAc;;;;;;;;;;;;;kBAkChB,OAAO,kBACM,iBAAiB,OAC5B,cAAc;wBAwBhB,OAAO,gCACoB,uBAAuB,OAChD,cAAc;;;;;;;;;;;;;kBA8EhB,OAAO,kCACsB,iBAAiB,OAC5C,cAAc;;;;;;;;;;;;;;;;;kBAkBhB,OAAO,4BACgB,iBAAiB,OACtC,cAAc;;;iBAqBhB,OAAO,yDAC6C,gBAAgB,OAClE,cAAc;;;;iBAqBhB,OAAO,UACF,gBAAgB,OACnB,cAAc;;;sBAyBhB,OAAO,YACA,qBAAqB,OAC1B,cAAc;mBAahB,OAAO,eACG,kBAAkB,OAC1B,cAAc;;;;;;;;;;;;;;;;;;;;;;;wBAqGhB,OAAO,WACD,uBAAuB,OAC3B,cAAc;;;;;;;;;;;;;;;yBAwBM,OAAO,MAAM,OAAO,OAAO,cAAc;;;;;;;;;;;;;4BAqBtC,OAAO,MAAM,OAAO,OAAO,cAAc;wBA0BlE,OAAO,WACD;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;QACjB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,OACI,cAAc;;;;;;;;;;;;;;;;sBAoDG,OAAO,MAAM,OAAO,QAAQ,cAAc;;;8BAQ7D,OAAO,MACN,OAAO,OACN,cAAc;qBAWE,OAAO,MAAM,OAAO,OAAO,cAAc;;;;;;;;wBAqCtC,OAAO,MAAM,OAAO,OAAO,cAAc;;;;;4BA2E9D,OAAO,iBACK,2BAA2B,OACrC,cAAc,KAClB,OAAO,CAAC,aAAa,EAAE,CAAC;sBA4CtB,OAAO,sBACU,qBAAqB,OACpC,cAAc;;;;;;;oBAgBkyM,CAAC;;;;;;;;;;;;;;;;;;;;CADzzM,CAAA"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/vtex/resolvers/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAElB,aAAa,EAEd,MAAM,+BAA+B,CAAA;AAUtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAW9B,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAoIlE,eAAO,MAAM,KAAK;iBAEX,OAAO,eACG,gBAAgB,OACxB,cAAc;oBAyChB,OAAO,YACA,mBAAmB,OACxB,cAAc;gBAgBhB,OAAO,6EAQP,eAAe,OACb,cAAc;;;;qBA4EhB,OAAO,gCACoB,oBAAoB,OAC7C,cAAc;;;;;;;;;;;;;kBAkChB,OAAO,kBACM,iBAAiB,OAC5B,cAAc;wBAwBhB,OAAO,gCACoB,uBAAuB,OAChD,cAAc;;;;;;;;;;;;;kBA8EhB,OAAO,kCACsB,iBAAiB,OAC5C,cAAc;;;;;;;;;;;;;;;;;kBAkBhB,OAAO,4BACgB,iBAAiB,OACtC,cAAc;;;iBAqBhB,OAAO,yDAC6C,gBAAgB,OAClE,cAAc;;;;iBAqBhB,OAAO,UACF,gBAAgB,OACnB,cAAc;;;sBAyBhB,OAAO,YACA,qBAAqB,OAC1B,cAAc;mBAahB,OAAO,eACG,kBAAkB,OAC1B,cAAc;;;;;;;;;;;;;;;;;;;;;;;wBAqGhB,OAAO,WACD,uBAAuB,OAC3B,cAAc;;;;;;;;;;;;;;;yBAwBM,OAAO,MAAM,OAAO,OAAO,cAAc;;;;;;;;;;;;;4BAqBtC,OAAO,MAAM,OAAO,OAAO,cAAc;wBA0BlE,OAAO,WACD;QACP,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;QACjB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,OACI,cAAc;;;;;;;;;;;;;;;;sBAoDG,OAAO,MAAM,OAAO,QAAQ,cAAc;;;8BAQ7D,OAAO,MACN,OAAO,OACN,cAAc;qBAWE,OAAO,MAAM,OAAO,OAAO,cAAc;;;;;;;;wBAqCtC,OAAO,MAAM,OAAO,OAAO,cAAc;;;;;4BA2E9D,OAAO,iBACK,2BAA2B,OACrC,cAAc,KAClB,OAAO,CAAC,aAAa,EAAE,CAAC;sBA4DtB,OAAO,sBACU,qBAAqB,OACpC,cAAc;;;;;;;oBAgBmkN,CAAC;;;;;;;;;;;;;;;;;;;;CAD1lN,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { ContractResponse } from '../clients/commerce/Contract';
2
2
  import { SessionAvailableContract, Shopper } from '../clients/commerce/types/Session';
3
+ import { AttachedContract } from '../clients/commerce/types/StoreFrontContracts';
3
4
  type ProfileNameFields = {
4
5
  firstName?: {
5
6
  value?: string | null;
@@ -38,13 +39,24 @@ export declare const resolveActiveContractIdFromSession: (sessionData: {
38
39
  } | null;
39
40
  } | null;
40
41
  } | null) => string;
42
+ /**
43
+ * Unit default = explicit `isDefault` when the BFF sends one, else the first
44
+ * attached contract (same rule as faststore-plugin-buyer-portal
45
+ * `list-attached-contracts.service.ts`).
46
+ *
47
+ * `fetchAPI` returns unvalidated JSON, so only a real boolean `true` counts as
48
+ * an explicit default — a truthy `'false'` string must fall through to the
49
+ * BFF's ordering instead of hijacking the flag.
50
+ */
51
+ export declare const resolveDefaultContractId: (attached: AttachedContract[] | null | undefined) => string;
41
52
  /**
42
53
  * Maps session contracts to GraphQL `StoreContract` entries.
43
54
  */
44
- export declare const mapSessionContractsToStoreContracts: (contracts: SessionAvailableContract[], activeContractId?: string) => Array<{
55
+ export declare const mapSessionContractsToStoreContracts: (contracts: SessionAvailableContract[], activeContractId?: string, defaultContractId?: string) => Array<{
45
56
  id: string;
46
57
  corporateName: string;
47
58
  isActive: boolean;
59
+ isDefault: boolean;
48
60
  }>;
49
61
  /**
50
62
  * Whether a CL record is eligible for contract switcher summaries (attached list).
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/vtex/utils/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EACV,wBAAwB,EACxB,OAAO,EACR,MAAM,mCAAmC,CAAA;AAE1C,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IAC5C,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAC5C,GAAG,IAAI,CAAA;AAER;;GAEG;AACH,eAAO,MAAM,gCAAgC,GAC3C,UAAU,gBAAgB,GAAG,IAAI,GAAG,SAAS,KAC5C,MAQF,CAAA;AAoBD;;GAEG;AACH,eAAO,MAAM,8BAA8B,GACzC,SAAS,OAAO,GAAG,IAAI,GAAG,SAAS,KAClC,wBAAwB,EAQ1B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAU,wBAAwB,GAAG,IAAI,GAAG,SAAS,KACpD,OAQF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kCAAkC,GAC7C,aAAa;IACX,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;QACxB,cAAc,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;QACzE,OAAO,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;KAC3D,GAAG,IAAI,CAAA;CACT,GAAG,IAAI,KACP,MAOF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mCAAmC,GAC9C,WAAW,wBAAwB,EAAE,EACrC,yBAAqB,KACpB,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAUhE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAU,gBAAgB,GAAG,IAAI,GAAG,SAAS,KAC5C,OASF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gCAAgC,GAC3C,UAAU,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,iBAAiB,KACzB,MAQF,CAAA"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/vtex/utils/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EACV,wBAAwB,EACxB,OAAO,EACR,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAA;AAErF,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;IAC5C,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAC5C,GAAG,IAAI,CAAA;AAER;;GAEG;AACH,eAAO,MAAM,gCAAgC,GAC3C,UAAU,gBAAgB,GAAG,IAAI,GAAG,SAAS,KAC5C,MAQF,CAAA;AAoBD;;GAEG;AACH,eAAO,MAAM,8BAA8B,GACzC,SAAS,OAAO,GAAG,IAAI,GAAG,SAAS,KAClC,wBAAwB,EAQ1B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAU,wBAAwB,GAAG,IAAI,GAAG,SAAS,KACpD,OAQF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kCAAkC,GAC7C,aAAa;IACX,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;QACxB,cAAc,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;QACzE,OAAO,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAA;KAC3D,GAAG,IAAI,CAAA;CACT,GAAG,IAAI,KACP,MAOF,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,GACnC,UAAU,gBAAgB,EAAE,GAAG,IAAI,GAAG,SAAS,KAC9C,MAMF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mCAAmC,GAC9C,WAAW,wBAAwB,EAAE,EACrC,yBAAqB,EACrB,0BAAsB,KACrB,KAAK,CAAC;IACP,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;CACnB,CAaA,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAU,gBAAgB,GAAG,IAAI,GAAG,SAAS,KAC5C,OASF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gCAAgC,GAC3C,UAAU,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAC7C,SAAS,iBAAiB,KACzB,MAQF,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/api",
3
- "version": "4.8.1-dev.0",
3
+ "version": "4.8.1-dev.2",
4
4
  "license": "MIT",
5
5
  "main": "dist/cjs/index.js",
6
6
  "typings": "dist/src/index.d.ts",
@@ -58,11 +58,11 @@
58
58
  "vite": "7.1.5",
59
59
  "vite-plugin-dts": "4.5.4",
60
60
  "vitest": "4.0.18",
61
- "@faststore/diagnostics": "^4.8.1-dev.0"
61
+ "@faststore/diagnostics": "^4.8.1-dev.2"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "graphql": "16.11.0",
65
- "@faststore/diagnostics": "4.8.1-dev.0"
65
+ "@faststore/diagnostics": "4.8.1-dev.2"
66
66
  },
67
67
  "publishConfig": {
68
68
  "access": "public"
@@ -1514,6 +1514,8 @@ export type StoreContract = {
1514
1514
  id: Scalars['ID']['output'];
1515
1515
  /** Indicates whether this contract is the one currently active in the session. */
1516
1516
  isActive: Scalars['Boolean']['output'];
1517
+ /** Indicates whether this contract is the Organization Unit's default contract. */
1518
+ isDefault: Scalars['Boolean']['output'];
1517
1519
  };
1518
1520
 
1519
1521
  /** Currency information. */
@@ -47,6 +47,7 @@ import type { PortalProduct } from './types/Product'
47
47
  import type { Region, RegionInput } from './types/Region'
48
48
  import type { SalesChannel } from './types/SalesChannel'
49
49
  import type { Session } from './types/Session'
50
+ import type { AttachedContractsResponse } from './types/StoreFrontContracts'
50
51
  import type { DeliveryMode, SelectedAddress } from './types/ShippingData'
51
52
  import type {
52
53
  Simulation,
@@ -675,6 +676,28 @@ export const VtexCommerce = (
675
676
  { storeCookies }
676
677
  )
677
678
  },
679
+ storeFront: {
680
+ /**
681
+ * Attached contracts of an Org Unit from the buyer-portal store-front BFF
682
+ * (requires the `buyer-portal-graphql` IO app). Buyer cookie forwarded;
683
+ * no app keys involved.
684
+ */
685
+ attachedContracts: (
686
+ orgUnitId: string
687
+ ): Promise<AttachedContractsResponse> => {
688
+ const headers: HeadersInit = withCookie({
689
+ 'content-type': 'application/json',
690
+ })
691
+
692
+ return fetchAPI(
693
+ `https://${account}.myvtex.com/_v/store-front/units/${encodeURIComponent(
694
+ orgUnitId
695
+ )}/contracts/attached?details=true`,
696
+ { headers },
697
+ { storeCookies }
698
+ )
699
+ },
700
+ },
678
701
  subscribeToNewsletter: (data: {
679
702
  name: string
680
703
  email: string
@@ -0,0 +1,11 @@
1
+ /** `GET /_v/store-front/units/{orgUnitId}/contracts/attached` (buyer-portal-graphql). */
2
+ export type AttachedContract = {
3
+ id: string
4
+ name?: string | null
5
+ /** Not emitted by the BFF today; honored when present. The BFF lists the default first. */
6
+ isDefault?: boolean
7
+ }
8
+
9
+ export type AttachedContractsResponse = {
10
+ contracts: AttachedContract[]
11
+ }
@@ -42,6 +42,7 @@ import {
42
42
  parseSessionAvailableContracts,
43
43
  resolveActiveContractDisplayName,
44
44
  resolveActiveContractIdFromSession,
45
+ resolveDefaultContractId,
45
46
  } from '../utils/contract'
46
47
  import { mutateChannelContext, mutateLocaleContext } from '../utils/contex'
47
48
  import { getAuthCookie, parseJwt } from '../utils/cookies'
@@ -991,7 +992,23 @@ export const Query = {
991
992
  jwt?.customerId?.trim() ||
992
993
  ''
993
994
 
994
- return mapSessionContractsToStoreContracts(contracts, activeContractId)
995
+ // Default flag lives only in the store-front BFF; never block the list on it.
996
+ const attached = await commerce.storeFront
997
+ .attachedContracts(orgUnitId)
998
+ .catch((error) => {
999
+ console.warn(
1000
+ 'availableContracts: default contract lookup failed',
1001
+ error
1002
+ )
1003
+ return null
1004
+ })
1005
+ const defaultContractId = resolveDefaultContractId(attached?.contracts)
1006
+
1007
+ return mapSessionContractsToStoreContracts(
1008
+ contracts,
1009
+ activeContractId,
1010
+ defaultContractId
1011
+ )
995
1012
  },
996
1013
  pickupPoints: async (
997
1014
  _: unknown,
@@ -34,4 +34,8 @@ type StoreContract {
34
34
  Indicates whether this contract is the one currently active in the session.
35
35
  """
36
36
  isActive: Boolean!
37
+ """
38
+ Indicates whether this contract is the Organization Unit's default contract.
39
+ """
40
+ isDefault: Boolean!
37
41
  }
@@ -3,6 +3,7 @@ import type {
3
3
  SessionAvailableContract,
4
4
  Shopper,
5
5
  } from '../clients/commerce/types/Session'
6
+ import type { AttachedContract } from '../clients/commerce/types/StoreFrontContracts'
6
7
 
7
8
  type ProfileNameFields = {
8
9
  firstName?: { value?: string | null } | null
@@ -92,14 +93,40 @@ export const resolveActiveContractIdFromSession = (
92
93
  )
93
94
  }
94
95
 
96
+ /**
97
+ * Unit default = explicit `isDefault` when the BFF sends one, else the first
98
+ * attached contract (same rule as faststore-plugin-buyer-portal
99
+ * `list-attached-contracts.service.ts`).
100
+ *
101
+ * `fetchAPI` returns unvalidated JSON, so only a real boolean `true` counts as
102
+ * an explicit default — a truthy `'false'` string must fall through to the
103
+ * BFF's ordering instead of hijacking the flag.
104
+ */
105
+ export const resolveDefaultContractId = (
106
+ attached: AttachedContract[] | null | undefined
107
+ ): string => {
108
+ if (!Array.isArray(attached) || attached.length === 0) return ''
109
+ const chosen =
110
+ attached.find((contract) => contract?.isDefault === true) ?? attached[0]
111
+
112
+ return String(chosen?.id ?? '').trim()
113
+ }
114
+
95
115
  /**
96
116
  * Maps session contracts to GraphQL `StoreContract` entries.
97
117
  */
98
118
  export const mapSessionContractsToStoreContracts = (
99
119
  contracts: SessionAvailableContract[],
100
- activeContractId = ''
101
- ): Array<{ id: string; corporateName: string; isActive: boolean }> => {
120
+ activeContractId = '',
121
+ defaultContractId = ''
122
+ ): Array<{
123
+ id: string
124
+ corporateName: string
125
+ isActive: boolean
126
+ isDefault: boolean
127
+ }> => {
102
128
  const normalizedActiveId = activeContractId.trim()
129
+ const normalizedDefaultId = defaultContractId.trim()
103
130
 
104
131
  return contracts.filter(isSwitchableSessionContract).map((contract) => ({
105
132
  id: contract.customerId,
@@ -107,6 +134,8 @@ export const mapSessionContractsToStoreContracts = (
107
134
  isActive: normalizedActiveId
108
135
  ? contract.customerId === normalizedActiveId
109
136
  : contract.isCurrent,
137
+ isDefault:
138
+ normalizedDefaultId !== '' && contract.customerId === normalizedDefaultId,
110
139
  }))
111
140
  }
112
141