@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.
- package/dist/cjs/index.js +48 -44
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/index.mjs +315 -280
- package/dist/es/index.mjs.map +1 -1
- package/dist/src/__generated__/schema.d.ts +2 -0
- package/dist/src/__generated__/schema.d.ts.map +1 -1
- package/dist/src/platforms/vtex/clients/commerce/index.d.ts +9 -0
- package/dist/src/platforms/vtex/clients/commerce/index.d.ts.map +1 -1
- package/dist/src/platforms/vtex/clients/commerce/types/StoreFrontContracts.d.ts +11 -0
- package/dist/src/platforms/vtex/clients/commerce/types/StoreFrontContracts.d.ts.map +1 -0
- package/dist/src/platforms/vtex/clients/index.d.ts +3 -0
- package/dist/src/platforms/vtex/clients/index.d.ts.map +1 -1
- package/dist/src/platforms/vtex/index.d.ts.map +1 -1
- package/dist/src/platforms/vtex/resolvers/getOrderEntryOperation.d.ts.map +1 -1
- package/dist/src/platforms/vtex/resolvers/index.d.ts.map +1 -1
- package/dist/src/platforms/vtex/resolvers/query.d.ts.map +1 -1
- package/dist/src/platforms/vtex/utils/contract.d.ts +13 -1
- package/dist/src/platforms/vtex/utils/contract.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/__generated__/schema.ts +2 -0
- package/src/platforms/vtex/clients/commerce/index.ts +23 -0
- package/src/platforms/vtex/clients/commerce/types/StoreFrontContracts.ts +11 -0
- package/src/platforms/vtex/resolvers/query.ts +18 -1
- package/src/platforms/vtex/typeDefs/organization.graphql +4 -0
- package/src/platforms/vtex/utils/contract.ts +31 -2
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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;;;;;;
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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;
|
|
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;
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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,
|
|
@@ -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
|
-
|
|
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
|
|