@faststore/api 3.88.1 → 3.88.6
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/package.json +1 -1
- package/dist/cjs/src/__generated__/schema.d.ts +0 -9
- package/dist/cjs/src/__generated__/schema.d.ts.map +1 -1
- package/dist/cjs/src/__generated__/schema.js.map +1 -1
- package/dist/cjs/src/platforms/errors.d.ts +5 -5
- package/dist/cjs/src/platforms/errors.d.ts.map +1 -1
- package/dist/cjs/src/platforms/errors.js +10 -9
- package/dist/cjs/src/platforms/errors.js.map +1 -1
- package/dist/cjs/src/platforms/vtex/clients/commerce/index.d.ts +1 -5
- package/dist/cjs/src/platforms/vtex/clients/commerce/index.d.ts.map +1 -1
- package/dist/cjs/src/platforms/vtex/clients/commerce/index.js +3 -9
- package/dist/cjs/src/platforms/vtex/clients/commerce/index.js.map +1 -1
- package/dist/cjs/src/platforms/vtex/clients/fetch.d.ts.map +1 -1
- package/dist/cjs/src/platforms/vtex/clients/fetch.js +17 -0
- package/dist/cjs/src/platforms/vtex/clients/fetch.js.map +1 -1
- package/dist/cjs/src/platforms/vtex/clients/index.d.ts +0 -4
- package/dist/cjs/src/platforms/vtex/clients/index.d.ts.map +1 -1
- package/dist/cjs/src/platforms/vtex/resolvers/query.d.ts +1 -1
- package/dist/cjs/src/platforms/vtex/resolvers/query.d.ts.map +1 -1
- package/dist/cjs/src/platforms/vtex/resolvers/query.js +20 -5
- package/dist/cjs/src/platforms/vtex/resolvers/query.js.map +1 -1
- package/dist/cjs/src/platforms/vtex/resolvers/validateSession.d.ts.map +1 -1
- package/dist/cjs/src/platforms/vtex/resolvers/validateSession.js +3 -15
- package/dist/cjs/src/platforms/vtex/resolvers/validateSession.js.map +1 -1
- package/dist/cjs/src/typeDefs/session.graphql +0 -10
- package/dist/esm/package.json +1 -1
- package/dist/esm/src/__generated__/schema.d.ts +0 -9
- package/dist/esm/src/__generated__/schema.d.ts.map +1 -1
- package/dist/esm/src/__generated__/schema.js.map +1 -1
- package/dist/esm/src/platforms/errors.d.ts +5 -5
- package/dist/esm/src/platforms/errors.d.ts.map +1 -1
- package/dist/esm/src/platforms/errors.js +6 -6
- package/dist/esm/src/platforms/errors.js.map +1 -1
- package/dist/esm/src/platforms/vtex/clients/commerce/index.d.ts +1 -5
- package/dist/esm/src/platforms/vtex/clients/commerce/index.d.ts.map +1 -1
- package/dist/esm/src/platforms/vtex/clients/commerce/index.js +3 -9
- package/dist/esm/src/platforms/vtex/clients/commerce/index.js.map +1 -1
- package/dist/esm/src/platforms/vtex/clients/fetch.d.ts.map +1 -1
- package/dist/esm/src/platforms/vtex/clients/fetch.js +17 -0
- package/dist/esm/src/platforms/vtex/clients/fetch.js.map +1 -1
- package/dist/esm/src/platforms/vtex/clients/index.d.ts +0 -4
- package/dist/esm/src/platforms/vtex/clients/index.d.ts.map +1 -1
- package/dist/esm/src/platforms/vtex/resolvers/query.d.ts +1 -1
- package/dist/esm/src/platforms/vtex/resolvers/query.d.ts.map +1 -1
- package/dist/esm/src/platforms/vtex/resolvers/query.js +21 -6
- package/dist/esm/src/platforms/vtex/resolvers/query.js.map +1 -1
- package/dist/esm/src/platforms/vtex/resolvers/validateSession.d.ts.map +1 -1
- package/dist/esm/src/platforms/vtex/resolvers/validateSession.js +3 -15
- package/dist/esm/src/platforms/vtex/resolvers/validateSession.js.map +1 -1
- package/dist/esm/src/typeDefs/session.graphql +0 -10
- package/package.json +2 -2
- package/src/__generated__/schema.ts +0 -11
- package/src/platforms/errors.ts +9 -8
- package/src/platforms/vtex/clients/commerce/index.ts +16 -30
- package/src/platforms/vtex/clients/fetch.ts +27 -0
- package/src/platforms/vtex/resolvers/query.ts +33 -10
- package/src/platforms/vtex/resolvers/validateSession.ts +4 -16
- package/src/typeDefs/session.graphql +0 -10
|
@@ -7,6 +7,7 @@ import type {
|
|
|
7
7
|
QueryPickupPointsArgs,
|
|
8
8
|
QueryProductArgs,
|
|
9
9
|
QueryProductCountArgs,
|
|
10
|
+
QueryProductsArgs,
|
|
10
11
|
QueryProfileArgs,
|
|
11
12
|
QueryRedirectArgs,
|
|
12
13
|
QuerySearchArgs,
|
|
@@ -14,9 +15,14 @@ import type {
|
|
|
14
15
|
QueryShippingArgs,
|
|
15
16
|
QueryUserOrderArgs,
|
|
16
17
|
UserOrderFromList,
|
|
17
|
-
QueryProductsArgs,
|
|
18
18
|
} from '../../../__generated__/schema'
|
|
19
|
-
import {
|
|
19
|
+
import {
|
|
20
|
+
BadRequestError,
|
|
21
|
+
ForbiddenError,
|
|
22
|
+
NotFoundError,
|
|
23
|
+
isForbiddenError,
|
|
24
|
+
isNotFoundError,
|
|
25
|
+
} from '../../errors'
|
|
20
26
|
import type { CategoryTree } from '../clients/commerce/types/CategoryTree'
|
|
21
27
|
import type { ProfileAddress } from '../clients/commerce/types/Profile'
|
|
22
28
|
import type { SearchArgs } from '../clients/search'
|
|
@@ -478,22 +484,39 @@ export const Query = {
|
|
|
478
484
|
},
|
|
479
485
|
}
|
|
480
486
|
} catch (error) {
|
|
481
|
-
const
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
487
|
+
const errorMessage = (error as Error).message
|
|
488
|
+
|
|
489
|
+
let result: {
|
|
490
|
+
code?: string
|
|
491
|
+
message?: string
|
|
492
|
+
exception?: any
|
|
493
|
+
} = {}
|
|
494
|
+
|
|
495
|
+
/** The errorMessage can be in:
|
|
496
|
+
* JSON format: {"error":{"code":"OMS007","message":"Order Not Found","exception":null}}
|
|
497
|
+
* Plain text format: "No authorized"
|
|
498
|
+
* Unknown format
|
|
499
|
+
*/
|
|
500
|
+
try {
|
|
501
|
+
const parsed = JSON.parse(errorMessage)
|
|
502
|
+
result = parsed.error || parsed
|
|
503
|
+
} catch {
|
|
504
|
+
result = { message: errorMessage }
|
|
485
505
|
}
|
|
486
506
|
|
|
487
|
-
|
|
488
|
-
|
|
507
|
+
const message = result?.message || errorMessage
|
|
508
|
+
|
|
509
|
+
if (isNotFoundError(error)) {
|
|
510
|
+
throw new NotFoundError(`No order found for id ${orderId}. ${message}.`)
|
|
489
511
|
}
|
|
490
512
|
|
|
491
|
-
if (
|
|
513
|
+
if (isForbiddenError(error)) {
|
|
492
514
|
throw new ForbiddenError(
|
|
493
|
-
`You are forbidden to interact with order with id ${orderId}
|
|
515
|
+
`You are forbidden to interact with order with id ${orderId}. ${message}.`
|
|
494
516
|
)
|
|
495
517
|
}
|
|
496
518
|
|
|
519
|
+
// Fallback for other Errors
|
|
497
520
|
throw error
|
|
498
521
|
}
|
|
499
522
|
},
|
|
@@ -100,19 +100,10 @@ export const validateSession = async (
|
|
|
100
100
|
const isRepresentative = jwt?.isRepresentative
|
|
101
101
|
const customerId = jwt?.customerId
|
|
102
102
|
const unitId = jwt?.unitId
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
userId
|
|
108
|
-
? clients.commerce.licenseManager
|
|
109
|
-
.getUserGrantedResources({
|
|
110
|
-
userId: userId,
|
|
111
|
-
resourceKey: 'ManageOrganizationAndContract',
|
|
112
|
-
})
|
|
113
|
-
.catch(() => false)
|
|
114
|
-
: false,
|
|
115
|
-
])
|
|
103
|
+
|
|
104
|
+
const sessionData = await clients.commerce
|
|
105
|
+
.session(params.toString())
|
|
106
|
+
.catch(() => null)
|
|
116
107
|
|
|
117
108
|
const profile = sessionData?.namespaces.profile ?? null
|
|
118
109
|
const shopper = sessionData?.namespaces.shopper ?? null
|
|
@@ -165,9 +156,6 @@ export const validateSession = async (
|
|
|
165
156
|
`${shopper?.firstName?.value ?? ''} ${shopper?.lastName?.value ?? ''}`.trim(),
|
|
166
157
|
userEmail: authentication?.storeUserEmail.value ?? '',
|
|
167
158
|
savedPostalCode: publicData?.postalCode?.value ?? '',
|
|
168
|
-
permissions: {
|
|
169
|
-
canManageOrganization,
|
|
170
|
-
},
|
|
171
159
|
}
|
|
172
160
|
: null,
|
|
173
161
|
marketingData,
|
|
@@ -188,10 +188,6 @@ type StoreSession {
|
|
|
188
188
|
refreshAfter: String
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
type StoreB2BPermissions {
|
|
192
|
-
canManageOrganization: Boolean!
|
|
193
|
-
}
|
|
194
|
-
|
|
195
191
|
type StoreB2B {
|
|
196
192
|
customerId: String!
|
|
197
193
|
isRepresentative: Boolean
|
|
@@ -202,11 +198,6 @@ type StoreB2B {
|
|
|
202
198
|
userName: String
|
|
203
199
|
userEmail: String
|
|
204
200
|
savedPostalCode: String
|
|
205
|
-
permissions: StoreB2BPermissions!
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
input IStoreB2BPermissions {
|
|
209
|
-
canManageOrganization: Boolean!
|
|
210
201
|
}
|
|
211
202
|
|
|
212
203
|
input IStoreB2B {
|
|
@@ -219,7 +210,6 @@ input IStoreB2B {
|
|
|
219
210
|
userName: String
|
|
220
211
|
userEmail: String
|
|
221
212
|
savedPostalCode: String
|
|
222
|
-
permissions: IStoreB2BPermissions!
|
|
223
213
|
}
|
|
224
214
|
|
|
225
215
|
"""
|