@things-factory/personalization 8.0.0-beta.9 → 8.0.2

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.
@@ -0,0 +1,70 @@
1
+ import {
2
+ CreateDateColumn,
3
+ UpdateDateColumn,
4
+ DeleteDateColumn,
5
+ Entity,
6
+ Index,
7
+ Column,
8
+ RelationId,
9
+ ManyToOne,
10
+ PrimaryGeneratedColumn
11
+ } from 'typeorm'
12
+ import { ObjectType, Field, ID } from 'type-graphql'
13
+
14
+ import { Domain, ScalarObject } from '@things-factory/shell'
15
+ import { User } from '@things-factory/auth-base'
16
+
17
+ @Entity()
18
+ @Index('ix_preference_0', (preference: UserPreference) => [preference.domain, preference.user], {
19
+ unique: true
20
+ })
21
+ @ObjectType({ description: 'Entity for UserPreference' })
22
+ export class UserPreference {
23
+ @PrimaryGeneratedColumn('uuid')
24
+ @Field(type => ID)
25
+ readonly id: string
26
+
27
+ @ManyToOne(type => Domain)
28
+ @Field({ nullable: true })
29
+ domain?: Domain
30
+
31
+ @RelationId((preference: UserPreference) => preference.domain)
32
+ domainId?: string
33
+
34
+ @ManyToOne(type => User)
35
+ @Field({ nullable: false })
36
+ user: User
37
+
38
+ @RelationId((preference: UserPreference) => preference.user)
39
+ userId: string
40
+
41
+ @Column()
42
+ @Field({ nullable: true })
43
+ key?: string
44
+
45
+ @Column('simple-json', { nullable: true })
46
+ @Field(type => ScalarObject, { nullable: true })
47
+ preference?: { [key: string]: any }
48
+
49
+ @CreateDateColumn()
50
+ @Field({ nullable: true })
51
+ createdAt?: Date
52
+
53
+ @UpdateDateColumn()
54
+ @Field({ nullable: true })
55
+ updatedAt?: Date
56
+
57
+ @ManyToOne(type => User, { nullable: true })
58
+ @Field(type => User, { nullable: true })
59
+ creator?: User
60
+
61
+ @RelationId((preference: UserPreference) => preference.creator)
62
+ creatorId?: string
63
+
64
+ @ManyToOne(type => User, { nullable: true })
65
+ @Field(type => User, { nullable: true })
66
+ updater?: User
67
+
68
+ @RelationId((preference: UserPreference) => preference.updater)
69
+ updaterId?: string
70
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "../../tsconfig-base.json",
3
+ "compilerOptions": {
4
+ "strict": false,
5
+ "module": "commonjs",
6
+ "outDir": "../dist-server",
7
+ "baseUrl": "./"
8
+ },
9
+ "include": ["./**/*"]
10
+ }