@things-factory/setting-base 5.0.7 → 6.0.0-alpha.0
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/index.js +3 -16
- package/dist-server/index.js.map +1 -1
- package/dist-server/migrations/index.js.map +1 -1
- package/dist-server/service/index.js +5 -18
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/partner-setting/index.js.map +1 -1
- package/dist-server/service/partner-setting/partner-setting-mutation.js +23 -34
- package/dist-server/service/partner-setting/partner-setting-mutation.js.map +1 -1
- package/dist-server/service/partner-setting/partner-setting-query.js +71 -84
- package/dist-server/service/partner-setting/partner-setting-query.js.map +1 -1
- package/dist-server/service/partner-setting/partner-setting-type.js +24 -33
- package/dist-server/service/partner-setting/partner-setting-type.js.map +1 -1
- package/dist-server/service/partner-setting/partner-setting.js +44 -52
- package/dist-server/service/partner-setting/partner-setting.js.map +1 -1
- package/dist-server/service/setting/index.js.map +1 -1
- package/dist-server/service/setting/setting-mutation.js +37 -48
- package/dist-server/service/setting/setting-mutation.js.map +1 -1
- package/dist-server/service/setting/setting-query.js +61 -83
- package/dist-server/service/setting/setting-query.js.map +1 -1
- package/dist-server/service/setting/setting-type.js +28 -36
- package/dist-server/service/setting/setting-type.js.map +1 -1
- package/dist-server/service/setting/setting.js +28 -37
- package/dist-server/service/setting/setting.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/package.json +4 -4
- package/server/service/partner-setting/partner-setting-mutation.ts +17 -13
- package/server/service/partner-setting/partner-setting-query.ts +18 -16
- package/server/service/partner-setting/partner-setting.ts +15 -14
- package/server/service/setting/setting-mutation.ts +20 -18
- package/server/service/setting/setting-query.ts +36 -36
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
|
2
|
+
import { SelectQueryBuilder } from 'typeorm'
|
|
3
|
+
|
|
4
4
|
import { User } from '@things-factory/auth-base'
|
|
5
|
+
import { buildQuery, Domain, Filter, getRepository, ObjectRef, Pagination, Sorting } from '@things-factory/shell'
|
|
6
|
+
|
|
5
7
|
import { Setting } from '../setting/setting'
|
|
6
8
|
import { PartnerSetting } from './partner-setting'
|
|
7
9
|
import { PartnerSettingList } from './partner-setting-type'
|
|
@@ -12,13 +14,13 @@ export class PartnerSettingQuery {
|
|
|
12
14
|
async partnerSetting(
|
|
13
15
|
@Arg('name') name: string,
|
|
14
16
|
@Arg('partnerDomainId') partnerDomainId: string,
|
|
15
|
-
@Ctx() context:
|
|
17
|
+
@Ctx() context: ResolverContext
|
|
16
18
|
): Promise<PartnerSetting> {
|
|
17
|
-
const { domain }
|
|
18
|
-
const setting: Setting = await getRepository(Setting).findOne({ where: { domain, name } })
|
|
19
|
+
const { domain } = context.state
|
|
20
|
+
const setting: Setting = await getRepository(Setting).findOne({ where: { domain: { id: domain.id }, name } })
|
|
19
21
|
|
|
20
22
|
const partnerSetting: PartnerSetting = await getRepository(PartnerSetting).findOne({
|
|
21
|
-
where: { domain, setting, partnerDomain: partnerDomainId }
|
|
23
|
+
where: { domain: { id: domain.id }, setting: { id: setting.id }, partnerDomain: { id: partnerDomainId } }
|
|
22
24
|
})
|
|
23
25
|
|
|
24
26
|
if (!partnerSetting) throw new Error(`${name} setting is not found`)
|
|
@@ -32,7 +34,7 @@ export class PartnerSettingQuery {
|
|
|
32
34
|
@Arg('pagination', type => Pagination) pagination: Pagination,
|
|
33
35
|
@Arg('sortings', type => [Sorting]) sortings: Sorting[],
|
|
34
36
|
@Arg('partnerDomain', type => ObjectRef) partnerDomain: ObjectRef,
|
|
35
|
-
@Ctx() context:
|
|
37
|
+
@Ctx() context: ResolverContext
|
|
36
38
|
): Promise<PartnerSettingList> {
|
|
37
39
|
const qb: SelectQueryBuilder<PartnerSetting> = getRepository(PartnerSetting).createQueryBuilder()
|
|
38
40
|
buildQuery(qb, { filters, pagination, sortings }, context)
|
|
@@ -45,12 +47,12 @@ export class PartnerSettingQuery {
|
|
|
45
47
|
|
|
46
48
|
@FieldResolver(type => Domain)
|
|
47
49
|
async partnerDomain(@Root() partnerSetting: PartnerSetting): Promise<Domain> {
|
|
48
|
-
return await getRepository(Domain).
|
|
50
|
+
return await getRepository(Domain).findOneBy({ id: partnerSetting.partnerDomainId })
|
|
49
51
|
}
|
|
50
52
|
|
|
51
53
|
@FieldResolver(type => Setting)
|
|
52
54
|
async setting(@Root() partnerSetting: PartnerSetting): Promise<Setting> {
|
|
53
|
-
return await getRepository(Setting).
|
|
55
|
+
return await getRepository(Setting).findOneBy({ id: partnerSetting.settingId })
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
@FieldResolver(type => String)
|
|
@@ -59,7 +61,7 @@ export class PartnerSettingQuery {
|
|
|
59
61
|
return partnerSetting.setting.name
|
|
60
62
|
}
|
|
61
63
|
|
|
62
|
-
return (await getRepository(Setting).
|
|
64
|
+
return (await getRepository(Setting).findOneBy({ id: partnerSetting.settingId }))?.name
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
async description(@Root() partnerSetting: PartnerSetting): Promise<string> {
|
|
@@ -67,7 +69,7 @@ export class PartnerSettingQuery {
|
|
|
67
69
|
return partnerSetting.setting.description
|
|
68
70
|
}
|
|
69
71
|
|
|
70
|
-
return (await getRepository(Setting).
|
|
72
|
+
return (await getRepository(Setting).findOneBy({ id: partnerSetting.settingId }))?.description
|
|
71
73
|
}
|
|
72
74
|
|
|
73
75
|
async category(@Root() partnerSetting: PartnerSetting): Promise<string> {
|
|
@@ -75,21 +77,21 @@ export class PartnerSettingQuery {
|
|
|
75
77
|
return partnerSetting.setting.category
|
|
76
78
|
}
|
|
77
79
|
|
|
78
|
-
return (await getRepository(Setting).
|
|
80
|
+
return (await getRepository(Setting).findOneBy({ id: partnerSetting.settingId }))?.category
|
|
79
81
|
}
|
|
80
82
|
|
|
81
83
|
@FieldResolver(type => Domain)
|
|
82
84
|
async domain(@Root() partnerSetting: PartnerSetting): Promise<Domain> {
|
|
83
|
-
return await getRepository(Domain).
|
|
85
|
+
return await getRepository(Domain).findOneBy({ id: partnerSetting.domainId })
|
|
84
86
|
}
|
|
85
87
|
|
|
86
88
|
@FieldResolver(type => User)
|
|
87
89
|
async updater(@Root() partnerSetting: PartnerSetting): Promise<User> {
|
|
88
|
-
return await getRepository(User).
|
|
90
|
+
return await getRepository(User).findOneBy({ id: partnerSetting.updaterId })
|
|
89
91
|
}
|
|
90
92
|
|
|
91
93
|
@FieldResolver(type => User)
|
|
92
94
|
async creator(@Root() partnerSetting: PartnerSetting): Promise<User> {
|
|
93
|
-
return await getRepository(User).
|
|
95
|
+
return await getRepository(User).findOneBy({ id: partnerSetting.creatorId })
|
|
94
96
|
}
|
|
95
97
|
}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
+
import { Field, ID, ObjectType } from 'type-graphql'
|
|
1
2
|
import {
|
|
2
|
-
|
|
3
|
-
Repository,
|
|
4
|
-
getRepository,
|
|
3
|
+
Column,
|
|
5
4
|
CreateDateColumn,
|
|
6
|
-
UpdateDateColumn,
|
|
7
5
|
Entity,
|
|
6
|
+
EntityManager,
|
|
7
|
+
getRepository,
|
|
8
8
|
Index,
|
|
9
|
-
Column,
|
|
10
|
-
RelationId,
|
|
11
9
|
ManyToOne,
|
|
12
|
-
PrimaryGeneratedColumn
|
|
10
|
+
PrimaryGeneratedColumn,
|
|
11
|
+
RelationId,
|
|
12
|
+
Repository,
|
|
13
|
+
UpdateDateColumn
|
|
13
14
|
} from 'typeorm'
|
|
14
|
-
import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
|
|
15
15
|
|
|
16
|
-
import { Domain } from '@things-factory/shell'
|
|
17
16
|
import { User } from '@things-factory/auth-base'
|
|
17
|
+
import { Domain } from '@things-factory/shell'
|
|
18
|
+
|
|
18
19
|
import { Setting } from '../setting/setting'
|
|
19
20
|
|
|
20
21
|
@Entity()
|
|
@@ -97,14 +98,14 @@ export class PartnerSetting {
|
|
|
97
98
|
const partnerSettingRepo: Repository<PartnerSetting> =
|
|
98
99
|
tx?.getRepository(PartnerSetting) || getRepository(PartnerSetting)
|
|
99
100
|
const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)
|
|
100
|
-
const setting: Setting = await settingRepo.
|
|
101
|
+
const setting: Setting = await settingRepo.findOneBy({ domain: { id: domain.id }, name })
|
|
101
102
|
|
|
102
103
|
if (!setting) throw new Error(`No setting found has '${name}' as its name`)
|
|
103
104
|
|
|
104
|
-
const domainSetting: PartnerSetting = await partnerSettingRepo.
|
|
105
|
-
domain,
|
|
106
|
-
partnerDomain: partnerDomain,
|
|
107
|
-
setting
|
|
105
|
+
const domainSetting: PartnerSetting = await partnerSettingRepo.findOneBy({
|
|
106
|
+
domain: { id: domain.id },
|
|
107
|
+
partnerDomain: { id: partnerDomain.id },
|
|
108
|
+
setting: { id: setting.id }
|
|
108
109
|
})
|
|
109
110
|
|
|
110
111
|
return domainSetting?.value || setting?.value
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { User } from '@things-factory/auth-base'
|
|
1
|
+
import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'
|
|
2
|
+
import { In } from 'typeorm'
|
|
3
|
+
|
|
5
4
|
import { Setting } from './setting'
|
|
6
5
|
import { NewSetting, SettingPatch } from './setting-type'
|
|
7
6
|
|
|
@@ -10,8 +9,8 @@ export class SettingMutation {
|
|
|
10
9
|
@Directive('@transaction')
|
|
11
10
|
@Directive('@privilege(category: "setting", privilege: "mutation")')
|
|
12
11
|
@Mutation(returns => Setting, { description: 'To create new Setting' })
|
|
13
|
-
async createSetting(@Arg('setting') setting: NewSetting, @Ctx() context:
|
|
14
|
-
const { tx, domain, user }
|
|
12
|
+
async createSetting(@Arg('setting') setting: NewSetting, @Ctx() context: ResolverContext): Promise<Setting> {
|
|
13
|
+
const { tx, domain, user } = context.state
|
|
15
14
|
return await tx.getRepository(Setting).save({
|
|
16
15
|
domain,
|
|
17
16
|
...setting,
|
|
@@ -26,12 +25,12 @@ export class SettingMutation {
|
|
|
26
25
|
async updateSetting(
|
|
27
26
|
@Arg('name') name: string,
|
|
28
27
|
@Arg('patch') patch: SettingPatch,
|
|
29
|
-
@Ctx() context:
|
|
28
|
+
@Ctx() context: ResolverContext
|
|
30
29
|
): Promise<Setting> {
|
|
31
|
-
const { tx, domain, user }
|
|
30
|
+
const { tx, domain, user } = context.state
|
|
32
31
|
|
|
33
32
|
const repository = tx.getRepository(Setting)
|
|
34
|
-
const setting = await repository.
|
|
33
|
+
const setting = await repository.findOneBy({ domain: { id: domain.id }, name })
|
|
35
34
|
|
|
36
35
|
return await repository.save({
|
|
37
36
|
creater: user,
|
|
@@ -47,9 +46,9 @@ export class SettingMutation {
|
|
|
47
46
|
@Mutation(returns => [Setting], { description: "To modify multiple Settings' information" })
|
|
48
47
|
async updateMultipleSetting(
|
|
49
48
|
@Arg('patches', type => [SettingPatch]) patches: SettingPatch[],
|
|
50
|
-
@Ctx() context:
|
|
49
|
+
@Ctx() context: ResolverContext
|
|
51
50
|
): Promise<Setting[]> {
|
|
52
|
-
const { tx, domain, user }
|
|
51
|
+
const { tx, domain, user } = context.state
|
|
53
52
|
|
|
54
53
|
let results = []
|
|
55
54
|
const _createRecords = patches.filter((patch: any) => patch.cuFlag === '+')
|
|
@@ -61,7 +60,7 @@ export class SettingMutation {
|
|
|
61
60
|
const newRecord = _createRecords[i]
|
|
62
61
|
|
|
63
62
|
const result = await settingRepo.save({
|
|
64
|
-
domain,
|
|
63
|
+
domain: { id: domain.id },
|
|
65
64
|
creator: user,
|
|
66
65
|
updater: user,
|
|
67
66
|
...newRecord
|
|
@@ -74,7 +73,7 @@ export class SettingMutation {
|
|
|
74
73
|
if (_updateRecords.length > 0) {
|
|
75
74
|
for (let i = 0; i < _updateRecords.length; i++) {
|
|
76
75
|
const newRecord = _updateRecords[i]
|
|
77
|
-
const setting = await settingRepo.
|
|
76
|
+
const setting = await settingRepo.findOneBy({ id: newRecord.id })
|
|
78
77
|
|
|
79
78
|
const result = await settingRepo.save({
|
|
80
79
|
...setting,
|
|
@@ -92,8 +91,8 @@ export class SettingMutation {
|
|
|
92
91
|
@Directive('@transaction')
|
|
93
92
|
@Directive('@privilege(category: "setting", privilege: "mutation")')
|
|
94
93
|
@Mutation(returns => Boolean, { description: 'To delete Setting' })
|
|
95
|
-
async deleteSetting(@Arg('name') name: string, @Ctx() context:
|
|
96
|
-
const { tx, domain }
|
|
94
|
+
async deleteSetting(@Arg('name') name: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
95
|
+
const { tx, domain } = context.state
|
|
97
96
|
|
|
98
97
|
await tx.getRepository(Setting).delete({ domain, name })
|
|
99
98
|
return true
|
|
@@ -102,11 +101,14 @@ export class SettingMutation {
|
|
|
102
101
|
@Directive('@transaction')
|
|
103
102
|
@Directive('@privilege(category: "setting", privilege: "mutation")')
|
|
104
103
|
@Mutation(returns => Boolean, { description: 'To delete multiple settings' })
|
|
105
|
-
async deleteSettings(
|
|
106
|
-
|
|
104
|
+
async deleteSettings(
|
|
105
|
+
@Arg('names', type => [String]) names: string[],
|
|
106
|
+
@Ctx() context: ResolverContext
|
|
107
|
+
): Promise<boolean> {
|
|
108
|
+
const { tx, domain } = context.state
|
|
107
109
|
|
|
108
110
|
await tx.getRepository(Setting).delete({
|
|
109
|
-
domain,
|
|
111
|
+
domain: { id: domain.id },
|
|
110
112
|
name: In(names)
|
|
111
113
|
})
|
|
112
114
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { Domain, ListParam, buildQuery } from '@things-factory/shell'
|
|
1
|
+
import { Arg, Args, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'
|
|
2
|
+
|
|
4
3
|
import { User } from '@things-factory/auth-base'
|
|
4
|
+
import { buildQuery, Domain, getRepository, ListParam } from '@things-factory/shell'
|
|
5
|
+
|
|
6
|
+
import { PartnerSetting } from '../partner-setting/partner-setting'
|
|
5
7
|
import { Setting } from './setting'
|
|
6
8
|
import { SettingList } from './setting-type'
|
|
7
|
-
import { Partner } from '@things-factory/auth-base'
|
|
8
|
-
import { PartnerSetting } from '../partner-setting/partner-setting'
|
|
9
9
|
|
|
10
10
|
@Resolver(Setting)
|
|
11
11
|
export class SettingQuery {
|
|
@@ -14,19 +14,19 @@ export class SettingQuery {
|
|
|
14
14
|
async setting(
|
|
15
15
|
@Arg('name') name: string,
|
|
16
16
|
@Arg('partnerDomainId', { nullable: true }) partnerDomainId: string,
|
|
17
|
-
@Ctx() context:
|
|
17
|
+
@Ctx() context: ResolverContext
|
|
18
18
|
): Promise<Setting> {
|
|
19
|
-
const { domain }
|
|
19
|
+
const { domain } = context.state
|
|
20
20
|
|
|
21
|
-
let setting: Setting = await getRepository(Setting).findOne({ where: { domain, name } })
|
|
21
|
+
let setting: Setting = await getRepository(Setting).findOne({ where: { domain: { id: domain.id }, name } })
|
|
22
22
|
if (!setting) throw new Error(`${name} setting not found`)
|
|
23
23
|
|
|
24
24
|
if (partnerDomainId) {
|
|
25
|
-
const partnerDomain: Domain = await getRepository(Domain).
|
|
26
|
-
const partnerSetting: PartnerSetting = await getRepository(PartnerSetting).
|
|
27
|
-
setting,
|
|
28
|
-
domain,
|
|
29
|
-
partnerDomain
|
|
25
|
+
const partnerDomain: Domain = await getRepository(Domain).findOneBy({ id: partnerDomainId })
|
|
26
|
+
const partnerSetting: PartnerSetting = await getRepository(PartnerSetting).findOneBy({
|
|
27
|
+
setting: { id: setting.id },
|
|
28
|
+
domain: { id: domain.id },
|
|
29
|
+
partnerDomain: { id: partnerDomain.id }
|
|
30
30
|
})
|
|
31
31
|
if (partnerSetting) setting.value = partnerSetting.value
|
|
32
32
|
}
|
|
@@ -36,7 +36,7 @@ export class SettingQuery {
|
|
|
36
36
|
|
|
37
37
|
@Directive('@privilege(category: "setting", privilege: "query")')
|
|
38
38
|
@Query(returns => SettingList, { description: 'To fetch multiple Settings' })
|
|
39
|
-
async settings(@Args() params: ListParam, @Ctx() context:
|
|
39
|
+
async settings(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<SettingList> {
|
|
40
40
|
const queryBuilder = getRepository(Setting).createQueryBuilder()
|
|
41
41
|
buildQuery(queryBuilder, params, context)
|
|
42
42
|
|
|
@@ -44,40 +44,40 @@ export class SettingQuery {
|
|
|
44
44
|
return { items, total }
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
@FieldResolver(type => Domain)
|
|
48
|
-
async value(@Root() setting: Setting, @Ctx() context:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
// @FieldResolver(type => Domain)
|
|
48
|
+
// async value(@Root() setting: Setting, @Ctx() context: ResolverContext) {
|
|
49
|
+
// const { user, domain } = context.state
|
|
50
|
+
// const userDomains: Domain[] = user.domains
|
|
51
|
+
// let value: string = setting.value
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
53
|
+
// const partner: Partner = await getRepository(Partner).findOne({
|
|
54
|
+
// where: { domain: { id: domain.id }, partnerDomain: In(userDomains.map((userDomain: Domain) => userDomain.id)) },
|
|
55
|
+
// relations: ['partnerDomain']
|
|
56
|
+
// })
|
|
57
|
+
// if (partner?.partnerDomain) {
|
|
58
|
+
// const partnerSetting: PartnerSetting = await getRepository(PartnerSetting).findOne({
|
|
59
|
+
// setting,
|
|
60
|
+
// domain,
|
|
61
|
+
// partnerDomain: partner.partnerDomain
|
|
62
|
+
// })
|
|
63
|
+
// if (partnerSetting) value = partnerSetting.value
|
|
64
|
+
// }
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
}
|
|
66
|
+
// return value
|
|
67
|
+
// }
|
|
68
68
|
|
|
69
69
|
@FieldResolver(type => Domain)
|
|
70
70
|
async domain(@Root() setting: Setting) {
|
|
71
|
-
return await getRepository(Domain).
|
|
71
|
+
return await getRepository(Domain).findOneBy({ id: setting.domainId })
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
@FieldResolver(type => User)
|
|
75
75
|
async updater(@Root() setting: Setting): Promise<User> {
|
|
76
|
-
return await getRepository(User).
|
|
76
|
+
return await getRepository(User).findOneBy({ id: setting.updaterId })
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
@FieldResolver(type => User)
|
|
80
80
|
async creator(@Root() setting: Setting): Promise<User> {
|
|
81
|
-
return await getRepository(User).
|
|
81
|
+
return await getRepository(User).findOneBy({ id: setting.creatorId })
|
|
82
82
|
}
|
|
83
83
|
}
|