@things-factory/integration-sellercraft 8.0.0-beta.9 → 8.0.2
Sign up to get free protection for your applications and to get access to all the features.
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
- package/server/constants/index.ts +2 -0
- package/server/constants/order-status-mapping.ts +28 -0
- package/server/constants/platform.ts +6 -0
- package/server/controllers/index.ts +5 -0
- package/server/controllers/sellercraft/apis/add-inbound-order.ts +50 -0
- package/server/controllers/sellercraft/apis/echo.ts +14 -0
- package/server/controllers/sellercraft/apis/fetch-order-document.ts +18 -0
- package/server/controllers/sellercraft/apis/index.ts +8 -0
- package/server/controllers/sellercraft/apis/initiate-order-document.ts +17 -0
- package/server/controllers/sellercraft/apis/initiate-order-shipment.ts +29 -0
- package/server/controllers/sellercraft/apis/pack-marketplace-order.ts +35 -0
- package/server/controllers/sellercraft/apis/update-marketplace-order.ts +14 -0
- package/server/controllers/sellercraft/apis/update-product.ts +21 -0
- package/server/controllers/sellercraft/index.ts +7 -0
- package/server/controllers/sellercraft/platform-action.ts +39 -0
- package/server/controllers/sellercraft/sellercraft.ts +109 -0
- package/server/controllers/sellercraft-api/decorators.ts +52 -0
- package/server/controllers/sellercraft-api/index.ts +51 -0
- package/server/controllers/sellercraft-api/types.ts +0 -0
- package/server/controllers/sellercraft-channel-integration/apis/echo.ts +14 -0
- package/server/controllers/sellercraft-channel-integration/apis/index.ts +6 -0
- package/server/controllers/sellercraft-channel-integration/apis/ingest-channel-categories.ts +37 -0
- package/server/controllers/sellercraft-channel-integration/apis/ingest-channel-category-attributes.ts +65 -0
- package/server/controllers/sellercraft-channel-integration/apis/ingest-channel-order-package.ts +62 -0
- package/server/controllers/sellercraft-channel-integration/apis/ingest-channel-order.ts +92 -0
- package/server/controllers/sellercraft-channel-integration/apis/ingest-channel-product.ts +97 -0
- package/server/controllers/sellercraft-channel-integration/index.ts +7 -0
- package/server/controllers/sellercraft-channel-integration/platform-action.ts +39 -0
- package/server/controllers/sellercraft-channel-integration/sellercraft-channel-integration.ts +115 -0
- package/server/controllers/sellercraft-channel-integration-api/decorators.ts +45 -0
- package/server/controllers/sellercraft-channel-integration-api/index.ts +45 -0
- package/server/controllers/sellercraft-channel-integration-api/types.ts +0 -0
- package/server/index.ts +7 -0
- package/server/middlewares/index.ts +3 -0
- package/server/migrations/index.ts +9 -0
- package/server/routers/sellercraft-router.ts +326 -0
- package/server/routes.ts +32 -0
- package/server/service/index.ts +23 -0
- package/server/service/marketplace-channel/index.ts +6 -0
- package/server/service/marketplace-channel/marketplace-channel-order-mutation.ts +456 -0
- package/server/service/marketplace-channel/marketplace-channel-product-mutation.ts +282 -0
- package/server/service/marketplace-channel/marketplace-channel.ts +76 -0
- package/server/service/sellercraft/index.ts +6 -0
- package/server/service/sellercraft/sellercraft-mutation.ts +126 -0
- package/server/service/sellercraft/sellercraft-query.ts +43 -0
- package/server/service/sellercraft/sellercraft-type.ts +54 -0
- package/server/service/sellercraft/sellercraft.ts +96 -0
- package/server/utils/tokencraft-util.ts +60 -0
- package/tsconfig.json +9 -0
@@ -0,0 +1,60 @@
|
|
1
|
+
import { config } from '@things-factory/env'
|
2
|
+
import { PLATFORM } from '../constants'
|
3
|
+
import { createPayloadLog } from '@things-factory/integration-base'
|
4
|
+
|
5
|
+
export async function getShop(context: any, channelId: string, shopId: string) {
|
6
|
+
const sellercraftChannelIntegrationConfig = config.get('sellercraftChannelIntegrationConfig', {})
|
7
|
+
const { tokenCraftApiKey: apiKey, tokenCraftUrl } = sellercraftChannelIntegrationConfig
|
8
|
+
const xApiKey = context.headers['x-api-key']
|
9
|
+
|
10
|
+
if (apiKey !== xApiKey) context.throw(400, 'api key validation failed')
|
11
|
+
|
12
|
+
var fullPath = `${tokenCraftUrl}?channel_id=${channelId}&shop_id=${shopId}`
|
13
|
+
const response: any = await fetch(fullPath, {
|
14
|
+
method: 'get',
|
15
|
+
headers: {
|
16
|
+
'Content-Type': 'application/json',
|
17
|
+
'x-api-key': apiKey
|
18
|
+
}
|
19
|
+
})
|
20
|
+
if (response.ok) {
|
21
|
+
let store = await response.json()
|
22
|
+
let mappedStore: any = {
|
23
|
+
accessKey: store.shop?.credential?.consumer_key || '',
|
24
|
+
accessSecret: store.shop?.credential?.consumer_secret || '',
|
25
|
+
storeURL: store.shop?.credential?.store_url,
|
26
|
+
platform: PLATFORM[`${store.shop.org_prefix}`],
|
27
|
+
accessToken: store.shop?.credential?.access_token,
|
28
|
+
channelShopId: store.shop?.channel_shop_id,
|
29
|
+
storeId: store.shop?.credential?.store_url
|
30
|
+
}
|
31
|
+
return mappedStore
|
32
|
+
} else {
|
33
|
+
createPayloadLog(shopId, tokenCraftUrl, `channel_id=${channelId}&shop_id=${shopId}`, response?.statusText || 500, {
|
34
|
+
state: { domain: null }
|
35
|
+
})
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
export async function getShops(channelId: string) {
|
40
|
+
const sellercraftChannelIntegrationConfig = config.get('sellercraftChannelIntegrationConfig', {})
|
41
|
+
const { tokenCraftApiKey: apiKey, getShopsTokenCraftUrl } = sellercraftChannelIntegrationConfig
|
42
|
+
|
43
|
+
var channelsFullPath = getShopsTokenCraftUrl + '?channel_id=' + channelId
|
44
|
+
const channelResponse: any = await fetch(channelsFullPath, {
|
45
|
+
method: 'get',
|
46
|
+
headers: {
|
47
|
+
'Content-Type': 'application/json',
|
48
|
+
'x-api-key': apiKey
|
49
|
+
}
|
50
|
+
})
|
51
|
+
|
52
|
+
if (!channelResponse.ok) {
|
53
|
+
createPayloadLog(channelId, getShopsTokenCraftUrl, `channel_id=${channelId}`, channelResponse?.statusText || 500, {
|
54
|
+
state: { domain: null }
|
55
|
+
})
|
56
|
+
throw new Error(channelResponse)
|
57
|
+
}
|
58
|
+
var shopsResponse = await channelResponse.json()
|
59
|
+
return shopsResponse.shops
|
60
|
+
}
|