@things-factory/operato-hub 6.1.83 → 6.1.85
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-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +46 -46
- package/server/controllers/bizplace-initializer/codes.ts +0 -32
- package/server/controllers/bizplace-initializer/dataset/codes.ts +0 -398
- package/server/controllers/bizplace-initializer/dataset/groups.ts +0 -21
- package/server/controllers/bizplace-initializer/dataset/index.ts +0 -5
- package/server/controllers/bizplace-initializer/dataset/menus.ts +0 -500
- package/server/controllers/bizplace-initializer/dataset/roles-privileges.ts +0 -402
- package/server/controllers/bizplace-initializer/dataset/settings.ts +0 -91
- package/server/controllers/bizplace-initializer/generate-bizplace-domain-roles.ts +0 -29
- package/server/controllers/bizplace-initializer/generate-bizplace-domain.ts +0 -56
- package/server/controllers/bizplace-initializer/groups.ts +0 -19
- package/server/controllers/bizplace-initializer/index.ts +0 -5
- package/server/controllers/bizplace-initializer/menus.ts +0 -42
- package/server/controllers/bizplace-initializer/settings.ts +0 -20
- package/server/controllers/company-initializer/business-register.ts +0 -59
- package/server/controllers/company-initializer/codes.ts +0 -147
- package/server/controllers/company-initializer/generate-company-roles.ts +0 -119
- package/server/controllers/company-initializer/index.ts +0 -6
- package/server/controllers/company-initializer/menus.ts +0 -359
- package/server/controllers/company-initializer/settings.ts +0 -33
- package/server/controllers/company-initializer/transporter.ts +0 -20
- package/server/controllers/index.ts +0 -0
- package/server/controllers/invitation.ts +0 -132
- package/server/controllers/utils/make-invitation-token.ts +0 -5
- package/server/controllers/utils/save-invitation-token.ts +0 -9
- package/server/entities/index.ts +0 -0
- package/server/errors/index.ts +0 -1
- package/server/errors/validation-error.ts +0 -17
- package/server/graphql/index.ts +0 -7
- package/server/graphql/resolvers/generators/generate-bizplace.ts +0 -40
- package/server/graphql/resolvers/generators/generate-company.ts +0 -76
- package/server/graphql/resolvers/generators/index.ts +0 -9
- package/server/graphql/resolvers/generators/update-domain-extType.ts +0 -55
- package/server/graphql/resolvers/index.ts +0 -8
- package/server/graphql/resolvers/invitations/index.ts +0 -5
- package/server/graphql/resolvers/invitations/partner-invitation.ts +0 -62
- package/server/graphql/resolvers/oauth2/company-roles-by-scope.ts +0 -38
- package/server/graphql/resolvers/oauth2/index.ts +0 -5
- package/server/graphql/resolvers/synchronization/auto-update-all-marketplace-product-variation-quantity.ts +0 -180
- package/server/graphql/resolvers/synchronization/create-dat-shipments.ts +0 -64
- package/server/graphql/resolvers/synchronization/fetch-sync-invoices.ts +0 -52
- package/server/graphql/resolvers/synchronization/fetch-sync-products.ts +0 -99
- package/server/graphql/resolvers/synchronization/fetch-sync-purchase-orders.ts +0 -75
- package/server/graphql/resolvers/synchronization/index.ts +0 -26
- package/server/graphql/resolvers/synchronization/sellercraft-pack-marketplace-order.ts +0 -91
- package/server/graphql/resolvers/synchronization/sync-all-products-to-sellercraft.ts +0 -39
- package/server/graphql/resolvers/synchronization/sync-products-from-account.ts +0 -40
- package/server/graphql/resolvers/synchronization/sync-products-to-account.ts +0 -64
- package/server/graphql/resolvers/synchronization/sync-products-to-sellercraft.ts +0 -176
- package/server/graphql/types/generators/generate-bizplace-input.ts +0 -11
- package/server/graphql/types/generators/generate-company-input.ts +0 -11
- package/server/graphql/types/generators/index.ts +0 -11
- package/server/graphql/types/generators/update-domain-type-input.ts +0 -8
- package/server/graphql/types/index.ts +0 -10
- package/server/graphql/types/invitations/index.ts +0 -5
- package/server/graphql/types/oauth2/company-role.ts +0 -8
- package/server/graphql/types/oauth2/index.ts +0 -7
- package/server/graphql/types/synchronization/index.ts +0 -33
- package/server/graphql/types/synchronization/sync-invoice-list.ts +0 -8
- package/server/graphql/types/synchronization/sync-invoice-set.ts +0 -38
- package/server/graphql/types/synchronization/sync-product-list.ts +0 -8
- package/server/graphql/types/synchronization/sync-product-set.ts +0 -8
- package/server/graphql/types/synchronization/sync-purchase-order-list.ts +0 -8
- package/server/graphql/types/synchronization/sync-purchase-order-set.ts +0 -28
- package/server/index.ts +0 -37
- package/server/middlewares/business-middleware.ts +0 -32
- package/server/middlewares/index.ts +0 -20
- package/server/middlewares/store-middleware.ts +0 -36
- package/server/middlewares/warehouse-middleware.ts +0 -36
- package/server/migrations/1597668478399-SeedBusinessDomain.ts +0 -34
- package/server/migrations/1597668478401-SeedBusinessRoles.ts +0 -377
- package/server/migrations/1608009991065-SeedUser.ts +0 -64
- package/server/migrations/index.ts +0 -9
- package/server/routers/api/index.ts +0 -3
- package/server/routers/api/restful-apis/unstable/add-contact-point.ts +0 -89
- package/server/routers/api/restful-apis/unstable/add-draft-release-order.ts +0 -198
- package/server/routers/api/restful-apis/unstable/add-inbound-order.ts +0 -246
- package/server/routers/api/restful-apis/unstable/add-marketplace-order.ts +0 -171
- package/server/routers/api/restful-apis/unstable/add-products.ts +0 -112
- package/server/routers/api/restful-apis/unstable/add-release-order.ts +0 -1061
- package/server/routers/api/restful-apis/unstable/add-sales-invoice.ts +0 -144
- package/server/routers/api/restful-apis/unstable/bizplace.ts +0 -45
- package/server/routers/api/restful-apis/unstable/cancel-marketplace-order.ts +0 -81
- package/server/routers/api/restful-apis/unstable/cancel-release-order.ts +0 -91
- package/server/routers/api/restful-apis/unstable/get-contact-point-list.ts +0 -110
- package/server/routers/api/restful-apis/unstable/get-delivery-order-detail.ts +0 -46
- package/server/routers/api/restful-apis/unstable/get-delivery-order-list.ts +0 -121
- package/server/routers/api/restful-apis/unstable/get-delivery-orders.ts +0 -178
- package/server/routers/api/restful-apis/unstable/get-goods-received-notes.ts +0 -134
- package/server/routers/api/restful-apis/unstable/get-inbound-order-detail.ts +0 -128
- package/server/routers/api/restful-apis/unstable/get-inbound-order-list.ts +0 -126
- package/server/routers/api/restful-apis/unstable/get-inventory-overall-product-group.ts +0 -99
- package/server/routers/api/restful-apis/unstable/get-inventory-product-group.ts +0 -107
- package/server/routers/api/restful-apis/unstable/get-marketplace-order-shipping-list.ts +0 -156
- package/server/routers/api/restful-apis/unstable/get-marketplace-store-list.ts +0 -81
- package/server/routers/api/restful-apis/unstable/get-onhand-inventories.ts +0 -125
- package/server/routers/api/restful-apis/unstable/get-partners.ts +0 -26
- package/server/routers/api/restful-apis/unstable/get-products.ts +0 -216
- package/server/routers/api/restful-apis/unstable/get-release-order-detail.ts +0 -138
- package/server/routers/api/restful-apis/unstable/get-release-order-list.ts +0 -199
- package/server/routers/api/restful-apis/unstable/get-warehouses.ts +0 -19
- package/server/routers/api/restful-apis/unstable/index.ts +0 -32
- package/server/routers/api/restful-apis/unstable/reject-inbound-order.ts +0 -46
- package/server/routers/api/restful-apis/unstable/set-marketplace-order-delivered.ts +0 -60
- package/server/routers/api/restful-apis/unstable/set-marketplace-order-failed-delivery.ts +0 -60
- package/server/routers/api/restful-apis/unstable/update-marketplace-order.ts +0 -111
- package/server/routers/api/restful-apis/unstable/update-marketplace-shipping-order.ts +0 -107
- package/server/routers/api/restful-apis/unstable/update-release-order-details.ts +0 -94
- package/server/routers/api/restful-apis/v1/add-contact-point.ts +0 -77
- package/server/routers/api/restful-apis/v1/add-draft-release-order.ts +0 -196
- package/server/routers/api/restful-apis/v1/add-inbound-order.ts +0 -243
- package/server/routers/api/restful-apis/v1/add-marketplace-order.ts +0 -172
- package/server/routers/api/restful-apis/v1/add-products.ts +0 -112
- package/server/routers/api/restful-apis/v1/add-release-order.ts +0 -967
- package/server/routers/api/restful-apis/v1/bizplace.ts +0 -45
- package/server/routers/api/restful-apis/v1/cancel-marketplace-order.ts +0 -81
- package/server/routers/api/restful-apis/v1/cancel-release-order.ts +0 -91
- package/server/routers/api/restful-apis/v1/get-contact-point-list.ts +0 -110
- package/server/routers/api/restful-apis/v1/get-delivery-order-detail.ts +0 -46
- package/server/routers/api/restful-apis/v1/get-delivery-order-list.ts +0 -121
- package/server/routers/api/restful-apis/v1/get-delivery-orders.ts +0 -178
- package/server/routers/api/restful-apis/v1/get-goods-received-notes.ts +0 -134
- package/server/routers/api/restful-apis/v1/get-inbound-order-detail.ts +0 -128
- package/server/routers/api/restful-apis/v1/get-inbound-order-list.ts +0 -126
- package/server/routers/api/restful-apis/v1/get-inventory-overall-product-group.ts +0 -99
- package/server/routers/api/restful-apis/v1/get-inventory-product-group.ts +0 -112
- package/server/routers/api/restful-apis/v1/get-marketplace-order-shipping-list.ts +0 -156
- package/server/routers/api/restful-apis/v1/get-marketplace-store-list.ts +0 -81
- package/server/routers/api/restful-apis/v1/get-onhand-inventories.ts +0 -125
- package/server/routers/api/restful-apis/v1/get-partners.ts +0 -26
- package/server/routers/api/restful-apis/v1/get-products.ts +0 -216
- package/server/routers/api/restful-apis/v1/get-release-order-detail.ts +0 -134
- package/server/routers/api/restful-apis/v1/get-release-order-list.ts +0 -198
- package/server/routers/api/restful-apis/v1/get-warehouses.ts +0 -19
- package/server/routers/api/restful-apis/v1/index.ts +0 -31
- package/server/routers/api/restful-apis/v1/reject-inbound-order.ts +0 -46
- package/server/routers/api/restful-apis/v1/set-marketplace-order-delivered.ts +0 -60
- package/server/routers/api/restful-apis/v1/set-marketplace-order-failed-delivery.ts +0 -60
- package/server/routers/api/restful-apis/v1/update-marketplace-order.ts +0 -111
- package/server/routers/api/restful-apis/v1/update-marketplace-shipping-order.ts +0 -104
- package/server/routers/api/restful-apis/v1/update-release-order-details.ts +0 -94
- package/server/routers/api/restful-apis/v2/add-contact-point.ts +0 -77
- package/server/routers/api/restful-apis/v2/add-draft-release-order.ts +0 -196
- package/server/routers/api/restful-apis/v2/add-inbound-order.ts +0 -243
- package/server/routers/api/restful-apis/v2/add-marketplace-order.ts +0 -172
- package/server/routers/api/restful-apis/v2/add-products.ts +0 -112
- package/server/routers/api/restful-apis/v2/add-release-order.ts +0 -967
- package/server/routers/api/restful-apis/v2/bizplace.ts +0 -45
- package/server/routers/api/restful-apis/v2/cancel-marketplace-order.ts +0 -81
- package/server/routers/api/restful-apis/v2/cancel-release-order.ts +0 -91
- package/server/routers/api/restful-apis/v2/get-contact-point-list.ts +0 -110
- package/server/routers/api/restful-apis/v2/get-delivery-order-detail.ts +0 -46
- package/server/routers/api/restful-apis/v2/get-delivery-order-list.ts +0 -121
- package/server/routers/api/restful-apis/v2/get-delivery-orders.ts +0 -178
- package/server/routers/api/restful-apis/v2/get-goods-received-notes.ts +0 -134
- package/server/routers/api/restful-apis/v2/get-inbound-order-detail.ts +0 -128
- package/server/routers/api/restful-apis/v2/get-inbound-order-list.ts +0 -126
- package/server/routers/api/restful-apis/v2/get-inventory-overall-product-group.ts +0 -99
- package/server/routers/api/restful-apis/v2/get-inventory-product-group.ts +0 -112
- package/server/routers/api/restful-apis/v2/get-marketplace-order-shipping-list.ts +0 -156
- package/server/routers/api/restful-apis/v2/get-marketplace-store-list.ts +0 -81
- package/server/routers/api/restful-apis/v2/get-onhand-inventories.ts +0 -125
- package/server/routers/api/restful-apis/v2/get-partners.ts +0 -26
- package/server/routers/api/restful-apis/v2/get-products.ts +0 -216
- package/server/routers/api/restful-apis/v2/get-release-order-detail.ts +0 -134
- package/server/routers/api/restful-apis/v2/get-release-order-list.ts +0 -198
- package/server/routers/api/restful-apis/v2/get-warehouses.ts +0 -19
- package/server/routers/api/restful-apis/v2/index.ts +0 -31
- package/server/routers/api/restful-apis/v2/reject-inbound-order.ts +0 -46
- package/server/routers/api/restful-apis/v2/set-marketplace-order-delivered.ts +0 -60
- package/server/routers/api/restful-apis/v2/set-marketplace-order-failed-delivery.ts +0 -60
- package/server/routers/api/restful-apis/v2/update-marketplace-order.ts +0 -111
- package/server/routers/api/restful-apis/v2/update-marketplace-shipping-order.ts +0 -104
- package/server/routers/api/restful-apis/v2/update-release-order-details.ts +0 -94
- package/server/routers/auth-invitation-router.ts +0 -25
- package/server/routers/business/bizplace-register-router.ts +0 -31
- package/server/routers/business/business-register-router.ts +0 -32
- package/server/routers/business/index.ts +0 -3
- package/server/routers/business/path-base-business-router.ts +0 -15
- package/server/routes.ts +0 -28
- package/server/templates/account-unlock-email.ts +0 -64
- package/server/templates/invitation-email.ts +0 -65
- package/server/templates/reset-password-email.ts +0 -64
- package/server/templates/verification-email.ts +0 -65
- package/server/utils/build-map.ts +0 -18
- package/server/utils/get-warehouses.ts +0 -115
- package/server/utils/index.ts +0 -3
- package/server/utils/order-no-generator.ts +0 -8
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { EntityManager, ILike, Repository } from 'typeorm'
|
|
2
|
-
|
|
3
|
-
import { Role, User } from '@things-factory/auth-base'
|
|
4
|
-
import { Bizplace, Company } from '@things-factory/biz-base'
|
|
5
|
-
import { Domain, getRepository } from '@things-factory/shell'
|
|
6
|
-
import { slugger } from '@things-factory/utils'
|
|
7
|
-
|
|
8
|
-
import { generateBusinessRoles } from '../../controllers/company-initializer'
|
|
9
|
-
|
|
10
|
-
export async function businessRegister(domain: Domain, companyInput: Company, user: User, tx?: EntityManager) {
|
|
11
|
-
const userRepository: Repository<User> = tx?.getRepository(User) || getRepository(User)
|
|
12
|
-
const companyRepository: Repository<Company> = tx?.getRepository(Company) || getRepository(Company)
|
|
13
|
-
const bizplaceRepository: Repository<Bizplace> = tx?.getRepository(Bizplace) || getRepository(Bizplace)
|
|
14
|
-
|
|
15
|
-
const company: Company = await companyRepository.save({
|
|
16
|
-
...companyInput,
|
|
17
|
-
creator: user,
|
|
18
|
-
updater: user,
|
|
19
|
-
domain
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
user = await userRepository.findOne({ where: { email: ILike(user.email) }, relations: ['domains', 'roles'] })
|
|
23
|
-
const userHavingRoles: Role[] = user.roles
|
|
24
|
-
const domainRoles: Role[] = await generateBusinessRoles(domain, tx)
|
|
25
|
-
|
|
26
|
-
user.domains = [...user.domains, domain]
|
|
27
|
-
user.roles = [...userHavingRoles, domainRoles.find(r => r.name === 'BUSINESS-OWNER')]
|
|
28
|
-
|
|
29
|
-
await userRepository.save(user)
|
|
30
|
-
await bizplaceRepository.save({
|
|
31
|
-
name: company.name,
|
|
32
|
-
description: company.name,
|
|
33
|
-
address: company.address,
|
|
34
|
-
postalCode: company.postalCode || '',
|
|
35
|
-
latlng: '',
|
|
36
|
-
domain,
|
|
37
|
-
company
|
|
38
|
-
})
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export async function createDomain(name: string, user: User, tx?: EntityManager): Promise<Domain> {
|
|
42
|
-
const domainRepository: Repository<Domain> = tx?.getRepository(Domain) || getRepository(Domain)
|
|
43
|
-
const subdomain = slugger(name)
|
|
44
|
-
|
|
45
|
-
const oldDomain = await domainRepository.findOne({ where: { subdomain } })
|
|
46
|
-
|
|
47
|
-
if (oldDomain) {
|
|
48
|
-
throw new Error('subdomain name is duplicated')
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const domain: Domain = await domainRepository.save({
|
|
52
|
-
subdomain,
|
|
53
|
-
name,
|
|
54
|
-
extType: 'company',
|
|
55
|
-
owner: user.id
|
|
56
|
-
})
|
|
57
|
-
|
|
58
|
-
return domain
|
|
59
|
-
}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
const CODES = [
|
|
2
|
-
{
|
|
3
|
-
name: 'PACKING_TYPES',
|
|
4
|
-
description: 'type of packing',
|
|
5
|
-
details: [
|
|
6
|
-
{ name: 'PAIL', description: 'Pail packing' },
|
|
7
|
-
{ name: 'CRATES', description: 'crates packing' },
|
|
8
|
-
{ name: 'ROLL', description: 'Roll packing' },
|
|
9
|
-
{ name: 'CARBOY', description: 'Carboy packing' },
|
|
10
|
-
{ name: 'BOTTLE', description: 'Bottle packing' },
|
|
11
|
-
{ name: 'CAN', description: 'Can packing' },
|
|
12
|
-
{ name: 'CARTON', description: 'Carton packing' },
|
|
13
|
-
{ name: 'DRUM', description: 'Drum packing' },
|
|
14
|
-
{ name: 'SACK', description: 'Sack packing' },
|
|
15
|
-
{ name: 'PALLET', description: 'Pallet packing' },
|
|
16
|
-
{ name: 'BAG', description: 'Bag packing' },
|
|
17
|
-
{ name: 'BOX', description: 'Box packing' },
|
|
18
|
-
{ name: 'IBC', description: 'IBC packing' },
|
|
19
|
-
{ name: 'JBAG', description: 'Jbag packing' },
|
|
20
|
-
{ name: 'PACKAGING MATERIAL', description: 'Packaging material' },
|
|
21
|
-
{ name: 'PCS', description: 'Pcs packing' },
|
|
22
|
-
{ name: 'TIN', description: 'Tin packing' },
|
|
23
|
-
{ name: 'TOTE TANK', description: 'Tote Metal packing' },
|
|
24
|
-
{ name: 'UNIT', description: 'Unit packing' }
|
|
25
|
-
]
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: 'TEMPLATE_TYPES',
|
|
29
|
-
description: 'template type',
|
|
30
|
-
details: [
|
|
31
|
-
{ name: 'DO_TEMPLATE', description: 'template for delivery order' },
|
|
32
|
-
{ name: 'LOGO', description: 'template for logo' },
|
|
33
|
-
{ name: 'GRN_TEMPLATE', description: 'template for goods received note' },
|
|
34
|
-
{ name: 'INVOICE_TEMPLATE', description: 'template for invoice' }
|
|
35
|
-
]
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
name: 'PRODUCT_TYPES',
|
|
39
|
-
description: 'product types',
|
|
40
|
-
details: [
|
|
41
|
-
{ name: 'PACKAGE', description: 'package' },
|
|
42
|
-
{ name: 'POWDER', description: 'powder' },
|
|
43
|
-
{ name: 'PAIR', description: 'pair' },
|
|
44
|
-
{ name: 'PAIL', description: 'pail' },
|
|
45
|
-
{ name: 'PACKAGING MATERIAL', description: 'packaging material' },
|
|
46
|
-
{ name: 'TIN', description: 'tin' },
|
|
47
|
-
{ name: 'RM', description: 'rm' },
|
|
48
|
-
{ name: 'SET', description: 'set' },
|
|
49
|
-
{ name: 'PCS', description: 'pcs' },
|
|
50
|
-
{ name: 'ROLL', description: 'roll' },
|
|
51
|
-
{ name: 'PALLET', description: 'pallet' },
|
|
52
|
-
{ name: 'TUBE', description: 'tube' },
|
|
53
|
-
{ name: 'UNKNOWN', description: 'unknown' },
|
|
54
|
-
{ name: 'PM', description: 'pm' },
|
|
55
|
-
{ name: 'SER', description: 'ser' },
|
|
56
|
-
{ name: '11i', description: '11i' },
|
|
57
|
-
{ name: 'AP', description: 'ap' },
|
|
58
|
-
{ name: 'BAG', description: 'bag' },
|
|
59
|
-
{ name: 'BOTTLE', description: 'bottle' },
|
|
60
|
-
{ name: 'BOX', description: 'box' },
|
|
61
|
-
{ name: 'CARBOY', description: 'carboy' },
|
|
62
|
-
{ name: 'CARTON', description: 'carton' },
|
|
63
|
-
{ name: 'CHEMICAL', description: 'chemical' },
|
|
64
|
-
{ name: 'CRATES', description: 'crates' },
|
|
65
|
-
{ name: 'DRUM', description: 'drum' },
|
|
66
|
-
{ name: 'FG', description: 'fg' },
|
|
67
|
-
{ name: 'FILE', description: 'file' },
|
|
68
|
-
{ name: 'FRT', description: 'frt' },
|
|
69
|
-
{ name: 'IBC', description: 'ibc' },
|
|
70
|
-
{ name: 'KG', description: 'kg' },
|
|
71
|
-
{ name: 'LABEL', description: 'label' },
|
|
72
|
-
{ name: 'METER', description: 'meter' },
|
|
73
|
-
{ name: 'MR', description: 'mr' },
|
|
74
|
-
{ name: 'OTHERS', description: 'others' }
|
|
75
|
-
]
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
name: 'WEIGHT_UNITS',
|
|
79
|
-
description: 'weight units',
|
|
80
|
-
details: [
|
|
81
|
-
{ name: 'g', description: 'Gram' },
|
|
82
|
-
{ name: 'KG', description: 'Kilogram' },
|
|
83
|
-
{ name: 'TN', description: 'Metric ton' }
|
|
84
|
-
]
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
name: 'UOM',
|
|
88
|
-
description: 'uom',
|
|
89
|
-
details: [
|
|
90
|
-
{ name: 'g', description: 'Gram' },
|
|
91
|
-
{ name: 'KG', description: 'Kilogram' },
|
|
92
|
-
{ name: 'TN', description: 'Metric ton' },
|
|
93
|
-
{ name: 'LT', description: 'Liter' },
|
|
94
|
-
{ name: 'UN', description: 'Unit' },
|
|
95
|
-
{ name: 'MP', description: 'Box' },
|
|
96
|
-
{ name: 'N/A', description: 'Unknown' }
|
|
97
|
-
]
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
name: 'LENGTH_UNITS',
|
|
101
|
-
description: 'length units',
|
|
102
|
-
details: [
|
|
103
|
-
{ name: 'mm', description: 'Milimeter' },
|
|
104
|
-
{ name: 'cm', description: 'Centimeter' },
|
|
105
|
-
{ name: 'm', description: 'Meter' },
|
|
106
|
-
{ name: 'inch', description: 'Inch' },
|
|
107
|
-
{ name: 'ft', description: 'Foot' },
|
|
108
|
-
]
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'CURRENCY',
|
|
112
|
-
description: 'currency',
|
|
113
|
-
details: [
|
|
114
|
-
{ name: 'MYR', description: 'MYR' },
|
|
115
|
-
{ name: 'KRN', description: 'KRN' },
|
|
116
|
-
{ name: 'USD', description: 'USD' },
|
|
117
|
-
{ name: 'EUR', description: 'EUR' }
|
|
118
|
-
]
|
|
119
|
-
}
|
|
120
|
-
]
|
|
121
|
-
|
|
122
|
-
import { CommonCode, CommonCodeDetail } from '@things-factory/code-base'
|
|
123
|
-
|
|
124
|
-
export async function initCodes(tx, domain) {
|
|
125
|
-
const codeRepo = tx.getRepository(CommonCode)
|
|
126
|
-
const codeDetailRepo = tx.getRepository(CommonCodeDetail)
|
|
127
|
-
|
|
128
|
-
await Promise.all(
|
|
129
|
-
CODES.map(async code => {
|
|
130
|
-
const commonCode = await codeRepo.save({
|
|
131
|
-
...code,
|
|
132
|
-
domain
|
|
133
|
-
})
|
|
134
|
-
|
|
135
|
-
await codeDetailRepo.save(
|
|
136
|
-
commonCode.details.map((detail, idx) => {
|
|
137
|
-
return {
|
|
138
|
-
...detail,
|
|
139
|
-
domain,
|
|
140
|
-
commonCode,
|
|
141
|
-
rank: (idx + 1) * 10
|
|
142
|
-
}
|
|
143
|
-
})
|
|
144
|
-
)
|
|
145
|
-
})
|
|
146
|
-
)
|
|
147
|
-
}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { EntityManager } from 'typeorm'
|
|
2
|
-
|
|
3
|
-
import { Privilege, Role } from '@things-factory/auth-base'
|
|
4
|
-
import { Domain, getRepository } from '@things-factory/shell'
|
|
5
|
-
|
|
6
|
-
const COMPANY_ROLES_PRIVILEGES = [
|
|
7
|
-
{
|
|
8
|
-
name: 'BUSINESS-OWNER',
|
|
9
|
-
privileges: [
|
|
10
|
-
{
|
|
11
|
-
name: 'query',
|
|
12
|
-
category: 'company'
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
name: 'mutation',
|
|
16
|
-
category: 'company'
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
name: 'query',
|
|
20
|
-
category: 'bizplace'
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
name: 'mutation',
|
|
24
|
-
category: 'bizplace'
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
name: 'query',
|
|
28
|
-
category: 'user'
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
name: 'mutation',
|
|
32
|
-
category: 'user'
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: 'BUSINESS-MANAGER',
|
|
38
|
-
privileges: [
|
|
39
|
-
{
|
|
40
|
-
name: 'query',
|
|
41
|
-
category: 'company'
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'mutation',
|
|
45
|
-
category: 'company'
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: 'query',
|
|
49
|
-
category: 'bizplace'
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
name: 'mutation',
|
|
53
|
-
category: 'bizplace'
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
name: 'query',
|
|
57
|
-
category: 'user'
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: 'mutation',
|
|
61
|
-
category: 'user'
|
|
62
|
-
}
|
|
63
|
-
]
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
name: 'DEVELOPER',
|
|
67
|
-
privileges: [
|
|
68
|
-
{
|
|
69
|
-
name: 'query',
|
|
70
|
-
category: 'company'
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
name: 'mutation',
|
|
74
|
-
category: 'company'
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
name: 'query',
|
|
78
|
-
category: 'bizplace'
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
name: 'mutation',
|
|
82
|
-
category: 'bizplace'
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
name: 'query',
|
|
86
|
-
category: 'user'
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
name: 'mutation',
|
|
90
|
-
category: 'user'
|
|
91
|
-
}
|
|
92
|
-
]
|
|
93
|
-
},
|
|
94
|
-
{ name: 'ACCOUNTING', privileges: [] },
|
|
95
|
-
{ name: 'POS', privileges: [] },
|
|
96
|
-
{ name: 'MMS', privileges: [] },
|
|
97
|
-
{ name: 'ERP', privileges: [] },
|
|
98
|
-
{ name: 'LMD', privileges: [] },
|
|
99
|
-
{ name: 'FREIGHT', privileges: [] },
|
|
100
|
-
{ name: 'FLEET', privileges: [] }
|
|
101
|
-
]
|
|
102
|
-
|
|
103
|
-
export async function generateBusinessRoles(domain: Domain, tx?: EntityManager): Promise<Role[]> {
|
|
104
|
-
const roleRepo = tx?.getRepository(Role) || getRepository(Role)
|
|
105
|
-
const privilegeRepo = tx?.getRepository(Privilege) || getRepository(Privilege)
|
|
106
|
-
|
|
107
|
-
return await Promise.all(
|
|
108
|
-
COMPANY_ROLES_PRIVILEGES.map(async rp => {
|
|
109
|
-
const role: Role = new Role()
|
|
110
|
-
role.domain = domain
|
|
111
|
-
role.name = rp.name
|
|
112
|
-
if (rp.privileges?.length) {
|
|
113
|
-
role.privileges = await privilegeRepo.findBy(rp.privileges) /* CONFIRMME regarding TYPEORM */
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
return await roleRepo.save(role)
|
|
117
|
-
})
|
|
118
|
-
)
|
|
119
|
-
}
|
|
@@ -1,359 +0,0 @@
|
|
|
1
|
-
let menus = [
|
|
2
|
-
{
|
|
3
|
-
name: 'Master Data',
|
|
4
|
-
menuType: 'MENU',
|
|
5
|
-
children: [
|
|
6
|
-
{
|
|
7
|
-
name: 'Pallets',
|
|
8
|
-
template: 'pallet-list',
|
|
9
|
-
menuType: 'SCREEN',
|
|
10
|
-
routingType: 'STATIC',
|
|
11
|
-
resourceUrl: 'pallets'
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
name: 'Product',
|
|
15
|
-
template: 'product-list',
|
|
16
|
-
menuType: 'SCREEN',
|
|
17
|
-
routingType: 'STATIC',
|
|
18
|
-
resourceUrl: 'products'
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: 'Transport Driver',
|
|
22
|
-
template: 'transport-driver',
|
|
23
|
-
menuType: 'SCREEN',
|
|
24
|
-
routingType: 'STATIC',
|
|
25
|
-
resourceUrl: 'transport_driver'
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: 'Transport Vehicle',
|
|
29
|
-
template: 'transport-vehicle',
|
|
30
|
-
menuType: 'SCREEN',
|
|
31
|
-
routingType: 'STATIC',
|
|
32
|
-
resourceUrl: 'transport_vehicle'
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
name: 'Vas',
|
|
36
|
-
template: 'vas-list',
|
|
37
|
-
menuType: 'SCREEN',
|
|
38
|
-
routingType: 'STATIC',
|
|
39
|
-
resourceUrl: 'vas'
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: 'Warehouse',
|
|
43
|
-
template: 'warehouse-list',
|
|
44
|
-
menuType: 'SCREEN',
|
|
45
|
-
routingType: 'STATIC',
|
|
46
|
-
resourceUrl: 'warehouses'
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
name: 'Worker',
|
|
50
|
-
template: 'worker-list',
|
|
51
|
-
menuType: 'SCREEN',
|
|
52
|
-
routingType: 'STATIC',
|
|
53
|
-
resourceUrl: 'workers'
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: 'Arrival Notice',
|
|
59
|
-
menuType: 'MENU',
|
|
60
|
-
children: [
|
|
61
|
-
{
|
|
62
|
-
name: 'Create Arrival Notice',
|
|
63
|
-
template: 'create-arrival-notice',
|
|
64
|
-
menuType: 'SCREEN',
|
|
65
|
-
routingType: 'STATIC',
|
|
66
|
-
resourceUrl: 'create_arrival_notice'
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: 'Arrival Notices',
|
|
70
|
-
template: 'arrival-notice-list',
|
|
71
|
-
menuType: 'SCREEN',
|
|
72
|
-
routingType: 'STATIC',
|
|
73
|
-
resourceUrl: 'arrival_notices'
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
name: 'Arrival Notice Requests',
|
|
77
|
-
template: 'arrival-notice-requests',
|
|
78
|
-
menuType: 'SCREEN',
|
|
79
|
-
routingType: 'STATIC',
|
|
80
|
-
resourceUrl: 'arrival_notice_requests'
|
|
81
|
-
}
|
|
82
|
-
]
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
name: 'Release Order',
|
|
86
|
-
menuType: 'MENU',
|
|
87
|
-
children: [
|
|
88
|
-
{
|
|
89
|
-
name: 'Create Release Order',
|
|
90
|
-
template: 'create-release-order',
|
|
91
|
-
menuType: 'SCREEN',
|
|
92
|
-
routingType: 'STATIC',
|
|
93
|
-
resourceUrl: 'create_release_order'
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
name: 'B2B Release Orders',
|
|
97
|
-
template: 'b2b-order-list',
|
|
98
|
-
menuType: 'SCREEN',
|
|
99
|
-
routingType: 'STATIC',
|
|
100
|
-
resourceUrl: 'b2b_orders'
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
name: 'B2B Order Requests',
|
|
104
|
-
template: 'b2b-order-requests',
|
|
105
|
-
menuType: 'SCREEN',
|
|
106
|
-
routingType: 'STATIC',
|
|
107
|
-
resourceUrl: 'b2b_order_requests'
|
|
108
|
-
}
|
|
109
|
-
]
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
name: 'VAS Order',
|
|
113
|
-
menuType: 'MENU',
|
|
114
|
-
children: [
|
|
115
|
-
{
|
|
116
|
-
name: 'Create VAS Order',
|
|
117
|
-
template: 'create-vas-order',
|
|
118
|
-
menuType: 'SCREEN',
|
|
119
|
-
routingType: 'STATIC',
|
|
120
|
-
resourceUrl: 'create_vas_order'
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
name: 'VAS Orders',
|
|
124
|
-
template: 'vas-order-list',
|
|
125
|
-
menuType: 'SCREEN',
|
|
126
|
-
routingType: 'STATIC',
|
|
127
|
-
resourceUrl: 'vas_orders'
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
name: 'VAS Requests',
|
|
131
|
-
template: 'vas-order-requests',
|
|
132
|
-
menuType: 'SCREEN',
|
|
133
|
-
routingType: 'STATIC',
|
|
134
|
-
resourceUrl: 'vas_requests'
|
|
135
|
-
}
|
|
136
|
-
]
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
name: 'Inventory',
|
|
140
|
-
menuType: 'MENU',
|
|
141
|
-
children: [
|
|
142
|
-
{
|
|
143
|
-
name: 'Customer Intransit Inventory',
|
|
144
|
-
template: 'customer-intransit-inventory',
|
|
145
|
-
menuType: 'SCREEN',
|
|
146
|
-
routingType: 'STATIC',
|
|
147
|
-
resourceUrl: 'customer_intransit_inventory'
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
name: 'Inventory by Product',
|
|
151
|
-
template: 'inventory-by-product',
|
|
152
|
-
menuType: 'SCREEN',
|
|
153
|
-
routingType: 'STATIC',
|
|
154
|
-
resourceUrl: 'inventory_by_product'
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
name: 'Onhand Inventory',
|
|
158
|
-
template: 'onhand-inventory',
|
|
159
|
-
menuType: 'SCREEN',
|
|
160
|
-
routingType: 'STATIC',
|
|
161
|
-
resourceUrl: 'onhand_inventory'
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
name: 'Intransit Inventory',
|
|
165
|
-
template: 'intransit-inventory',
|
|
166
|
-
menuType: 'SCREEN',
|
|
167
|
-
routingType: 'STATIC',
|
|
168
|
-
resourceUrl: 'intransit_inventory'
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
name: 'Inventory Adjustment',
|
|
172
|
-
template: 'inventory-adjustment',
|
|
173
|
-
menuType: 'SCREEN',
|
|
174
|
-
routingType: 'STATIC',
|
|
175
|
-
resourceUrl: 'inventory_adjustment'
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
name: 'Inventory Adjustment Approval',
|
|
179
|
-
template: 'inventory-adjustment-approval',
|
|
180
|
-
menuType: 'SCREEN',
|
|
181
|
-
routingType: 'STATIC',
|
|
182
|
-
resourceUrl: 'inventory_adjustment_approval'
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
name: 'Inventory by Product',
|
|
186
|
-
template: 'inventory-by-product',
|
|
187
|
-
menuType: 'SCREEN',
|
|
188
|
-
routingType: 'STATIC',
|
|
189
|
-
resourceUrl: 'inventory_by_product'
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
name: 'Inventory Histories',
|
|
193
|
-
template: 'inventory-history',
|
|
194
|
-
menuType: 'SCREEN',
|
|
195
|
-
routingType: 'STATIC',
|
|
196
|
-
resourceUrl: 'inventory_histories'
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
name: 'Onhand Inventory',
|
|
200
|
-
template: 'onhand-inventory',
|
|
201
|
-
menuType: 'SCREEN',
|
|
202
|
-
routingType: 'STATIC',
|
|
203
|
-
resourceUrl: 'onhand_inventory'
|
|
204
|
-
}
|
|
205
|
-
]
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
name: 'Inbound',
|
|
209
|
-
menuType: 'MENU',
|
|
210
|
-
children: [
|
|
211
|
-
{
|
|
212
|
-
name: 'Inbound Worksheets',
|
|
213
|
-
template: 'inbound-worksheet',
|
|
214
|
-
menuType: 'SCREEN',
|
|
215
|
-
routingType: 'STATIC',
|
|
216
|
-
resourceUrl: 'inbound_worksheets'
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
name: 'Unloading',
|
|
220
|
-
template: 'unload-product',
|
|
221
|
-
menuType: 'SCREEN',
|
|
222
|
-
routingType: 'STATIC',
|
|
223
|
-
resourceUrl: 'unloading'
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
name: 'Putaway',
|
|
227
|
-
template: 'putaway-product',
|
|
228
|
-
menuType: 'SCREEN',
|
|
229
|
-
routingType: 'STATIC',
|
|
230
|
-
resourceUrl: 'putaway'
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
name: 'Goods Received Notes',
|
|
234
|
-
template: 'receival-note-list',
|
|
235
|
-
menuType: 'SCREEN',
|
|
236
|
-
routingType: 'STATIC',
|
|
237
|
-
resourceUrl: 'receival_note_list'
|
|
238
|
-
}
|
|
239
|
-
]
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
name: 'Outbound',
|
|
243
|
-
menuType: 'MENU',
|
|
244
|
-
children: [
|
|
245
|
-
{
|
|
246
|
-
name: 'Single Order Worksheet',
|
|
247
|
-
template: 'single-outbound-worksheet',
|
|
248
|
-
menuType: 'SCREEN',
|
|
249
|
-
routingType: 'STATIC',
|
|
250
|
-
resourceUrl: 'single_outbound_worksheets',
|
|
251
|
-
role: ['Business Owner', 'Office Admin']
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
name: 'Merged Order Worksheet',
|
|
255
|
-
template: 'merged-outbound-worksheet',
|
|
256
|
-
menuType: 'SCREEN',
|
|
257
|
-
routingType: 'STATIC',
|
|
258
|
-
resourceUrl: 'merged_outbound_worksheets',
|
|
259
|
-
role: ['Business Owner', 'Office Admin']
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
name: 'Packing Worksheet',
|
|
263
|
-
template: 'packing-worksheet-list',
|
|
264
|
-
menuType: 'SCREEN',
|
|
265
|
-
routingType: 'STATIC',
|
|
266
|
-
resourceUrl: 'packing_worksheet_list',
|
|
267
|
-
role: ['Business Owner', 'Office Admin']
|
|
268
|
-
},
|
|
269
|
-
{
|
|
270
|
-
name: 'Picking',
|
|
271
|
-
template: 'picking-product',
|
|
272
|
-
menuType: 'SCREEN',
|
|
273
|
-
routingType: 'STATIC',
|
|
274
|
-
resourceUrl: 'picking'
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
name: 'Packing',
|
|
278
|
-
template: 'packing-product',
|
|
279
|
-
menuType: 'SCREEN',
|
|
280
|
-
routingType: 'STATIC',
|
|
281
|
-
resourceUrl: 'packing'
|
|
282
|
-
}
|
|
283
|
-
]
|
|
284
|
-
},
|
|
285
|
-
{
|
|
286
|
-
name: 'Report',
|
|
287
|
-
menuType: 'MENU',
|
|
288
|
-
children: [
|
|
289
|
-
{
|
|
290
|
-
name: 'Inventory Report',
|
|
291
|
-
template: 'customer-inventory-report',
|
|
292
|
-
menuType: 'SCREEN',
|
|
293
|
-
routingType: 'STATIC',
|
|
294
|
-
resourceUrl: 'inventory_report'
|
|
295
|
-
},
|
|
296
|
-
{
|
|
297
|
-
name: 'Inventory Pallet Report Summary',
|
|
298
|
-
template: 'inventory-pallet-detail-report',
|
|
299
|
-
menuType: 'SCREEN',
|
|
300
|
-
routingType: 'STATIC',
|
|
301
|
-
resourceUrl: 'inventory_pallet_detail_report'
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
name: 'Inventory Report',
|
|
305
|
-
template: 'inventory-report',
|
|
306
|
-
menuType: 'SCREEN',
|
|
307
|
-
routingType: 'STATIC',
|
|
308
|
-
resourceUrl: 'inventory_report'
|
|
309
|
-
}
|
|
310
|
-
]
|
|
311
|
-
},
|
|
312
|
-
{
|
|
313
|
-
name: 'VAS Worksheet',
|
|
314
|
-
menuType: 'MENU',
|
|
315
|
-
children: [
|
|
316
|
-
{
|
|
317
|
-
name: 'VAS Worksheets',
|
|
318
|
-
template: 'vas-worksheet-list',
|
|
319
|
-
menuType: 'SCREEN',
|
|
320
|
-
routingType: 'STATIC',
|
|
321
|
-
resourceUrl: 'vas_worksheets'
|
|
322
|
-
},
|
|
323
|
-
{
|
|
324
|
-
name: 'Execute VAS',
|
|
325
|
-
template: 'execute-vas',
|
|
326
|
-
menuType: 'SCREEN',
|
|
327
|
-
routingType: 'STATIC',
|
|
328
|
-
resourceUrl: 'execute_vas'
|
|
329
|
-
}
|
|
330
|
-
]
|
|
331
|
-
}
|
|
332
|
-
]
|
|
333
|
-
|
|
334
|
-
import { Menu } from '@things-factory/menu-base'
|
|
335
|
-
|
|
336
|
-
export async function initMenus(tx, domain) {
|
|
337
|
-
const menuRepo = tx.getRepository(Menu)
|
|
338
|
-
|
|
339
|
-
await Promise.all(
|
|
340
|
-
menus.map(async (menuGroup, idx) => {
|
|
341
|
-
const parent = await menuRepo.save({
|
|
342
|
-
...menuGroup,
|
|
343
|
-
domain,
|
|
344
|
-
rank: (idx + 1) * 10
|
|
345
|
-
})
|
|
346
|
-
|
|
347
|
-
await menuRepo.save(
|
|
348
|
-
menuGroup.children.map((children, idx) => {
|
|
349
|
-
return {
|
|
350
|
-
...children,
|
|
351
|
-
domain,
|
|
352
|
-
parent,
|
|
353
|
-
rank: (idx + 1) * 10
|
|
354
|
-
}
|
|
355
|
-
})
|
|
356
|
-
)
|
|
357
|
-
})
|
|
358
|
-
)
|
|
359
|
-
}
|