@things-factory/personalization 7.0.1-alpha.63 → 7.0.1-alpha.64
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/client/grid-preference-editor.ts +8 -8
- package/client/index.ts +2 -0
- package/client/page-preference-provider-impl.ts +63 -0
- package/client/types.ts +8 -0
- package/dist-client/grid-preference-editor.d.ts +1 -1
- package/dist-client/grid-preference-editor.js +8 -8
- package/dist-client/grid-preference-editor.js.map +1 -1
- package/dist-client/index.d.ts +2 -0
- package/dist-client/index.js +2 -1
- package/dist-client/index.js.map +1 -1
- package/dist-client/page-preference-provider-impl.d.ts +17 -0
- package/dist-client/page-preference-provider-impl.js +52 -0
- package/dist-client/page-preference-provider-impl.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/types.d.ts +15 -0
- package/dist-client/types.js +2 -0
- package/dist-client/types.js.map +1 -0
- package/dist-server/service/index.js +4 -4
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/page-preference/index.js +9 -0
- package/dist-server/service/page-preference/index.js.map +1 -0
- package/dist-server/service/{screen-preference/screen-preference-mutation.js → page-preference/page-preference-mutation.js} +39 -39
- package/dist-server/service/page-preference/page-preference-mutation.js.map +1 -0
- package/dist-server/service/page-preference/page-preference-query.js +94 -0
- package/dist-server/service/page-preference/page-preference-query.js.map +1 -0
- package/dist-server/service/{screen-preference/screen-preference-type.js → page-preference/page-preference-type.js} +28 -28
- package/dist-server/service/page-preference/page-preference-type.js.map +1 -0
- package/dist-server/service/{screen-preference/screen-preference.js → page-preference/page-preference.js} +30 -30
- package/dist-server/service/page-preference/page-preference.js.map +1 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/personalization/screen-preference.md +1 -1
- package/package.json +4 -4
- package/server/service/index.ts +4 -4
- package/server/service/page-preference/index.ts +6 -0
- package/server/service/page-preference/page-preference-mutation.ts +101 -0
- package/server/service/page-preference/page-preference-query.ts +61 -0
- package/server/service/{screen-preference/screen-preference-type.ts → page-preference/page-preference-type.ts} +8 -8
- package/server/service/{screen-preference/screen-preference.ts → page-preference/page-preference.ts} +13 -13
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/dist-server/service/screen-preference/index.js +0 -9
- package/dist-server/service/screen-preference/index.js.map +0 -1
- package/dist-server/service/screen-preference/screen-preference-mutation.js.map +0 -1
- package/dist-server/service/screen-preference/screen-preference-query.js +0 -94
- package/dist-server/service/screen-preference/screen-preference-query.js.map +0 -1
- package/dist-server/service/screen-preference/screen-preference-type.js.map +0 -1
- package/dist-server/service/screen-preference/screen-preference.js.map +0 -1
- package/server/migrations/index.ts +0 -9
- package/server/service/screen-preference/index.ts +0 -6
- package/server/service/screen-preference/screen-preference-mutation.ts +0 -101
- package/server/service/screen-preference/screen-preference-query.ts +0 -61
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/personalization",
|
|
3
|
-
"version": "7.0.1-alpha.
|
|
3
|
+
"version": "7.0.1-alpha.64",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"@operato/i18n": "^2.0.0-alpha.0",
|
|
33
33
|
"@operato/shell": "^2.0.0-alpha.0",
|
|
34
34
|
"@operato/styles": "^2.0.0-alpha.0",
|
|
35
|
-
"@things-factory/auth-base": "7.0.1-alpha.
|
|
36
|
-
"@things-factory/shell": "7.0.1-alpha.
|
|
35
|
+
"@things-factory/auth-base": "^7.0.1-alpha.64",
|
|
36
|
+
"@things-factory/shell": "^7.0.1-alpha.64"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "d9d40222a2a4b8f9360ffb8baab6a78e84f84c1c"
|
|
39
39
|
}
|
package/server/service/index.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/* EXPORT ENTITY TYPES */
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './page-preference/page-preference'
|
|
3
3
|
|
|
4
4
|
/* IMPORT ENTITIES AND RESOLVERS */
|
|
5
|
-
import { entities as
|
|
5
|
+
import { entities as PagePreferenceEntities, resolvers as PagePreferenceResolvers } from './page-preference'
|
|
6
6
|
|
|
7
7
|
export const entities = [
|
|
8
8
|
/* ENTITIES */
|
|
9
|
-
...
|
|
9
|
+
...PagePreferenceEntities
|
|
10
10
|
]
|
|
11
11
|
|
|
12
12
|
export const subscribers = [
|
|
@@ -16,6 +16,6 @@ export const subscribers = [
|
|
|
16
16
|
export const schema = {
|
|
17
17
|
resolverClasses: [
|
|
18
18
|
/* RESOLVER CLASSES */
|
|
19
|
-
...
|
|
19
|
+
...PagePreferenceResolvers
|
|
20
20
|
]
|
|
21
21
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PagePreference } from './page-preference'
|
|
2
|
+
import { PagePreferenceQuery } from './page-preference-query'
|
|
3
|
+
import { PagePreferenceMutation } from './page-preference-mutation'
|
|
4
|
+
|
|
5
|
+
export const entities = [PagePreference]
|
|
6
|
+
export const resolvers = [PagePreferenceQuery, PagePreferenceMutation]
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
|
|
2
|
+
import { In } from 'typeorm'
|
|
3
|
+
|
|
4
|
+
import { ScalarObject } from '@things-factory/shell'
|
|
5
|
+
|
|
6
|
+
import { PagePreference } from './page-preference'
|
|
7
|
+
import { NewPagePreference, PagePreferencePatch } from './page-preference-type'
|
|
8
|
+
|
|
9
|
+
@Resolver(PagePreference)
|
|
10
|
+
export class PagePreferenceMutation {
|
|
11
|
+
@Directive('@transaction')
|
|
12
|
+
@Mutation(returns => PagePreference, { description: 'To create my new PagePreference' })
|
|
13
|
+
async createMyPagePreference(
|
|
14
|
+
@Arg('pagePreference') pagePreference: NewPagePreference,
|
|
15
|
+
@Ctx() context: ResolverContext
|
|
16
|
+
): Promise<PagePreference> {
|
|
17
|
+
const { domain, user, tx } = context.state
|
|
18
|
+
|
|
19
|
+
return await tx.getRepository(PagePreference).save({
|
|
20
|
+
...pagePreference,
|
|
21
|
+
domain,
|
|
22
|
+
creator: user,
|
|
23
|
+
updater: user
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@Directive('@transaction')
|
|
28
|
+
@Mutation(returns => PagePreference, { description: 'To create or update my PagePreference' })
|
|
29
|
+
async updateMyPagePreference(
|
|
30
|
+
@Arg('page') page: string,
|
|
31
|
+
@Arg('element') element: string,
|
|
32
|
+
@Arg('preference', type => ScalarObject) preference: { [key: string]: any },
|
|
33
|
+
@Ctx() context: any
|
|
34
|
+
): Promise<PagePreference> {
|
|
35
|
+
const { domain, user, tx } = context.state
|
|
36
|
+
|
|
37
|
+
if (!page || !element) {
|
|
38
|
+
throw 'page and element are required.'
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const pagePreference = await tx.getRepository(PagePreference).findOne({
|
|
42
|
+
where: { domain: { id: domain.id }, user: { id: user.id }, page, element }
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
return await tx.getRepository(PagePreference).save({
|
|
46
|
+
...pagePreference,
|
|
47
|
+
domain,
|
|
48
|
+
user,
|
|
49
|
+
page,
|
|
50
|
+
element,
|
|
51
|
+
preference,
|
|
52
|
+
creator: user,
|
|
53
|
+
updater: user
|
|
54
|
+
})
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@Directive('@transaction')
|
|
58
|
+
@Mutation(returns => Boolean, { description: 'To delete my PagePreference' })
|
|
59
|
+
async deleteMyPagePreference(
|
|
60
|
+
@Arg('page') page: string,
|
|
61
|
+
@Arg('element') element: string,
|
|
62
|
+
@Ctx() context: ResolverContext
|
|
63
|
+
): Promise<boolean> {
|
|
64
|
+
const { domain, user, tx } = context.state
|
|
65
|
+
|
|
66
|
+
await tx.getRepository(PagePreference).delete({
|
|
67
|
+
domain: { id: domain.id },
|
|
68
|
+
user: { id: user.id },
|
|
69
|
+
page,
|
|
70
|
+
element
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
return true
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@Directive('@transaction')
|
|
77
|
+
@Mutation(returns => Boolean, { description: 'To delete PagePreference' })
|
|
78
|
+
async deletePagePreference(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
79
|
+
const { domain, tx } = context.state
|
|
80
|
+
|
|
81
|
+
await tx.getRepository(PagePreference).delete({ domain: { id: domain.id }, id })
|
|
82
|
+
|
|
83
|
+
return true
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
@Directive('@transaction')
|
|
87
|
+
@Mutation(returns => Boolean, { description: 'To delete multiple PagePreferences' })
|
|
88
|
+
async deletePagePreferences(
|
|
89
|
+
@Arg('ids', type => [String]) ids: string[],
|
|
90
|
+
@Ctx() context: ResolverContext
|
|
91
|
+
): Promise<boolean> {
|
|
92
|
+
const { domain, tx } = context.state
|
|
93
|
+
|
|
94
|
+
await tx.getRepository(PagePreference).delete({
|
|
95
|
+
domain: { id: domain.id },
|
|
96
|
+
id: In(ids)
|
|
97
|
+
})
|
|
98
|
+
|
|
99
|
+
return true
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'
|
|
2
|
+
import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
|
|
3
|
+
import { User } from '@things-factory/auth-base'
|
|
4
|
+
import { PagePreference } from './page-preference'
|
|
5
|
+
import { PagePreferenceList } from './page-preference-type'
|
|
6
|
+
|
|
7
|
+
@Resolver(PagePreference)
|
|
8
|
+
export class PagePreferenceQuery {
|
|
9
|
+
@Query(returns => PagePreference!, { nullable: true, description: 'To fetch a PagePreference' })
|
|
10
|
+
async pagePreference(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<PagePreference> {
|
|
11
|
+
const { domain } = context.state
|
|
12
|
+
|
|
13
|
+
return await getRepository(PagePreference).findOne({
|
|
14
|
+
where: { domain: { id: domain.id }, id }
|
|
15
|
+
})
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@Query(returns => PagePreference, { nullable: true, description: `To fetch a User's own Gridpersonalize` })
|
|
19
|
+
async myPagePreference(
|
|
20
|
+
@Arg('page') page: string,
|
|
21
|
+
@Arg('element') element: string,
|
|
22
|
+
@Ctx() context: any
|
|
23
|
+
): Promise<PagePreference> {
|
|
24
|
+
const { domain, user } = context.state
|
|
25
|
+
|
|
26
|
+
return await getRepository(PagePreference).findOne({
|
|
27
|
+
where: { domain: { id: domain.id }, user: { id: user.id }, page, element }
|
|
28
|
+
})
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Query(returns => PagePreferenceList, { description: 'To fetch multiple PagePreferences' })
|
|
32
|
+
async myPagePreferences(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<PagePreferenceList> {
|
|
33
|
+
const { domain, user } = context.state
|
|
34
|
+
|
|
35
|
+
const queryBuilder = getQueryBuilderFromListParams({
|
|
36
|
+
domain,
|
|
37
|
+
params,
|
|
38
|
+
repository: await getRepository(PagePreference),
|
|
39
|
+
searchables: ['page']
|
|
40
|
+
}).andWhere('user.id = :userId', { userId: user.id })
|
|
41
|
+
|
|
42
|
+
const [items, total] = await queryBuilder.getManyAndCount()
|
|
43
|
+
|
|
44
|
+
return { items, total }
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@FieldResolver(type => Domain)
|
|
48
|
+
async domain(@Root() pagePreference: PagePreference): Promise<Domain> {
|
|
49
|
+
return pagePreference.domainId && (await getRepository(Domain).findOneBy({ id: pagePreference.domainId }))
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@FieldResolver(type => User)
|
|
53
|
+
async updater(@Root() pagePreference: PagePreference): Promise<User> {
|
|
54
|
+
return pagePreference.updaterId && (await getRepository(User).findOneBy({ id: pagePreference.updaterId }))
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@FieldResolver(type => User)
|
|
58
|
+
async creator(@Root() pagePreference: PagePreference): Promise<User> {
|
|
59
|
+
return pagePreference.creatorId && (await getRepository(User).findOneBy({ id: pagePreference.creatorId }))
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -2,15 +2,15 @@ import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'
|
|
|
2
2
|
|
|
3
3
|
import { ObjectRef, ScalarObject } from '@things-factory/shell'
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { PagePreference } from './page-preference'
|
|
6
6
|
|
|
7
7
|
@InputType()
|
|
8
|
-
export class
|
|
8
|
+
export class NewPagePreference {
|
|
9
9
|
@Field(type => ObjectRef)
|
|
10
10
|
user: ObjectRef
|
|
11
11
|
|
|
12
12
|
@Field({ nullable: true })
|
|
13
|
-
|
|
13
|
+
page?: string
|
|
14
14
|
|
|
15
15
|
@Field({ nullable: true })
|
|
16
16
|
element?: string
|
|
@@ -20,7 +20,7 @@ export class NewScreenPreference {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
@InputType()
|
|
23
|
-
export class
|
|
23
|
+
export class PagePreferencePatch {
|
|
24
24
|
@Field(type => ID, { nullable: true })
|
|
25
25
|
id?: string
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ export class ScreenPreferencePatch {
|
|
|
28
28
|
user: ObjectRef
|
|
29
29
|
|
|
30
30
|
@Field({ nullable: true })
|
|
31
|
-
|
|
31
|
+
page?: string
|
|
32
32
|
|
|
33
33
|
@Field({ nullable: true })
|
|
34
34
|
element?: string
|
|
@@ -41,9 +41,9 @@ export class ScreenPreferencePatch {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
@ObjectType()
|
|
44
|
-
export class
|
|
45
|
-
@Field(type => [
|
|
46
|
-
items:
|
|
44
|
+
export class PagePreferenceList {
|
|
45
|
+
@Field(type => [PagePreference])
|
|
46
|
+
items: PagePreference[]
|
|
47
47
|
|
|
48
48
|
@Field(type => Int)
|
|
49
49
|
total: number
|
package/server/service/{screen-preference/screen-preference.ts → page-preference/page-preference.ts}
RENAMED
|
@@ -15,19 +15,19 @@ import { User } from '@things-factory/auth-base'
|
|
|
15
15
|
|
|
16
16
|
@Entity()
|
|
17
17
|
@Index(
|
|
18
|
-
'
|
|
19
|
-
(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
'ix_page_preference_0',
|
|
19
|
+
(pagePreference: PagePreference) => [
|
|
20
|
+
pagePreference.domain,
|
|
21
|
+
pagePreference.user,
|
|
22
|
+
pagePreference.page,
|
|
23
|
+
pagePreference.element
|
|
24
24
|
],
|
|
25
25
|
{
|
|
26
26
|
unique: true
|
|
27
27
|
}
|
|
28
28
|
)
|
|
29
|
-
@ObjectType({ description: 'Entity for
|
|
30
|
-
export class
|
|
29
|
+
@ObjectType({ description: 'Entity for PagePreference' })
|
|
30
|
+
export class PagePreference {
|
|
31
31
|
@PrimaryGeneratedColumn('uuid')
|
|
32
32
|
@Field(type => ID)
|
|
33
33
|
readonly id: string
|
|
@@ -36,19 +36,19 @@ export class ScreenPreference {
|
|
|
36
36
|
@Field({ nullable: true })
|
|
37
37
|
domain?: Domain
|
|
38
38
|
|
|
39
|
-
@RelationId((
|
|
39
|
+
@RelationId((pagePreference: PagePreference) => pagePreference.domain)
|
|
40
40
|
domainId?: string
|
|
41
41
|
|
|
42
42
|
@ManyToOne(type => User)
|
|
43
43
|
@Field({ nullable: false })
|
|
44
44
|
user: User
|
|
45
45
|
|
|
46
|
-
@RelationId((
|
|
46
|
+
@RelationId((pagePreference: PagePreference) => pagePreference.user)
|
|
47
47
|
userId: string
|
|
48
48
|
|
|
49
49
|
@Column({ nullable: true })
|
|
50
50
|
@Field({ nullable: true })
|
|
51
|
-
|
|
51
|
+
page: string
|
|
52
52
|
|
|
53
53
|
@Column({ nullable: true })
|
|
54
54
|
@Field({ nullable: true })
|
|
@@ -70,13 +70,13 @@ export class ScreenPreference {
|
|
|
70
70
|
@Field(type => User, { nullable: true })
|
|
71
71
|
creator?: User
|
|
72
72
|
|
|
73
|
-
@RelationId((
|
|
73
|
+
@RelationId((pagePreference: PagePreference) => pagePreference.creator)
|
|
74
74
|
creatorId?: string
|
|
75
75
|
|
|
76
76
|
@ManyToOne(type => User, { nullable: true })
|
|
77
77
|
@Field(type => User, { nullable: true })
|
|
78
78
|
updater?: User
|
|
79
79
|
|
|
80
|
-
@RelationId((
|
|
80
|
+
@RelationId((pagePreference: PagePreference) => pagePreference.updater)
|
|
81
81
|
updaterId?: string
|
|
82
82
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.migrations = void 0;
|
|
4
|
-
const glob = require('glob');
|
|
5
|
-
const path = require('path');
|
|
6
|
-
exports.migrations = [];
|
|
7
|
-
glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function (file) {
|
|
8
|
-
if (file.indexOf('index.js') !== -1)
|
|
9
|
-
return;
|
|
10
|
-
exports.migrations = exports.migrations.concat(Object.values(require(path.resolve(file))) || []);
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA","sourcesContent":["const glob = require('glob')\nconst path = require('path')\n\nexport var migrations = []\n\nglob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function(file) {\n if (file.indexOf('index.js') !== -1) return\n migrations = migrations.concat(Object.values(require(path.resolve(file))) || [])\n})\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolvers = exports.entities = void 0;
|
|
4
|
-
const screen_preference_1 = require("./screen-preference");
|
|
5
|
-
const screen_preference_query_1 = require("./screen-preference-query");
|
|
6
|
-
const screen_preference_mutation_1 = require("./screen-preference-mutation");
|
|
7
|
-
exports.entities = [screen_preference_1.ScreenPreference];
|
|
8
|
-
exports.resolvers = [screen_preference_query_1.ScreenPreferenceQuery, screen_preference_mutation_1.ScreenPreferenceMutation];
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/screen-preference/index.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AACtD,uEAAiE;AACjE,6EAAuE;AAE1D,QAAA,QAAQ,GAAG,CAAC,oCAAgB,CAAC,CAAA;AAC7B,QAAA,SAAS,GAAG,CAAC,+CAAqB,EAAE,qDAAwB,CAAC,CAAA","sourcesContent":["import { ScreenPreference } from './screen-preference'\nimport { ScreenPreferenceQuery } from './screen-preference-query'\nimport { ScreenPreferenceMutation } from './screen-preference-mutation'\n\nexport const entities = [ScreenPreference]\nexport const resolvers = [ScreenPreferenceQuery, ScreenPreferenceMutation]\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screen-preference-mutation.js","sourceRoot":"","sources":["../../../server/service/screen-preference/screen-preference-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { ScalarObject } from '@things-factory/shell'\n\nimport { ScreenPreference } from './screen-preference'\nimport { NewScreenPreference, ScreenPreferencePatch } from './screen-preference-type'\n\n@Resolver(ScreenPreference)\nexport class ScreenPreferenceMutation {\n @Directive('@transaction')\n @Mutation(returns => ScreenPreference, { description: 'To create my new ScreenPreference' })\n async createMyScreenPreference(\n @Arg('screenPreference') screenPreference: NewScreenPreference,\n @Ctx() context: ResolverContext\n ): Promise<ScreenPreference> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(ScreenPreference).save({\n ...screenPreference,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => ScreenPreference, { description: 'To create or update my ScreenPreference' })\n async updateMyScreenPreference(\n @Arg('route') route: string,\n @Arg('element') element: string,\n @Arg('preference', type => ScalarObject) preference: { [key: string]: any },\n @Ctx() context: any\n ): Promise<ScreenPreference> {\n const { domain, user, tx } = context.state\n\n if (!route || !element) {\n throw 'route and element are required.'\n }\n\n const screenPreference = await tx.getRepository(ScreenPreference).findOne({\n where: { domain: { id: domain.id }, user: { id: user.id }, route, element }\n })\n\n return await tx.getRepository(ScreenPreference).save({\n ...screenPreference,\n domain,\n user,\n route,\n element,\n preference,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete my ScreenPreference' })\n async deleteMyScreenPreference(\n @Arg('route') route: string,\n @Arg('element') element: string,\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, user, tx } = context.state\n\n await tx.getRepository(ScreenPreference).delete({\n domain: { id: domain.id },\n user: { id: user.id },\n route,\n element\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ScreenPreference' })\n async deleteScreenPreference(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ScreenPreference).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple ScreenPreferences' })\n async deleteScreenPreferences(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ScreenPreference).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n}\n"]}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScreenPreferenceQuery = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const type_graphql_1 = require("type-graphql");
|
|
6
|
-
const shell_1 = require("@things-factory/shell");
|
|
7
|
-
const auth_base_1 = require("@things-factory/auth-base");
|
|
8
|
-
const screen_preference_1 = require("./screen-preference");
|
|
9
|
-
const screen_preference_type_1 = require("./screen-preference-type");
|
|
10
|
-
let ScreenPreferenceQuery = class ScreenPreferenceQuery {
|
|
11
|
-
async screenPreference(id, context) {
|
|
12
|
-
const { domain } = context.state;
|
|
13
|
-
return await (0, shell_1.getRepository)(screen_preference_1.ScreenPreference).findOne({
|
|
14
|
-
where: { domain: { id: domain.id }, id }
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
async myScreenPreference(route, element, context) {
|
|
18
|
-
const { domain, user } = context.state;
|
|
19
|
-
return await (0, shell_1.getRepository)(screen_preference_1.ScreenPreference).findOne({
|
|
20
|
-
where: { domain: { id: domain.id }, user: { id: user.id }, route, element }
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
async myScreenPreferences(params, context) {
|
|
24
|
-
const { domain, user } = context.state;
|
|
25
|
-
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
26
|
-
domain,
|
|
27
|
-
params,
|
|
28
|
-
repository: await (0, shell_1.getRepository)(screen_preference_1.ScreenPreference),
|
|
29
|
-
searchables: ['route']
|
|
30
|
-
}).andWhere('user.id = :userId', { userId: user.id });
|
|
31
|
-
const [items, total] = await queryBuilder.getManyAndCount();
|
|
32
|
-
return { items, total };
|
|
33
|
-
}
|
|
34
|
-
async domain(screenPreference) {
|
|
35
|
-
return screenPreference.domainId && (await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: screenPreference.domainId }));
|
|
36
|
-
}
|
|
37
|
-
async updater(screenPreference) {
|
|
38
|
-
return screenPreference.updaterId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: screenPreference.updaterId }));
|
|
39
|
-
}
|
|
40
|
-
async creator(screenPreference) {
|
|
41
|
-
return screenPreference.creatorId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: screenPreference.creatorId }));
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
tslib_1.__decorate([
|
|
45
|
-
(0, type_graphql_1.Query)(returns => screen_preference_1.ScreenPreference, { nullable: true, description: 'To fetch a ScreenPreference' }),
|
|
46
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
|
|
47
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
48
|
-
tslib_1.__metadata("design:type", Function),
|
|
49
|
-
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
50
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
51
|
-
], ScreenPreferenceQuery.prototype, "screenPreference", null);
|
|
52
|
-
tslib_1.__decorate([
|
|
53
|
-
(0, type_graphql_1.Query)(returns => screen_preference_1.ScreenPreference, { nullable: true, description: `To fetch a User's own Gridpersonalize` }),
|
|
54
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('route')),
|
|
55
|
-
tslib_1.__param(1, (0, type_graphql_1.Arg)('element')),
|
|
56
|
-
tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
|
|
57
|
-
tslib_1.__metadata("design:type", Function),
|
|
58
|
-
tslib_1.__metadata("design:paramtypes", [String, String, Object]),
|
|
59
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
60
|
-
], ScreenPreferenceQuery.prototype, "myScreenPreference", null);
|
|
61
|
-
tslib_1.__decorate([
|
|
62
|
-
(0, type_graphql_1.Query)(returns => screen_preference_type_1.ScreenPreferenceList, { description: 'To fetch multiple ScreenPreferences' }),
|
|
63
|
-
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
64
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
65
|
-
tslib_1.__metadata("design:type", Function),
|
|
66
|
-
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
67
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
68
|
-
], ScreenPreferenceQuery.prototype, "myScreenPreferences", null);
|
|
69
|
-
tslib_1.__decorate([
|
|
70
|
-
(0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
|
|
71
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
72
|
-
tslib_1.__metadata("design:type", Function),
|
|
73
|
-
tslib_1.__metadata("design:paramtypes", [screen_preference_1.ScreenPreference]),
|
|
74
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
75
|
-
], ScreenPreferenceQuery.prototype, "domain", null);
|
|
76
|
-
tslib_1.__decorate([
|
|
77
|
-
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
78
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
79
|
-
tslib_1.__metadata("design:type", Function),
|
|
80
|
-
tslib_1.__metadata("design:paramtypes", [screen_preference_1.ScreenPreference]),
|
|
81
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
82
|
-
], ScreenPreferenceQuery.prototype, "updater", null);
|
|
83
|
-
tslib_1.__decorate([
|
|
84
|
-
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
85
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
86
|
-
tslib_1.__metadata("design:type", Function),
|
|
87
|
-
tslib_1.__metadata("design:paramtypes", [screen_preference_1.ScreenPreference]),
|
|
88
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
89
|
-
], ScreenPreferenceQuery.prototype, "creator", null);
|
|
90
|
-
ScreenPreferenceQuery = tslib_1.__decorate([
|
|
91
|
-
(0, type_graphql_1.Resolver)(screen_preference_1.ScreenPreference)
|
|
92
|
-
], ScreenPreferenceQuery);
|
|
93
|
-
exports.ScreenPreferenceQuery = ScreenPreferenceQuery;
|
|
94
|
-
//# sourceMappingURL=screen-preference-query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screen-preference-query.js","sourceRoot":"","sources":["../../../server/service/screen-preference/screen-preference-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { ScreenPreference } from './screen-preference'\nimport { ScreenPreferenceList } from './screen-preference-type'\n\n@Resolver(ScreenPreference)\nexport class ScreenPreferenceQuery {\n @Query(returns => ScreenPreference!, { nullable: true, description: 'To fetch a ScreenPreference' })\n async screenPreference(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ScreenPreference> {\n const { domain } = context.state\n\n return await getRepository(ScreenPreference).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => ScreenPreference, { nullable: true, description: `To fetch a User's own Gridpersonalize` })\n async myScreenPreference(\n @Arg('route') route: string,\n @Arg('element') element: string,\n @Ctx() context: any\n ): Promise<ScreenPreference> {\n const { domain, user } = context.state\n\n return await getRepository(ScreenPreference).findOne({\n where: { domain: { id: domain.id }, user: { id: user.id }, route, element }\n })\n }\n\n @Query(returns => ScreenPreferenceList, { description: 'To fetch multiple ScreenPreferences' })\n async myScreenPreferences(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ScreenPreferenceList> {\n const { domain, user } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(ScreenPreference),\n searchables: ['route']\n }).andWhere('user.id = :userId', { userId: user.id })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() screenPreference: ScreenPreference): Promise<Domain> {\n return screenPreference.domainId && (await getRepository(Domain).findOneBy({ id: screenPreference.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() screenPreference: ScreenPreference): Promise<User> {\n return screenPreference.updaterId && (await getRepository(User).findOneBy({ id: screenPreference.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() screenPreference: ScreenPreference): Promise<User> {\n return screenPreference.creatorId && (await getRepository(User).findOneBy({ id: screenPreference.creatorId }))\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screen-preference-type.js","sourceRoot":"","sources":["../../../server/service/screen-preference/screen-preference-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AAEpE,iDAA+D;AAE/D,2DAAsD;AAG/C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAY/B,CAAA;AAXC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC;sCACnB,iBAAS;iDAAA;AAEf;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACZ;AAEd;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uDACf;AAXvB,mBAAmB;IAD/B,IAAA,wBAAS,GAAE;GACC,mBAAmB,CAY/B;AAZY,kDAAmB;AAezB,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAkBjC,CAAA;AAjBC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC3B;AAEX;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC;sCACnB,iBAAS;mDAAA;AAEf;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACZ;AAEd;IAAC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACV;AAEhB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;yDACf;AAElC;IAAC,IAAA,oBAAK,GAAE;;qDACM;AAjBH,qBAAqB;IADjC,IAAA,wBAAS,GAAE;GACC,qBAAqB,CAkBjC;AAlBY,sDAAqB;AAqB3B,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAMhC,CAAA;AALC;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,oCAAgB,CAAC,CAAC;;mDACT;AAEzB;IAAC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;mDACN;AALF,oBAAoB;IADhC,IAAA,yBAAU,GAAE;GACA,oBAAoB,CAMhC;AANY,oDAAoB","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { ScreenPreference } from './screen-preference'\n\n@InputType()\nexport class NewScreenPreference {\n @Field(type => ObjectRef)\n user: ObjectRef\n\n @Field({ nullable: true })\n route?: string\n\n @Field({ nullable: true })\n element?: string\n\n @Field(type => ScalarObject, { nullable: false })\n preference: { [key: string]: any }\n}\n\n@InputType()\nexport class ScreenPreferencePatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field(type => ObjectRef)\n user: ObjectRef\n\n @Field({ nullable: true })\n route?: string\n\n @Field({ nullable: true })\n element?: string\n\n @Field(type => ScalarObject, { nullable: false })\n preference: { [key: string]: any }\n\n @Field()\n cuFlag: string\n}\n\n@ObjectType()\nexport class ScreenPreferenceList {\n @Field(type => [ScreenPreference])\n items: ScreenPreference[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screen-preference.js","sourceRoot":"","sources":["../../../server/service/screen-preference/screen-preference.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn\n} from 'typeorm'\nimport { ObjectType, Field, ID } from 'type-graphql'\n\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\n@Entity()\n@Index(\n 'ix_screen_preference_0',\n (screenPreference: ScreenPreference) => [\n screenPreference.domain,\n screenPreference.user,\n screenPreference.route,\n screenPreference.element\n ],\n {\n unique: true\n }\n)\n@ObjectType({ description: 'Entity for ScreenPreference' })\nexport class ScreenPreference {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((screenPreference: ScreenPreference) => screenPreference.domain)\n domainId?: string\n\n @ManyToOne(type => User)\n @Field({ nullable: false })\n user: User\n\n @RelationId((screenPreference: ScreenPreference) => screenPreference.user)\n userId: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n route: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n element: string\n\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, { nullable: true })\n preference?: { [key: string]: any }\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((screenPreference: ScreenPreference) => screenPreference.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((screenPreference: ScreenPreference) => screenPreference.updater)\n updaterId?: string\n}\n"]}
|
|
@@ -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
|
-
})
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ScreenPreference } from './screen-preference'
|
|
2
|
-
import { ScreenPreferenceQuery } from './screen-preference-query'
|
|
3
|
-
import { ScreenPreferenceMutation } from './screen-preference-mutation'
|
|
4
|
-
|
|
5
|
-
export const entities = [ScreenPreference]
|
|
6
|
-
export const resolvers = [ScreenPreferenceQuery, ScreenPreferenceMutation]
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
|
|
2
|
-
import { In } from 'typeorm'
|
|
3
|
-
|
|
4
|
-
import { ScalarObject } from '@things-factory/shell'
|
|
5
|
-
|
|
6
|
-
import { ScreenPreference } from './screen-preference'
|
|
7
|
-
import { NewScreenPreference, ScreenPreferencePatch } from './screen-preference-type'
|
|
8
|
-
|
|
9
|
-
@Resolver(ScreenPreference)
|
|
10
|
-
export class ScreenPreferenceMutation {
|
|
11
|
-
@Directive('@transaction')
|
|
12
|
-
@Mutation(returns => ScreenPreference, { description: 'To create my new ScreenPreference' })
|
|
13
|
-
async createMyScreenPreference(
|
|
14
|
-
@Arg('screenPreference') screenPreference: NewScreenPreference,
|
|
15
|
-
@Ctx() context: ResolverContext
|
|
16
|
-
): Promise<ScreenPreference> {
|
|
17
|
-
const { domain, user, tx } = context.state
|
|
18
|
-
|
|
19
|
-
return await tx.getRepository(ScreenPreference).save({
|
|
20
|
-
...screenPreference,
|
|
21
|
-
domain,
|
|
22
|
-
creator: user,
|
|
23
|
-
updater: user
|
|
24
|
-
})
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
@Directive('@transaction')
|
|
28
|
-
@Mutation(returns => ScreenPreference, { description: 'To create or update my ScreenPreference' })
|
|
29
|
-
async updateMyScreenPreference(
|
|
30
|
-
@Arg('route') route: string,
|
|
31
|
-
@Arg('element') element: string,
|
|
32
|
-
@Arg('preference', type => ScalarObject) preference: { [key: string]: any },
|
|
33
|
-
@Ctx() context: any
|
|
34
|
-
): Promise<ScreenPreference> {
|
|
35
|
-
const { domain, user, tx } = context.state
|
|
36
|
-
|
|
37
|
-
if (!route || !element) {
|
|
38
|
-
throw 'route and element are required.'
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const screenPreference = await tx.getRepository(ScreenPreference).findOne({
|
|
42
|
-
where: { domain: { id: domain.id }, user: { id: user.id }, route, element }
|
|
43
|
-
})
|
|
44
|
-
|
|
45
|
-
return await tx.getRepository(ScreenPreference).save({
|
|
46
|
-
...screenPreference,
|
|
47
|
-
domain,
|
|
48
|
-
user,
|
|
49
|
-
route,
|
|
50
|
-
element,
|
|
51
|
-
preference,
|
|
52
|
-
creator: user,
|
|
53
|
-
updater: user
|
|
54
|
-
})
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
@Directive('@transaction')
|
|
58
|
-
@Mutation(returns => Boolean, { description: 'To delete my ScreenPreference' })
|
|
59
|
-
async deleteMyScreenPreference(
|
|
60
|
-
@Arg('route') route: string,
|
|
61
|
-
@Arg('element') element: string,
|
|
62
|
-
@Ctx() context: ResolverContext
|
|
63
|
-
): Promise<boolean> {
|
|
64
|
-
const { domain, user, tx } = context.state
|
|
65
|
-
|
|
66
|
-
await tx.getRepository(ScreenPreference).delete({
|
|
67
|
-
domain: { id: domain.id },
|
|
68
|
-
user: { id: user.id },
|
|
69
|
-
route,
|
|
70
|
-
element
|
|
71
|
-
})
|
|
72
|
-
|
|
73
|
-
return true
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
@Directive('@transaction')
|
|
77
|
-
@Mutation(returns => Boolean, { description: 'To delete ScreenPreference' })
|
|
78
|
-
async deleteScreenPreference(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
79
|
-
const { domain, tx } = context.state
|
|
80
|
-
|
|
81
|
-
await tx.getRepository(ScreenPreference).delete({ domain: { id: domain.id }, id })
|
|
82
|
-
|
|
83
|
-
return true
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
@Directive('@transaction')
|
|
87
|
-
@Mutation(returns => Boolean, { description: 'To delete multiple ScreenPreferences' })
|
|
88
|
-
async deleteScreenPreferences(
|
|
89
|
-
@Arg('ids', type => [String]) ids: string[],
|
|
90
|
-
@Ctx() context: ResolverContext
|
|
91
|
-
): Promise<boolean> {
|
|
92
|
-
const { domain, tx } = context.state
|
|
93
|
-
|
|
94
|
-
await tx.getRepository(ScreenPreference).delete({
|
|
95
|
-
domain: { id: domain.id },
|
|
96
|
-
id: In(ids)
|
|
97
|
-
})
|
|
98
|
-
|
|
99
|
-
return true
|
|
100
|
-
}
|
|
101
|
-
}
|