@things-factory/personalization 7.0.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.
Files changed (73) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/client/index.ts +0 -0
  3. package/client/tsconfig.json +11 -0
  4. package/client/types.ts +9 -0
  5. package/dist-client/index.d.ts +0 -0
  6. package/dist-client/index.js +2 -0
  7. package/dist-client/index.js.map +1 -0
  8. package/dist-client/tsconfig.tsbuildinfo +1 -0
  9. package/dist-client/types.d.ts +8 -0
  10. package/dist-client/types.js +2 -0
  11. package/dist-client/types.js.map +1 -0
  12. package/dist-server/index.d.ts +2 -0
  13. package/dist-server/index.js +6 -0
  14. package/dist-server/index.js.map +1 -0
  15. package/dist-server/routes.d.ts +1 -0
  16. package/dist-server/routes.js +25 -0
  17. package/dist-server/routes.js.map +1 -0
  18. package/dist-server/service/index.d.ts +7 -0
  19. package/dist-server/service/index.js +27 -0
  20. package/dist-server/service/index.js.map +1 -0
  21. package/dist-server/service/page-preference/index.d.ts +5 -0
  22. package/dist-server/service/page-preference/index.js +9 -0
  23. package/dist-server/service/page-preference/index.js.map +1 -0
  24. package/dist-server/service/page-preference/page-preference-mutation.d.ts +11 -0
  25. package/dist-server/service/page-preference/page-preference-mutation.js +105 -0
  26. package/dist-server/service/page-preference/page-preference-mutation.js.map +1 -0
  27. package/dist-server/service/page-preference/page-preference-query.d.ts +13 -0
  28. package/dist-server/service/page-preference/page-preference-query.js +108 -0
  29. package/dist-server/service/page-preference/page-preference-query.js.map +1 -0
  30. package/dist-server/service/page-preference/page-preference-type.d.ts +24 -0
  31. package/dist-server/service/page-preference/page-preference-type.js +74 -0
  32. package/dist-server/service/page-preference/page-preference-type.js.map +1 -0
  33. package/dist-server/service/page-preference/page-preference.d.ts +20 -0
  34. package/dist-server/service/page-preference/page-preference.js +90 -0
  35. package/dist-server/service/page-preference/page-preference.js.map +1 -0
  36. package/dist-server/service/user-preference/index.d.ts +6 -0
  37. package/dist-server/service/user-preference/index.js +10 -0
  38. package/dist-server/service/user-preference/index.js.map +1 -0
  39. package/dist-server/service/user-preference/user-preference-mutation.d.ts +12 -0
  40. package/dist-server/service/user-preference/user-preference-mutation.js +120 -0
  41. package/dist-server/service/user-preference/user-preference-mutation.js.map +1 -0
  42. package/dist-server/service/user-preference/user-preference-query.d.ts +12 -0
  43. package/dist-server/service/user-preference/user-preference-query.js +94 -0
  44. package/dist-server/service/user-preference/user-preference-query.js.map +1 -0
  45. package/dist-server/service/user-preference/user-preference-type.d.ts +22 -0
  46. package/dist-server/service/user-preference/user-preference-type.js +66 -0
  47. package/dist-server/service/user-preference/user-preference-type.js.map +1 -0
  48. package/dist-server/service/user-preference/user-preference.d.ts +19 -0
  49. package/dist-server/service/user-preference/user-preference.js +80 -0
  50. package/dist-server/service/user-preference/user-preference.js.map +1 -0
  51. package/dist-server/tsconfig.tsbuildinfo +1 -0
  52. package/helps/personalization/screen-preference.md +160 -0
  53. package/package.json +39 -0
  54. package/server/index.ts +3 -0
  55. package/server/routes.ts +28 -0
  56. package/server/service/index.ts +30 -0
  57. package/server/service/page-preference/index.ts +6 -0
  58. package/server/service/page-preference/page-preference-mutation.ts +101 -0
  59. package/server/service/page-preference/page-preference-query.ts +73 -0
  60. package/server/service/page-preference/page-preference-type.ts +50 -0
  61. package/server/service/page-preference/page-preference.ts +82 -0
  62. package/server/service/user-preference/index.ts +7 -0
  63. package/server/service/user-preference/user-preference-mutation.ts +119 -0
  64. package/server/service/user-preference/user-preference-query.ts +64 -0
  65. package/server/service/user-preference/user-preference-type.ts +43 -0
  66. package/server/service/user-preference/user-preference.ts +70 -0
  67. package/server/tsconfig.json +10 -0
  68. package/things-factory.config.js +1 -0
  69. package/translations/en.json +1 -0
  70. package/translations/ja.json +1 -0
  71. package/translations/ko.json +1 -0
  72. package/translations/ms.json +1 -0
  73. package/translations/zh.json +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-preference-type.js","sourceRoot":"","sources":["../../../server/service/page-preference/page-preference-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AAEpE,iDAA+D;AAE/D,uDAAkD;AAG3C,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAY7B,CAAA;AAZY,8CAAiB;AAE5B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC;sCACnB,iBAAS;+CAAA;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACV;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;qDACf;4BAXvB,iBAAiB;IAD7B,IAAA,wBAAS,GAAE;GACC,iBAAiB,CAY7B;AAGM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAkB/B,CAAA;AAlBY,kDAAmB;AAE9B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC;sCACnB,iBAAS;iDAAA;AAGf;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACV;AAGhB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uDACf;AAGlC;IADC,IAAA,oBAAK,GAAE;;mDACM;8BAjBH,mBAAmB;IAD/B,IAAA,wBAAS,GAAE;GACC,mBAAmB,CAkB/B;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAM9B,CAAA;AANY,gDAAkB;AAE7B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gCAAc,CAAC,CAAC;;iDACT;AAGvB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;iDACN;6BALF,kBAAkB;IAD9B,IAAA,yBAAU,GAAE;GACA,kBAAkB,CAM9B","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { PagePreference } from './page-preference'\n\n@InputType()\nexport class NewPagePreference {\n @Field(type => ObjectRef)\n user: ObjectRef\n\n @Field({ nullable: true })\n page?: 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 PagePreferencePatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field(type => ObjectRef)\n user: ObjectRef\n\n @Field({ nullable: true })\n page?: 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 PagePreferenceList {\n @Field(type => [PagePreference])\n items: PagePreference[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import { Domain } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ export declare class PagePreference {
4
+ readonly id: string;
5
+ domain?: Domain;
6
+ domainId?: string;
7
+ user: User;
8
+ userId: string;
9
+ page: string;
10
+ element: string;
11
+ preference?: {
12
+ [key: string]: any;
13
+ };
14
+ createdAt?: Date;
15
+ updatedAt?: Date;
16
+ creator?: User;
17
+ creatorId?: string;
18
+ updater?: User;
19
+ updaterId?: string;
20
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PagePreference = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const auth_base_1 = require("@things-factory/auth-base");
9
+ let PagePreference = class PagePreference {
10
+ };
11
+ exports.PagePreference = PagePreference;
12
+ tslib_1.__decorate([
13
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
14
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID),
15
+ tslib_1.__metadata("design:type", String)
16
+ ], PagePreference.prototype, "id", void 0);
17
+ tslib_1.__decorate([
18
+ (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
19
+ (0, type_graphql_1.Field)(type => shell_1.Domain),
20
+ tslib_1.__metadata("design:type", shell_1.Domain)
21
+ ], PagePreference.prototype, "domain", void 0);
22
+ tslib_1.__decorate([
23
+ (0, typeorm_1.RelationId)((pagePreference) => pagePreference.domain),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], PagePreference.prototype, "domainId", void 0);
26
+ tslib_1.__decorate([
27
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User),
28
+ (0, type_graphql_1.Field)({ nullable: false }),
29
+ tslib_1.__metadata("design:type", auth_base_1.User)
30
+ ], PagePreference.prototype, "user", void 0);
31
+ tslib_1.__decorate([
32
+ (0, typeorm_1.RelationId)((pagePreference) => pagePreference.user),
33
+ tslib_1.__metadata("design:type", String)
34
+ ], PagePreference.prototype, "userId", void 0);
35
+ tslib_1.__decorate([
36
+ (0, typeorm_1.Column)({ nullable: true }),
37
+ (0, type_graphql_1.Field)({ nullable: true }),
38
+ tslib_1.__metadata("design:type", String)
39
+ ], PagePreference.prototype, "page", void 0);
40
+ tslib_1.__decorate([
41
+ (0, typeorm_1.Column)({ nullable: true }),
42
+ (0, type_graphql_1.Field)({ nullable: true }),
43
+ tslib_1.__metadata("design:type", String)
44
+ ], PagePreference.prototype, "element", void 0);
45
+ tslib_1.__decorate([
46
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
47
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
48
+ tslib_1.__metadata("design:type", Object)
49
+ ], PagePreference.prototype, "preference", void 0);
50
+ tslib_1.__decorate([
51
+ (0, typeorm_1.CreateDateColumn)(),
52
+ (0, type_graphql_1.Field)({ nullable: true }),
53
+ tslib_1.__metadata("design:type", Date)
54
+ ], PagePreference.prototype, "createdAt", void 0);
55
+ tslib_1.__decorate([
56
+ (0, typeorm_1.UpdateDateColumn)(),
57
+ (0, type_graphql_1.Field)({ nullable: true }),
58
+ tslib_1.__metadata("design:type", Date)
59
+ ], PagePreference.prototype, "updatedAt", void 0);
60
+ tslib_1.__decorate([
61
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
62
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
63
+ tslib_1.__metadata("design:type", auth_base_1.User)
64
+ ], PagePreference.prototype, "creator", void 0);
65
+ tslib_1.__decorate([
66
+ (0, typeorm_1.RelationId)((pagePreference) => pagePreference.creator),
67
+ tslib_1.__metadata("design:type", String)
68
+ ], PagePreference.prototype, "creatorId", void 0);
69
+ tslib_1.__decorate([
70
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
71
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
72
+ tslib_1.__metadata("design:type", auth_base_1.User)
73
+ ], PagePreference.prototype, "updater", void 0);
74
+ tslib_1.__decorate([
75
+ (0, typeorm_1.RelationId)((pagePreference) => pagePreference.updater),
76
+ tslib_1.__metadata("design:type", String)
77
+ ], PagePreference.prototype, "updaterId", void 0);
78
+ exports.PagePreference = PagePreference = tslib_1.__decorate([
79
+ (0, typeorm_1.Entity)(),
80
+ (0, typeorm_1.Index)('ix_page_preference_0', (pagePreference) => [
81
+ pagePreference.domain,
82
+ pagePreference.user,
83
+ pagePreference.page,
84
+ pagePreference.element
85
+ ], {
86
+ unique: true
87
+ }),
88
+ (0, type_graphql_1.ObjectType)({ description: 'Entity for PagePreference' })
89
+ ], PagePreference);
90
+ //# sourceMappingURL=page-preference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-preference.js","sourceRoot":"","sources":["../../../server/service/page-preference/page-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_page_preference_0',\n (pagePreference: PagePreference) => [\n pagePreference.domain,\n pagePreference.user,\n pagePreference.page,\n pagePreference.element\n ],\n {\n unique: true\n }\n)\n@ObjectType({ description: 'Entity for PagePreference' })\nexport class PagePreference {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain)\n domain?: Domain\n\n @RelationId((pagePreference: PagePreference) => pagePreference.domain)\n domainId?: string\n\n @ManyToOne(type => User)\n @Field({ nullable: false })\n user: User\n\n @RelationId((pagePreference: PagePreference) => pagePreference.user)\n userId: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n page: 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((pagePreference: PagePreference) => pagePreference.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((pagePreference: PagePreference) => pagePreference.updater)\n updaterId?: string\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { UserPreference } from './user-preference';
2
+ import { UserPreferenceQuery } from './user-preference-query';
3
+ import { UserPreferenceMutation } from './user-preference-mutation';
4
+ export declare const entities: (typeof UserPreference)[];
5
+ export declare const resolvers: (typeof UserPreferenceQuery | typeof UserPreferenceMutation)[];
6
+ export declare const subscribers: any[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subscribers = exports.resolvers = exports.entities = void 0;
4
+ const user_preference_1 = require("./user-preference");
5
+ const user_preference_query_1 = require("./user-preference-query");
6
+ const user_preference_mutation_1 = require("./user-preference-mutation");
7
+ exports.entities = [user_preference_1.UserPreference];
8
+ exports.resolvers = [user_preference_query_1.UserPreferenceQuery, user_preference_mutation_1.UserPreferenceMutation];
9
+ exports.subscribers = [];
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/user-preference/index.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAClD,mEAA6D;AAC7D,yEAAmE;AAEtD,QAAA,QAAQ,GAAG,CAAC,gCAAc,CAAC,CAAA;AAC3B,QAAA,SAAS,GAAG,CAAC,2CAAmB,EAAE,iDAAsB,CAAC,CAAA;AACzD,QAAA,WAAW,GAAG,EAAE,CAAA","sourcesContent":["import { UserPreference } from './user-preference'\nimport { UserPreferenceQuery } from './user-preference-query'\nimport { UserPreferenceMutation } from './user-preference-mutation'\n\nexport const entities = [UserPreference]\nexport const resolvers = [UserPreferenceQuery, UserPreferenceMutation]\nexport const subscribers = []\n"]}
@@ -0,0 +1,12 @@
1
+ import { UserPreference } from './user-preference';
2
+ import { NewUserPreference, UserPreferencePatch } from './user-preference-type';
3
+ export declare class UserPreferenceMutation {
4
+ createUserPreference(preference: NewUserPreference, context: ResolverContext): Promise<UserPreference>;
5
+ updateUserPreference(id: string, patch: UserPreferencePatch, context: ResolverContext): Promise<UserPreference>;
6
+ updateMyUserPreference(key: string, preference: {
7
+ [key: string]: any;
8
+ }, context: any): Promise<UserPreference>;
9
+ deleteMyUserPreference(key: string, element: string, context: ResolverContext): Promise<boolean>;
10
+ deleteUserPreference(id: string, context: ResolverContext): Promise<boolean>;
11
+ deleteUserPreferences(ids: string[], context: ResolverContext): Promise<boolean>;
12
+ }
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserPreferenceMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const typeorm_1 = require("typeorm");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const user_preference_1 = require("./user-preference");
9
+ const user_preference_type_1 = require("./user-preference-type");
10
+ let UserPreferenceMutation = class UserPreferenceMutation {
11
+ async createUserPreference(preference, context) {
12
+ const { domain, user, tx } = context.state;
13
+ return await tx.getRepository(user_preference_1.UserPreference).save(Object.assign(Object.assign({}, preference), { domain, creator: user, updater: user }));
14
+ }
15
+ async updateUserPreference(id, patch, context) {
16
+ const { domain, user, tx } = context.state;
17
+ const repository = tx.getRepository(user_preference_1.UserPreference);
18
+ const preference = await repository.findOne({
19
+ where: { domain: { id: domain.id }, id }
20
+ });
21
+ return await repository.save(Object.assign(Object.assign(Object.assign({}, preference), patch), { updater: user }));
22
+ }
23
+ async updateMyUserPreference(key, preference, context) {
24
+ const { domain, user, tx } = context.state;
25
+ if (!key) {
26
+ throw 'key is required.';
27
+ }
28
+ const myUserPreference = await tx.getRepository(user_preference_1.UserPreference).findOne({
29
+ where: { domain: { id: domain.id }, user: { id: user.id }, key }
30
+ });
31
+ return await tx.getRepository(user_preference_1.UserPreference).save(Object.assign(Object.assign({}, myUserPreference), { domain,
32
+ user,
33
+ key,
34
+ preference, creator: user, updater: user }));
35
+ }
36
+ async deleteMyUserPreference(key, element, context) {
37
+ const { domain, user, tx } = context.state;
38
+ await tx.getRepository(user_preference_1.UserPreference).delete({
39
+ domain: { id: domain.id },
40
+ user: { id: user.id },
41
+ key
42
+ });
43
+ return true;
44
+ }
45
+ async deleteUserPreference(id, context) {
46
+ const { domain, tx } = context.state;
47
+ await tx.getRepository(user_preference_1.UserPreference).delete({ domain: { id: domain.id }, id });
48
+ return true;
49
+ }
50
+ async deleteUserPreferences(ids, context) {
51
+ const { domain, tx } = context.state;
52
+ await tx.getRepository(user_preference_1.UserPreference).delete({
53
+ domain: { id: domain.id },
54
+ id: (0, typeorm_1.In)(ids)
55
+ });
56
+ return true;
57
+ }
58
+ };
59
+ exports.UserPreferenceMutation = UserPreferenceMutation;
60
+ tslib_1.__decorate([
61
+ (0, type_graphql_1.Directive)('@transaction'),
62
+ (0, type_graphql_1.Mutation)(returns => user_preference_1.UserPreference, { description: 'To create new UserPreference' }),
63
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('preference')),
64
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
65
+ tslib_1.__metadata("design:type", Function),
66
+ tslib_1.__metadata("design:paramtypes", [user_preference_type_1.NewUserPreference, Object]),
67
+ tslib_1.__metadata("design:returntype", Promise)
68
+ ], UserPreferenceMutation.prototype, "createUserPreference", null);
69
+ tslib_1.__decorate([
70
+ (0, type_graphql_1.Directive)('@transaction'),
71
+ (0, type_graphql_1.Mutation)(returns => user_preference_1.UserPreference, { description: 'To modify UserPreference information' }),
72
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
73
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('patch')),
74
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
75
+ tslib_1.__metadata("design:type", Function),
76
+ tslib_1.__metadata("design:paramtypes", [String, user_preference_type_1.UserPreferencePatch, Object]),
77
+ tslib_1.__metadata("design:returntype", Promise)
78
+ ], UserPreferenceMutation.prototype, "updateUserPreference", null);
79
+ tslib_1.__decorate([
80
+ (0, type_graphql_1.Directive)('@transaction'),
81
+ (0, type_graphql_1.Mutation)(returns => user_preference_1.UserPreference, { description: 'To create or update my preference' }),
82
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('key')),
83
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('preference', type => shell_1.ScalarObject)),
84
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
85
+ tslib_1.__metadata("design:type", Function),
86
+ tslib_1.__metadata("design:paramtypes", [String, Object, Object]),
87
+ tslib_1.__metadata("design:returntype", Promise)
88
+ ], UserPreferenceMutation.prototype, "updateMyUserPreference", null);
89
+ tslib_1.__decorate([
90
+ (0, type_graphql_1.Directive)('@transaction'),
91
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete my preference' }),
92
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('key')),
93
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('element')),
94
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
95
+ tslib_1.__metadata("design:type", Function),
96
+ tslib_1.__metadata("design:paramtypes", [String, String, Object]),
97
+ tslib_1.__metadata("design:returntype", Promise)
98
+ ], UserPreferenceMutation.prototype, "deleteMyUserPreference", null);
99
+ tslib_1.__decorate([
100
+ (0, type_graphql_1.Directive)('@transaction'),
101
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete UserPreference' }),
102
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
103
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
104
+ tslib_1.__metadata("design:type", Function),
105
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
106
+ tslib_1.__metadata("design:returntype", Promise)
107
+ ], UserPreferenceMutation.prototype, "deleteUserPreference", null);
108
+ tslib_1.__decorate([
109
+ (0, type_graphql_1.Directive)('@transaction'),
110
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple UserPreferences' }),
111
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
112
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
113
+ tslib_1.__metadata("design:type", Function),
114
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
115
+ tslib_1.__metadata("design:returntype", Promise)
116
+ ], UserPreferenceMutation.prototype, "deleteUserPreferences", null);
117
+ exports.UserPreferenceMutation = UserPreferenceMutation = tslib_1.__decorate([
118
+ (0, type_graphql_1.Resolver)(user_preference_1.UserPreference)
119
+ ], UserPreferenceMutation);
120
+ //# sourceMappingURL=user-preference-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-preference-mutation.js","sourceRoot":"","sources":["../../../server/service/user-preference/user-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 { UserPreference } from './user-preference'\nimport { NewUserPreference, UserPreferencePatch } from './user-preference-type'\n\n@Resolver(UserPreference)\nexport class UserPreferenceMutation {\n @Directive('@transaction')\n @Mutation(returns => UserPreference, { description: 'To create new UserPreference' })\n async createUserPreference(\n @Arg('preference') preference: NewUserPreference,\n @Ctx() context: ResolverContext\n ): Promise<UserPreference> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(UserPreference).save({\n ...preference,\n domain,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => UserPreference, { description: 'To modify UserPreference information' })\n async updateUserPreference(\n @Arg('id') id: string,\n @Arg('patch') patch: UserPreferencePatch,\n @Ctx() context: ResolverContext\n ): Promise<UserPreference> {\n const { domain, user, tx } = context.state\n\n const repository = tx.getRepository(UserPreference)\n const preference = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n return await repository.save({\n ...preference,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => UserPreference, { description: 'To create or update my preference' })\n async updateMyUserPreference(\n @Arg('key') key: string,\n @Arg('preference', type => ScalarObject) preference: { [key: string]: any },\n @Ctx() context: any\n ): Promise<UserPreference> {\n const { domain, user, tx } = context.state\n\n if (!key) {\n throw 'key is required.'\n }\n\n const myUserPreference = await tx.getRepository(UserPreference).findOne({\n where: { domain: { id: domain.id }, user: { id: user.id }, key }\n })\n\n return await tx.getRepository(UserPreference).save({\n ...myUserPreference,\n domain,\n user,\n key,\n preference,\n creator: user,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete my preference' })\n async deleteMyUserPreference(\n @Arg('key') key: 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(UserPreference).delete({\n domain: { id: domain.id },\n user: { id: user.id },\n key\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete UserPreference' })\n async deleteUserPreference(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(UserPreference).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple UserPreferences' })\n async deleteUserPreferences(\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(UserPreference).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { Domain, ListParam } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ import { UserPreference } from './user-preference';
4
+ import { UserPreferenceList } from './user-preference-type';
5
+ export declare class UserPreferenceQuery {
6
+ preference(id: string, context: ResolverContext): Promise<UserPreference>;
7
+ myUserPreference(key: string, element: string, context: any): Promise<UserPreference>;
8
+ myUserPreferences(params: ListParam, context: ResolverContext): Promise<UserPreferenceList>;
9
+ domain(preference: UserPreference): Promise<Domain>;
10
+ updater(preference: UserPreference): Promise<User>;
11
+ creator(preference: UserPreference): Promise<User>;
12
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserPreferenceQuery = 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 user_preference_1 = require("./user-preference");
9
+ const user_preference_type_1 = require("./user-preference-type");
10
+ let UserPreferenceQuery = class UserPreferenceQuery {
11
+ async preference(id, context) {
12
+ const { domain } = context.state;
13
+ return await (0, shell_1.getRepository)(user_preference_1.UserPreference).findOne({
14
+ where: { domain: { id: domain.id }, id }
15
+ });
16
+ }
17
+ async myUserPreference(key, element, context) {
18
+ const { domain, user } = context.state;
19
+ return await (0, shell_1.getRepository)(user_preference_1.UserPreference).findOne({
20
+ where: { domain: { id: domain.id }, user: { id: user.id }, key }
21
+ });
22
+ }
23
+ async myUserPreferences(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)(user_preference_1.UserPreference),
29
+ searchables: ['key']
30
+ }).andWhere({ user: { id: user.id } });
31
+ const [items, total] = await queryBuilder.getManyAndCount();
32
+ return { items, total };
33
+ }
34
+ async domain(preference) {
35
+ return preference.domainId && (await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: preference.domainId }));
36
+ }
37
+ async updater(preference) {
38
+ return preference.updaterId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: preference.updaterId }));
39
+ }
40
+ async creator(preference) {
41
+ return preference.creatorId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: preference.creatorId }));
42
+ }
43
+ };
44
+ exports.UserPreferenceQuery = UserPreferenceQuery;
45
+ tslib_1.__decorate([
46
+ (0, type_graphql_1.Query)(returns => user_preference_1.UserPreference, { nullable: true, description: 'To fetch a UserPreference' }),
47
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('id')),
48
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
49
+ tslib_1.__metadata("design:type", Function),
50
+ tslib_1.__metadata("design:paramtypes", [String, Object]),
51
+ tslib_1.__metadata("design:returntype", Promise)
52
+ ], UserPreferenceQuery.prototype, "preference", null);
53
+ tslib_1.__decorate([
54
+ (0, type_graphql_1.Query)(returns => user_preference_1.UserPreference, { nullable: true, description: `To fetch a User's own UserPreference` }),
55
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('key')),
56
+ tslib_1.__param(1, (0, type_graphql_1.Arg)('element')),
57
+ tslib_1.__param(2, (0, type_graphql_1.Ctx)()),
58
+ tslib_1.__metadata("design:type", Function),
59
+ tslib_1.__metadata("design:paramtypes", [String, String, Object]),
60
+ tslib_1.__metadata("design:returntype", Promise)
61
+ ], UserPreferenceQuery.prototype, "myUserPreference", null);
62
+ tslib_1.__decorate([
63
+ (0, type_graphql_1.Query)(returns => user_preference_type_1.UserPreferenceList, { description: 'To fetch multiple UserPreferences' }),
64
+ tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
65
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
66
+ tslib_1.__metadata("design:type", Function),
67
+ tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
68
+ tslib_1.__metadata("design:returntype", Promise)
69
+ ], UserPreferenceQuery.prototype, "myUserPreferences", null);
70
+ tslib_1.__decorate([
71
+ (0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
72
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
73
+ tslib_1.__metadata("design:type", Function),
74
+ tslib_1.__metadata("design:paramtypes", [user_preference_1.UserPreference]),
75
+ tslib_1.__metadata("design:returntype", Promise)
76
+ ], UserPreferenceQuery.prototype, "domain", null);
77
+ tslib_1.__decorate([
78
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
79
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
80
+ tslib_1.__metadata("design:type", Function),
81
+ tslib_1.__metadata("design:paramtypes", [user_preference_1.UserPreference]),
82
+ tslib_1.__metadata("design:returntype", Promise)
83
+ ], UserPreferenceQuery.prototype, "updater", null);
84
+ tslib_1.__decorate([
85
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
86
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
87
+ tslib_1.__metadata("design:type", Function),
88
+ tslib_1.__metadata("design:paramtypes", [user_preference_1.UserPreference]),
89
+ tslib_1.__metadata("design:returntype", Promise)
90
+ ], UserPreferenceQuery.prototype, "creator", null);
91
+ exports.UserPreferenceQuery = UserPreferenceQuery = tslib_1.__decorate([
92
+ (0, type_graphql_1.Resolver)(user_preference_1.UserPreference)
93
+ ], UserPreferenceQuery);
94
+ //# sourceMappingURL=user-preference-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-preference-query.js","sourceRoot":"","sources":["../../../server/service/user-preference/user-preference-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { UserPreference } from './user-preference'\nimport { UserPreferenceList } from './user-preference-type'\n\n@Resolver(UserPreference)\nexport class UserPreferenceQuery {\n @Query(returns => UserPreference!, { nullable: true, description: 'To fetch a UserPreference' })\n async preference(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<UserPreference> {\n const { domain } = context.state\n\n return await getRepository(UserPreference).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => UserPreference, { nullable: true, description: `To fetch a User's own UserPreference` })\n async myUserPreference(\n @Arg('key') key: string,\n @Arg('element') element: string,\n @Ctx() context: any\n ): Promise<UserPreference> {\n const { domain, user } = context.state\n\n return await getRepository(UserPreference).findOne({\n where: { domain: { id: domain.id }, user: { id: user.id }, key }\n })\n }\n\n @Query(returns => UserPreferenceList, { description: 'To fetch multiple UserPreferences' })\n async myUserPreferences(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<UserPreferenceList> {\n const { domain, user } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(UserPreference),\n searchables: ['key']\n }).andWhere({ user: { id: 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() preference: UserPreference): Promise<Domain> {\n return preference.domainId && (await getRepository(Domain).findOneBy({ id: preference.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() preference: UserPreference): Promise<User> {\n return preference.updaterId && (await getRepository(User).findOneBy({ id: preference.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() preference: UserPreference): Promise<User> {\n return preference.creatorId && (await getRepository(User).findOneBy({ id: preference.creatorId }))\n }\n}\n"]}
@@ -0,0 +1,22 @@
1
+ import { ObjectRef } from '@things-factory/shell';
2
+ import { UserPreference } from './user-preference';
3
+ export declare class NewUserPreference {
4
+ user: ObjectRef;
5
+ key: string;
6
+ preference: {
7
+ [key: string]: any;
8
+ };
9
+ }
10
+ export declare class UserPreferencePatch {
11
+ id?: string;
12
+ user?: ObjectRef;
13
+ key?: string;
14
+ preference?: {
15
+ [key: string]: any;
16
+ };
17
+ cuFlag?: string;
18
+ }
19
+ export declare class UserPreferenceList {
20
+ items: UserPreference[];
21
+ total: number;
22
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserPreferenceList = exports.UserPreferencePatch = exports.NewUserPreference = 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 user_preference_1 = require("./user-preference");
8
+ let NewUserPreference = class NewUserPreference {
9
+ };
10
+ exports.NewUserPreference = NewUserPreference;
11
+ tslib_1.__decorate([
12
+ (0, type_graphql_1.Field)(type => shell_1.ObjectRef),
13
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
14
+ ], NewUserPreference.prototype, "user", void 0);
15
+ tslib_1.__decorate([
16
+ (0, type_graphql_1.Field)(),
17
+ tslib_1.__metadata("design:type", String)
18
+ ], NewUserPreference.prototype, "key", void 0);
19
+ tslib_1.__decorate([
20
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: false }),
21
+ tslib_1.__metadata("design:type", Object)
22
+ ], NewUserPreference.prototype, "preference", void 0);
23
+ exports.NewUserPreference = NewUserPreference = tslib_1.__decorate([
24
+ (0, type_graphql_1.InputType)()
25
+ ], NewUserPreference);
26
+ let UserPreferencePatch = class UserPreferencePatch {
27
+ };
28
+ exports.UserPreferencePatch = UserPreferencePatch;
29
+ tslib_1.__decorate([
30
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
31
+ tslib_1.__metadata("design:type", String)
32
+ ], UserPreferencePatch.prototype, "id", void 0);
33
+ tslib_1.__decorate([
34
+ (0, type_graphql_1.Field)(type => shell_1.ObjectRef),
35
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
36
+ ], UserPreferencePatch.prototype, "user", void 0);
37
+ tslib_1.__decorate([
38
+ (0, type_graphql_1.Field)(),
39
+ tslib_1.__metadata("design:type", String)
40
+ ], UserPreferencePatch.prototype, "key", void 0);
41
+ tslib_1.__decorate([
42
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: false }),
43
+ tslib_1.__metadata("design:type", Object)
44
+ ], UserPreferencePatch.prototype, "preference", void 0);
45
+ tslib_1.__decorate([
46
+ (0, type_graphql_1.Field)({ nullable: true }),
47
+ tslib_1.__metadata("design:type", String)
48
+ ], UserPreferencePatch.prototype, "cuFlag", void 0);
49
+ exports.UserPreferencePatch = UserPreferencePatch = tslib_1.__decorate([
50
+ (0, type_graphql_1.InputType)()
51
+ ], UserPreferencePatch);
52
+ let UserPreferenceList = class UserPreferenceList {
53
+ };
54
+ exports.UserPreferenceList = UserPreferenceList;
55
+ tslib_1.__decorate([
56
+ (0, type_graphql_1.Field)(type => [user_preference_1.UserPreference]),
57
+ tslib_1.__metadata("design:type", Array)
58
+ ], UserPreferenceList.prototype, "items", void 0);
59
+ tslib_1.__decorate([
60
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int),
61
+ tslib_1.__metadata("design:type", Number)
62
+ ], UserPreferenceList.prototype, "total", void 0);
63
+ exports.UserPreferenceList = UserPreferenceList = tslib_1.__decorate([
64
+ (0, type_graphql_1.ObjectType)()
65
+ ], UserPreferenceList);
66
+ //# sourceMappingURL=user-preference-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-preference-type.js","sourceRoot":"","sources":["../../../server/service/user-preference/user-preference-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,iDAA+D;AAE/D,uDAAkD;AAG3C,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAS7B,CAAA;AATY,8CAAiB;AAE5B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC;sCACnB,iBAAS;+CAAA;AAGf;IADC,IAAA,oBAAK,GAAE;;8CACG;AAGX;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;qDACf;4BARvB,iBAAiB;IAD7B,IAAA,wBAAS,GAAE;GACC,iBAAiB,CAS7B;AAGM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAe/B,CAAA;AAfY,kDAAmB;AAE9B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAS,CAAC;sCAClB,iBAAS;iDAAA;AAGhB;IADC,IAAA,oBAAK,GAAE;;gDACI;AAGZ;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uDACd;AAGnC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mDACX;8BAdJ,mBAAmB;IAD/B,IAAA,wBAAS,GAAE;GACC,mBAAmB,CAe/B;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAM9B,CAAA;AANY,gDAAkB;AAE7B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,gCAAc,CAAC,CAAC;;iDACT;AAGvB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;iDACN;6BALF,kBAAkB;IAD9B,IAAA,yBAAU,GAAE;GACA,kBAAkB,CAM9B","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { UserPreference } from './user-preference'\n\n@InputType()\nexport class NewUserPreference {\n @Field(type => ObjectRef)\n user: ObjectRef\n\n @Field()\n key: string\n\n @Field(type => ScalarObject, { nullable: false })\n preference: { [key: string]: any }\n}\n\n@InputType()\nexport class UserPreferencePatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field(type => ObjectRef)\n user?: ObjectRef\n\n @Field()\n key?: string\n\n @Field(type => ScalarObject, { nullable: false })\n preference?: { [key: string]: any }\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class UserPreferenceList {\n @Field(type => [UserPreference])\n items: UserPreference[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { Domain } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ export declare class UserPreference {
4
+ readonly id: string;
5
+ domain?: Domain;
6
+ domainId?: string;
7
+ user: User;
8
+ userId: string;
9
+ key?: string;
10
+ preference?: {
11
+ [key: string]: any;
12
+ };
13
+ createdAt?: Date;
14
+ updatedAt?: Date;
15
+ creator?: User;
16
+ creatorId?: string;
17
+ updater?: User;
18
+ updaterId?: string;
19
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserPreference = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const auth_base_1 = require("@things-factory/auth-base");
9
+ let UserPreference = class UserPreference {
10
+ };
11
+ exports.UserPreference = UserPreference;
12
+ tslib_1.__decorate([
13
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
14
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID),
15
+ tslib_1.__metadata("design:type", String)
16
+ ], UserPreference.prototype, "id", void 0);
17
+ tslib_1.__decorate([
18
+ (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
19
+ (0, type_graphql_1.Field)({ nullable: true }),
20
+ tslib_1.__metadata("design:type", shell_1.Domain)
21
+ ], UserPreference.prototype, "domain", void 0);
22
+ tslib_1.__decorate([
23
+ (0, typeorm_1.RelationId)((preference) => preference.domain),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], UserPreference.prototype, "domainId", void 0);
26
+ tslib_1.__decorate([
27
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User),
28
+ (0, type_graphql_1.Field)({ nullable: false }),
29
+ tslib_1.__metadata("design:type", auth_base_1.User)
30
+ ], UserPreference.prototype, "user", void 0);
31
+ tslib_1.__decorate([
32
+ (0, typeorm_1.RelationId)((preference) => preference.user),
33
+ tslib_1.__metadata("design:type", String)
34
+ ], UserPreference.prototype, "userId", void 0);
35
+ tslib_1.__decorate([
36
+ (0, typeorm_1.Column)(),
37
+ (0, type_graphql_1.Field)({ nullable: true }),
38
+ tslib_1.__metadata("design:type", String)
39
+ ], UserPreference.prototype, "key", void 0);
40
+ tslib_1.__decorate([
41
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
42
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
43
+ tslib_1.__metadata("design:type", Object)
44
+ ], UserPreference.prototype, "preference", void 0);
45
+ tslib_1.__decorate([
46
+ (0, typeorm_1.CreateDateColumn)(),
47
+ (0, type_graphql_1.Field)({ nullable: true }),
48
+ tslib_1.__metadata("design:type", Date)
49
+ ], UserPreference.prototype, "createdAt", void 0);
50
+ tslib_1.__decorate([
51
+ (0, typeorm_1.UpdateDateColumn)(),
52
+ (0, type_graphql_1.Field)({ nullable: true }),
53
+ tslib_1.__metadata("design:type", Date)
54
+ ], UserPreference.prototype, "updatedAt", void 0);
55
+ tslib_1.__decorate([
56
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
57
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
58
+ tslib_1.__metadata("design:type", auth_base_1.User)
59
+ ], UserPreference.prototype, "creator", void 0);
60
+ tslib_1.__decorate([
61
+ (0, typeorm_1.RelationId)((preference) => preference.creator),
62
+ tslib_1.__metadata("design:type", String)
63
+ ], UserPreference.prototype, "creatorId", void 0);
64
+ tslib_1.__decorate([
65
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
66
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
67
+ tslib_1.__metadata("design:type", auth_base_1.User)
68
+ ], UserPreference.prototype, "updater", void 0);
69
+ tslib_1.__decorate([
70
+ (0, typeorm_1.RelationId)((preference) => preference.updater),
71
+ tslib_1.__metadata("design:type", String)
72
+ ], UserPreference.prototype, "updaterId", void 0);
73
+ exports.UserPreference = UserPreference = tslib_1.__decorate([
74
+ (0, typeorm_1.Entity)(),
75
+ (0, typeorm_1.Index)('ix_preference_0', (preference) => [preference.domain, preference.user], {
76
+ unique: true
77
+ }),
78
+ (0, type_graphql_1.ObjectType)({ description: 'Entity for UserPreference' })
79
+ ], UserPreference);
80
+ //# sourceMappingURL=user-preference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-preference.js","sourceRoot":"","sources":["../../../server/service/user-preference/user-preference.ts"],"names":[],"mappings":";;;;AAAA,qCAUgB;AAChB,+CAAoD;AAEpD,iDAA4D;AAC5D,yDAAgD;AAOzC,IAAM,cAAc,GAApB,MAAM,cAAc;CAgD1B,CAAA;AAhDY,wCAAc;AAGhB;IAFR,IAAA,gCAAsB,EAAC,MAAM,CAAC;IAC9B,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,CAAC;;0CACC;AAInB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IACzB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACjB,cAAM;8CAAA;AAGf;IADC,IAAA,oBAAU,EAAC,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;;gDAC7C;AAIjB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACvB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;sCACrB,gBAAI;4CAAA;AAGV;IADC,IAAA,oBAAU,EAAC,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;;8CAC9C;AAId;IAFC,IAAA,gBAAM,GAAE;IACR,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2CACd;AAIZ;IAFC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDACb;AAInC;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;iDAAA;AAIhB;IAFC,IAAA,0BAAgB,GAAE;IAClB,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCACd,IAAI;iDAAA;AAIhB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC9B,gBAAI;+CAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;;iDAC7C;AAIlB;IAFC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;sCAC9B,gBAAI;+CAAA;AAGd;IADC,IAAA,oBAAU,EAAC,CAAC,UAA0B,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;;iDAC7C;yBA/CP,cAAc;IAL1B,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,iBAAiB,EAAE,CAAC,UAA0B,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE;QAC9F,MAAM,EAAE,IAAI;KACb,CAAC;IACD,IAAA,yBAAU,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,CAAC;GAC5C,cAAc,CAgD1B","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n DeleteDateColumn,\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('ix_preference_0', (preference: UserPreference) => [preference.domain, preference.user], {\n unique: true\n})\n@ObjectType({ description: 'Entity for UserPreference' })\nexport class UserPreference {\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((preference: UserPreference) => preference.domain)\n domainId?: string\n\n @ManyToOne(type => User)\n @Field({ nullable: false })\n user: User\n\n @RelationId((preference: UserPreference) => preference.user)\n userId: string\n\n @Column()\n @Field({ nullable: true })\n key?: 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((preference: UserPreference) => preference.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((preference: UserPreference) => preference.updater)\n updaterId?: string\n}\n"]}