@things-factory/integration-fulfillment 8.0.0-beta.1 → 8.0.0-beta.4

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 (47) hide show
  1. package/package.json +11 -11
  2. package/server/controllers/fulfillment-api/decorators.ts +0 -44
  3. package/server/controllers/fulfillment-api/index.ts +0 -64
  4. package/server/controllers/fulfillment-api/types.ts +0 -0
  5. package/server/controllers/index.ts +0 -1
  6. package/server/controllers/operato/cancel-release-order.ts +0 -19
  7. package/server/controllers/operato/create-inbound-order.ts +0 -33
  8. package/server/controllers/operato/create-outbound-order.ts +0 -17
  9. package/server/controllers/operato/create-sales-invoice.ts +0 -17
  10. package/server/controllers/operato/echo.ts +0 -14
  11. package/server/controllers/operato/get-center-products.ts +0 -20
  12. package/server/controllers/operato/get-inbound-order.ts +0 -22
  13. package/server/controllers/operato/get-inventory-product-group-open-api.ts +0 -19
  14. package/server/controllers/operato/get-inventory-product-group.ts +0 -19
  15. package/server/controllers/operato/get-outbound-order.ts +0 -22
  16. package/server/controllers/operato/get-outbound-orders.ts +0 -21
  17. package/server/controllers/operato/index.ts +0 -31
  18. package/server/controllers/operato/operato.ts +0 -130
  19. package/server/controllers/operato/platform-action.ts +0 -51
  20. package/server/controllers/operato/update-release-order-details.ts +0 -17
  21. package/server/entities/fulfillment-center.ts +0 -82
  22. package/server/entities/index.ts +0 -5
  23. package/server/graphql/index.ts +0 -7
  24. package/server/graphql/resolvers/fulfillment-center/create-fulfillment-center.ts +0 -14
  25. package/server/graphql/resolvers/fulfillment-center/delete-fulfillment-center.ts +0 -10
  26. package/server/graphql/resolvers/fulfillment-center/delete-fulfillment-centers.ts +0 -15
  27. package/server/graphql/resolvers/fulfillment-center/fulfillment-center.ts +0 -14
  28. package/server/graphql/resolvers/fulfillment-center/fulfillment-centers.ts +0 -16
  29. package/server/graphql/resolvers/fulfillment-center/having-fulfillment-center.ts +0 -21
  30. package/server/graphql/resolvers/fulfillment-center/index.ts +0 -27
  31. package/server/graphql/resolvers/fulfillment-center/operato/deactivate-operato-center.ts +0 -49
  32. package/server/graphql/resolvers/fulfillment-center/operato/generate-operato-access-token.ts +0 -63
  33. package/server/graphql/resolvers/fulfillment-center/operato/get-operato-auth-url.ts +0 -14
  34. package/server/graphql/resolvers/fulfillment-center/operato/index.ts +0 -14
  35. package/server/graphql/resolvers/fulfillment-center/operato/refresh-operato-access-token.ts +0 -62
  36. package/server/graphql/resolvers/fulfillment-center/update-fulfillment-center.ts +0 -18
  37. package/server/graphql/resolvers/fulfillment-center/update-multiple-fulfillment-center.ts +0 -45
  38. package/server/graphql/resolvers/index.ts +0 -5
  39. package/server/graphql/types/fulfillment-center/fulfillment-center-list.ts +0 -8
  40. package/server/graphql/types/fulfillment-center/fulfillment-center-patch.ts +0 -13
  41. package/server/graphql/types/fulfillment-center/fulfillment-center.ts +0 -19
  42. package/server/graphql/types/fulfillment-center/index.ts +0 -52
  43. package/server/graphql/types/fulfillment-center/new-fulfillment-center.ts +0 -11
  44. package/server/graphql/types/index.ts +0 -9
  45. package/server/index.ts +0 -6
  46. package/server/migrations/index.ts +0 -9
  47. package/server/routes.ts +0 -25
@@ -1,82 +0,0 @@
1
- import { User } from '@things-factory/auth-base'
2
- import { Domain } from '@things-factory/shell'
3
- import { Column, CreateDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from 'typeorm'
4
-
5
- export const enum FulfillmentCenterStatus {
6
- Active = 'active',
7
- Inactive = 'inactive'
8
- }
9
-
10
- @Entity()
11
- @Index(
12
- 'ix_fulfillment-center_0',
13
- (fulfillmentCenter: FulfillmentCenter) => [fulfillmentCenter.domain, fulfillmentCenter.name],
14
- { unique: true }
15
- )
16
- export class FulfillmentCenter {
17
- @PrimaryGeneratedColumn('uuid')
18
- id: string
19
-
20
- @ManyToOne(type => Domain)
21
- domain: Domain
22
-
23
- @Column()
24
- platform: string
25
-
26
- @Column({
27
- nullable: true
28
- })
29
- centerId: string
30
-
31
- @Column()
32
- countryCode: string
33
-
34
- @Column({
35
- nullable: true
36
- })
37
- status: string
38
-
39
- @Column()
40
- name: string
41
-
42
- @Column({
43
- nullable: true
44
- })
45
- accessInfo: string
46
-
47
- @Column({
48
- nullable: true
49
- })
50
- accessToken: string
51
-
52
- @Column({
53
- nullable: true
54
- })
55
- refreshToken: string
56
-
57
- @Column({
58
- nullable: true
59
- })
60
- account: string
61
-
62
- @Column({
63
- nullable: true
64
- })
65
- description: string
66
-
67
- @CreateDateColumn()
68
- createdAt: Date
69
-
70
- @UpdateDateColumn()
71
- updatedAt: Date
72
-
73
- @ManyToOne(type => User, {
74
- nullable: true
75
- })
76
- creator: User
77
-
78
- @ManyToOne(type => User, {
79
- nullable: true
80
- })
81
- updater: User
82
- }
@@ -1,5 +0,0 @@
1
- import { FulfillmentCenter, FulfillmentCenterStatus } from './fulfillment-center'
2
-
3
- export const entities = [FulfillmentCenter]
4
-
5
- export { FulfillmentCenter, FulfillmentCenterStatus }
@@ -1,7 +0,0 @@
1
- import * as typeDefs from './types'
2
- import * as resolvers from './resolvers'
3
-
4
- export const schema = {
5
- typeDefs,
6
- resolvers
7
- }
@@ -1,14 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { FulfillmentCenter } from '../../../entities'
4
-
5
- export const createFulfillmentCenter = {
6
- async createFulfillmentCenter(_: any, { fulfillmentCenter }, context: ResolverContext) {
7
- return await getRepository(FulfillmentCenter).save({
8
- ...fulfillmentCenter,
9
- domain: context.state.domain,
10
- creator: context.state.user,
11
- updater: context.state.user
12
- })
13
- }
14
- }
@@ -1,10 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { FulfillmentCenter } from '../../../entities'
4
-
5
- export const deleteFulfillmentCenter = {
6
- async deleteFulfillmentCenter(_: any, { name }, context: ResolverContext) {
7
- await getRepository(FulfillmentCenter).delete({ domain: { id: context.state.domain.id }, name })
8
- return true
9
- }
10
- }
@@ -1,15 +0,0 @@
1
- import { In } from 'typeorm'
2
-
3
- import { getRepository } from '@things-factory/shell'
4
-
5
- import { FulfillmentCenter } from '../../../entities'
6
-
7
- export const deleteFulfillmentCenters = {
8
- async deleteFulfillmentCenters(_: any, { ids }, context: ResolverContext) {
9
- await getRepository(FulfillmentCenter).delete({
10
- domain: { id: context.state.domain.id },
11
- id: In(ids)
12
- })
13
- return true
14
- }
15
- }
@@ -1,14 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { FulfillmentCenter } from '../../../entities'
4
-
5
- export const fulfillmentCenterResolver = {
6
- async fulfillmentCenter(_: any, { id }, context: ResolverContext) {
7
- const repository = getRepository(FulfillmentCenter)
8
-
9
- return await getRepository(FulfillmentCenter).findOne({
10
- where: { domain: { id: context.state.domain.id }, id },
11
- relations: ['domain', 'creator', 'updater']
12
- })
13
- }
14
- }
@@ -1,16 +0,0 @@
1
- import { buildQuery, getRepository, ListParam } from '@things-factory/shell'
2
-
3
- import { FulfillmentCenter } from '../../../entities'
4
-
5
- export const fulfillmentCentersResolver = {
6
- async fulfillmentCenters(_: any, params: ListParam, context: ResolverContext) {
7
- const queryBuilder = getRepository(FulfillmentCenter).createQueryBuilder('FC')
8
- buildQuery(queryBuilder, params, context)
9
- const [items, total] = await queryBuilder
10
- .leftJoinAndSelect('FC.domain', 'DOMAIN')
11
- .leftJoinAndSelect('FC.creator', 'CREATOR')
12
- .leftJoinAndSelect('FC.updater', 'UPDATER')
13
- .getManyAndCount()
14
- return { items, total }
15
- }
16
- }
@@ -1,21 +0,0 @@
1
- import '@things-factory/auth-base' // for ResolverContext
2
-
3
- import { getRepository } from '@things-factory/shell'
4
-
5
- import { FulfillmentCenter } from '../../../entities'
6
-
7
- const debug = require('debug')('things-factory:integration-fulfillment:having-fulfillment-center')
8
-
9
- export const havingFulfillmentCenterResolver = {
10
- async havingFulfillmentCenter(_: any, {}, context: ResolverContext) {
11
- const { user } = context.state
12
- const userCompanyDomain = user.domains.filter(domain => domain.extType === 'company')
13
- const fulfillmentCenters: FulfillmentCenter[] = await getRepository(FulfillmentCenter).find({
14
- where: {
15
- domain: { id: userCompanyDomain[0].id }
16
- }
17
- })
18
-
19
- return fulfillmentCenters
20
- }
21
- }
@@ -1,27 +0,0 @@
1
- import { fulfillmentCenterResolver } from './fulfillment-center'
2
- import { fulfillmentCentersResolver } from './fulfillment-centers'
3
- import { havingFulfillmentCenterResolver } from './having-fulfillment-center'
4
-
5
- import { updateMultipleFulfillmentCenter } from './update-multiple-fulfillment-center'
6
- import { updateFulfillmentCenter } from './update-fulfillment-center'
7
- import { createFulfillmentCenter } from './create-fulfillment-center'
8
- import { deleteFulfillmentCenter } from './delete-fulfillment-center'
9
- import { deleteFulfillmentCenters } from './delete-fulfillment-centers'
10
-
11
- import * as Operato from './operato'
12
-
13
- export const Query = {
14
- ...fulfillmentCentersResolver,
15
- ...fulfillmentCenterResolver,
16
- ...havingFulfillmentCenterResolver,
17
- ...Operato.Query
18
- } as any
19
-
20
- export const Mutation = {
21
- ...updateFulfillmentCenter,
22
- ...updateMultipleFulfillmentCenter,
23
- ...createFulfillmentCenter,
24
- ...deleteFulfillmentCenter,
25
- ...deleteFulfillmentCenters,
26
- ...Operato.Mutation
27
- }
@@ -1,49 +0,0 @@
1
- import fetch, { Response } from 'node-fetch'
2
-
3
- import { config } from '@things-factory/env'
4
-
5
- import { FulfillmentCenter, FulfillmentCenterStatus } from '../../../../entities'
6
-
7
- const debug = require('debug')('things-factory:integration-fulfillment:deactivate-operato-center')
8
-
9
- const { protocol = 'https', host } = config.get('fulfillmentIntegrationOperato', {})
10
-
11
- export const deactivateOperatoCenter = {
12
- async deactivateOperatoCenter(_: any, { name }, context: ResolverContext): Promise<FulfillmentCenter> {
13
- try {
14
- const { tx, user } = context.state
15
- const repository = tx.getRepository(FulfillmentCenter)
16
- const fulfillmentCenter: any = await repository.findOne({
17
- where: { domain: { id: context.state.domain.id }, name }
18
- })
19
-
20
- const disconnectURL: string = `${protocol}://${host}/oauth/disconnect`
21
- const response: Response = await fetch(disconnectURL, {
22
- method: 'post',
23
- headers: {
24
- 'Content-Type': 'application/json',
25
- 'x-access-token': fulfillmentCenter.accessToken
26
- }
27
- })
28
-
29
- if (!response.ok) {
30
- debug('error', await response.text())
31
- return
32
- }
33
-
34
- Object.assign(fulfillmentCenter, {
35
- centerId: '',
36
- accessToken: '',
37
- refreshToken: '',
38
- accessInfo: '',
39
- countryCode: '',
40
- status: FulfillmentCenterStatus.Active,
41
- updater: user
42
- })
43
-
44
- return await repository.save(fulfillmentCenter)
45
- } catch (e) {
46
- throw e.message
47
- }
48
- }
49
- }
@@ -1,63 +0,0 @@
1
- import fetch from 'node-fetch'
2
-
3
- import { config } from '@things-factory/env'
4
- import { getRepository } from '@things-factory/shell'
5
-
6
- import { FulfillmentCenter, FulfillmentCenterStatus } from '../../../../entities'
7
-
8
- const { protocol = 'https', host, appKey, appSecret } = config.get('fulfillmentIntegrationOperato', {})
9
-
10
- const debug = require('debug')('things-factory:integration-fulfillment:generate-operato-access-token')
11
-
12
- export const generateOperatoAccessToken = {
13
- async generateOperatoAccessToken(_: any, { id, code }, context: ResolverContext) {
14
- const repository = getRepository(FulfillmentCenter)
15
- const fulfillmentCenter: any = await repository.findOne({
16
- where: { domain: { id: context.state.domain.id }, id }
17
- })
18
-
19
- const requestBody = {
20
- grant_type: 'authorization_code',
21
- client_id: appKey,
22
- client_secret: appSecret,
23
- redirect_uri: fulfillmentCenter.redirectUrl,
24
- code
25
- }
26
-
27
- debug('request body', requestBody)
28
-
29
- const response = await fetch(`${protocol}://${host}/oauth/access-token`, {
30
- method: 'post',
31
- headers: {
32
- 'Content-Type': 'application/json'
33
- },
34
- body: JSON.stringify(requestBody)
35
- })
36
-
37
- if (!response.ok) {
38
- debug('error', await response.text())
39
- return
40
- }
41
-
42
- const body = await response.json()
43
- const { access_token, refresh_token, centerId } = body
44
-
45
- if (!access_token) {
46
- throw new Error(`get fulfillment center information failed: ${body}`)
47
- }
48
-
49
- var patch = {
50
- accessToken: access_token,
51
- refreshToken: refresh_token,
52
- accessInfo: JSON.stringify(body, null, 2),
53
- centerId,
54
- status: FulfillmentCenterStatus.Active
55
- }
56
-
57
- return await repository.save({
58
- ...fulfillmentCenter,
59
- ...patch,
60
- updater: context.state.user
61
- })
62
- }
63
- }
@@ -1,14 +0,0 @@
1
- import { config } from '@things-factory/env'
2
-
3
- import { Operato } from '../../../../controllers/operato'
4
-
5
- const operatoConfig = config.get('fulfillmentIntegrationOperato', {})
6
- const { appKey, appSecret, callback } = operatoConfig
7
-
8
- export const getOperatoAuthURL = {
9
- async getOperatoAuthURL(_: any, { nonce }, context: ResolverContext) {
10
- const operato = new Operato({ appKey, appSecret, redirectUrl: callback })
11
-
12
- return operato.buildAuthURL(nonce)
13
- }
14
- }
@@ -1,14 +0,0 @@
1
- import { deactivateOperatoCenter } from './deactivate-operato-center'
2
- import { generateOperatoAccessToken } from './generate-operato-access-token'
3
- import { getOperatoAuthURL } from './get-operato-auth-url'
4
- import { refreshOperatoAccessToken } from './refresh-operato-access-token'
5
-
6
- export const Query = {
7
- ...getOperatoAuthURL
8
- }
9
-
10
- export const Mutation = {
11
- ...generateOperatoAccessToken,
12
- ...deactivateOperatoCenter,
13
- ...refreshOperatoAccessToken
14
- }
@@ -1,62 +0,0 @@
1
- import fetch from 'node-fetch'
2
-
3
- import { config } from '@things-factory/env'
4
- import { getRepository } from '@things-factory/shell'
5
- import { parseJwt } from '@things-factory/utils'
6
-
7
- import { FulfillmentCenter } from '../../../../entities'
8
-
9
- const { protocol = 'https', host, appKey, appSecret } = config.get('fulfillmentIntegrationOperato', {})
10
-
11
- const debug = require('debug')('things-factory:integration-fulfillment:refresh-operato-access-token')
12
-
13
- export const refreshOperatoAccessToken = {
14
- async refreshOperatoAccessToken(_: any, { id }, context: ResolverContext) {
15
- const repository = getRepository(FulfillmentCenter)
16
- const fulfillmentCenter: any = await repository.findOne({
17
- where: { domain: { id: context.state.domain.id }, id }
18
- })
19
-
20
- const requestBody = {
21
- refreshToken: fulfillmentCenter.refreshToken
22
- }
23
-
24
- const refreshResponse = await fetch(`${protocol}://${host}/oauth/refresh-token`, {
25
- method: 'post',
26
- headers: {
27
- 'Content-Type': 'application/json'
28
- },
29
- body: JSON.stringify(requestBody)
30
- })
31
-
32
- if (!refreshResponse.ok) {
33
- throw new Error(`get operato information failed: ${await refreshResponse.text()}`)
34
- }
35
-
36
- const body = await refreshResponse.json()
37
- const {
38
- accessToken /* token used to call the API */,
39
- id_token /* token containing user identity details (only returned if OpenID Connect scopes are requested) */,
40
- expires_in /* amount of seconds until the access token expires */,
41
- token_type: tokenType /* must be Bearer */,
42
- refreshToken
43
- /* token used to refresh the access token once it has expired (only returned if the offline_access scope is requested).
44
- */
45
- } = body
46
-
47
- const { exp } = parseJwt(accessToken)
48
-
49
- var patch = {
50
- accessToken,
51
- refreshToken,
52
- tokenType,
53
- expiresIn: new Date(exp * 1000)
54
- }
55
-
56
- return await repository.save({
57
- ...fulfillmentCenter,
58
- ...patch,
59
- updater: context.state.user
60
- })
61
- }
62
- }
@@ -1,18 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { FulfillmentCenter } from '../../../entities'
4
-
5
- export const updateFulfillmentCenter = {
6
- async updateFulfillmentCenter(_: any, { name, patch }, context: ResolverContext) {
7
- const repository = getRepository(FulfillmentCenter)
8
- const fulfillmentCenter: any = await repository.findOne({
9
- where: { domain: { id: context.state.domain.id }, name }
10
- })
11
-
12
- return await repository.save({
13
- ...fulfillmentCenter,
14
- ...patch,
15
- updater: context.state.user
16
- })
17
- }
18
- }
@@ -1,45 +0,0 @@
1
- import { getRepository } from '@things-factory/shell'
2
-
3
- import { FulfillmentCenter } from '../../../entities'
4
-
5
- export const updateMultipleFulfillmentCenter = {
6
- async updateMultipleFulfillmentCenter(_: any, { patches }, context: ResolverContext) {
7
- let results = []
8
- const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
9
- const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
10
- const fulfillmentCenterRepo = getRepository(FulfillmentCenter)
11
-
12
- if (_createRecords.length > 0) {
13
- for (let i = 0; i < _createRecords.length; i++) {
14
- const newRecord = _createRecords[i]
15
-
16
- const result = await fulfillmentCenterRepo.save({
17
- ...newRecord,
18
- domain: context.state.domain,
19
- status: 'inactive',
20
- creator: context.state.user,
21
- updater: context.state.user
22
- })
23
-
24
- results.push({ ...result, cuFlag: '+' })
25
- }
26
- }
27
-
28
- if (_updateRecords.length > 0) {
29
- for (let i = 0; i < _updateRecords.length; i++) {
30
- const newRecord = _updateRecords[i]
31
- const fulfillmentCenter = await fulfillmentCenterRepo.findOneBy({ id: newRecord.id })
32
-
33
- const result = await fulfillmentCenterRepo.save({
34
- ...fulfillmentCenter,
35
- ...newRecord,
36
- updater: context.state.user
37
- })
38
-
39
- results.push({ ...result, cuFlag: 'M' })
40
- }
41
- }
42
-
43
- return results
44
- }
45
- }
@@ -1,5 +0,0 @@
1
- import * as FulfillmentCenter from './fulfillment-center'
2
-
3
- export const queries = [FulfillmentCenter.Query]
4
-
5
- export const mutations = [FulfillmentCenter.Mutation]
@@ -1,8 +0,0 @@
1
- import gql from 'graphql-tag'
2
-
3
- export const FulfillmentCenterList = gql`
4
- type FulfillmentCenterList {
5
- items: [FulfillmentCenter]
6
- total: Int
7
- }
8
- `
@@ -1,13 +0,0 @@
1
- import gql from 'graphql-tag'
2
-
3
- export const FulfillmentCenterPatch = gql`
4
- input FulfillmentCenterPatch {
5
- id: String
6
- name: String
7
- description: String
8
- platform: String
9
- centerId: String
10
- countryCode: String
11
- cuFlag: String
12
- }
13
- `
@@ -1,19 +0,0 @@
1
- import gql from 'graphql-tag'
2
-
3
- export const FulfillmentCenter = gql`
4
- type FulfillmentCenter {
5
- id: String
6
- name: String
7
- domain: Domain
8
- description: String
9
- platform: String
10
- centerId: String
11
- countryCode: String
12
- status: String
13
- accessInfo: String
14
- updater: User
15
- creator: User
16
- updatedAt: String
17
- createdAt: String
18
- }
19
- `
@@ -1,52 +0,0 @@
1
- import { FulfillmentCenter } from './fulfillment-center'
2
- import { FulfillmentCenterList } from './fulfillment-center-list'
3
- import { FulfillmentCenterPatch } from './fulfillment-center-patch'
4
- import { NewFulfillmentCenter } from './new-fulfillment-center'
5
-
6
- export const Mutation = /* GraphQL */ `
7
- createFulfillmentCenter (
8
- fulfillmentCenter: NewFulfillmentCenter!
9
- ): FulfillmentCenter
10
-
11
- updateFulfillmentCenter (
12
- name: String!
13
- patch: FulfillmentCenterPatch!
14
- ): FulfillmentCenter
15
-
16
- updateMultipleFulfillmentCenter (
17
- patches: [FulfillmentCenterPatch]!
18
- ): [FulfillmentCenter]
19
-
20
- deleteFulfillmentCenter (
21
- name: String!
22
- ): Boolean
23
-
24
- deleteFulfillmentCenters (
25
- ids: [String]!
26
- ): Boolean
27
-
28
- generateOperatoAccessToken (
29
- id: String!
30
- code: String!
31
- ): FulfillmentCenter
32
-
33
- deactivateOperatoCenter (
34
- name: String!
35
- ): FulfillmentCenter @transaction
36
-
37
- refreshOperatoAccessToken (
38
- id: String!
39
- ): FulfillmentCenter
40
- `
41
-
42
- export const Query = /* GraphQL */ `
43
- fulfillmentCenters(filters: [Filter], pagination: Pagination, sortings: [Sorting]): FulfillmentCenterList
44
- fulfillmentCenter(id: String!): FulfillmentCenter
45
- havingFulfillmentCenter: [FulfillmentCenter]
46
-
47
- getOperatoAuthURL (
48
- nonce: String!
49
- ): String
50
- `
51
-
52
- export const Types = [FulfillmentCenter, NewFulfillmentCenter, FulfillmentCenterPatch, FulfillmentCenterList]
@@ -1,11 +0,0 @@
1
- import gql from 'graphql-tag'
2
-
3
- export const NewFulfillmentCenter = gql`
4
- input NewFulfillmentCenter {
5
- name: String!
6
- description: String
7
- platform: String!
8
- centerId: String
9
- countryCode: String
10
- }
11
- `
@@ -1,9 +0,0 @@
1
- import * as FulfillmentCenter from './fulfillment-center'
2
-
3
- export const queries = [FulfillmentCenter.Query]
4
-
5
- export const mutations = [FulfillmentCenter.Mutation]
6
-
7
- export const subscriptions = []
8
-
9
- export const types = [...FulfillmentCenter.Types]
package/server/index.ts DELETED
@@ -1,6 +0,0 @@
1
- export * from './entities'
2
- export * from './migrations'
3
- export * from './graphql'
4
- export * from './controllers'
5
-
6
- import './routes'
@@ -1,9 +0,0 @@
1
- const glob = require('glob')
2
- const path = require('path')
3
-
4
- export var migrations = []
5
-
6
- glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function(file) {
7
- if (file.indexOf('index.js') !== -1) return
8
- migrations = migrations.concat(Object.values(require(path.resolve(file))) || [])
9
- })
package/server/routes.ts DELETED
@@ -1,25 +0,0 @@
1
- import { getRedirectSubdomainPath } from '@things-factory/shell'
2
- import { FulfillmentAPI } from './controllers/fulfillment-api'
3
-
4
- process.on('bootstrap-module-global-public-route' as any, (app, routes) => {
5
- /*
6
- * koa application에 routes 를 추가할 수 있다.
7
- *
8
- * ex) routes.get('/path', async(context, next) => {})
9
- * ex) routes.post('/path', async(context, next) => {})
10
- */
11
-
12
- routes.get('/callback-operato', async (context, next) => {
13
- const { code, state } = context.query
14
-
15
- // state를 fulfillment-center 의 id로 활용한다.
16
- const store = await FulfillmentAPI.getFulfillmentCenter(state)
17
-
18
- context.redirect(
19
- `${getRedirectSubdomainPath(
20
- context,
21
- store.domain.subdomain
22
- )}fulfillment-center-operato/${state}/connect-callback?code=${code}`
23
- )
24
- })
25
- })