@solidstarters/solid-core 1.2.45 → 1.2.47

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 (90) hide show
  1. package/dist/controllers/authentication.controller.d.ts +1 -0
  2. package/dist/controllers/authentication.controller.d.ts.map +1 -1
  3. package/dist/controllers/user-view-metadata.controller.d.ts +43 -0
  4. package/dist/controllers/user-view-metadata.controller.d.ts.map +1 -0
  5. package/dist/controllers/user-view-metadata.controller.js +192 -0
  6. package/dist/controllers/user-view-metadata.controller.js.map +1 -0
  7. package/dist/dtos/create-user-view-metadata.dto.d.ts +8 -0
  8. package/dist/dtos/create-user-view-metadata.dto.d.ts.map +1 -0
  9. package/dist/dtos/create-user-view-metadata.dto.js +57 -0
  10. package/dist/dtos/create-user-view-metadata.dto.js.map +1 -0
  11. package/dist/dtos/create-user.dto.d.ts +8 -0
  12. package/dist/dtos/create-user.dto.d.ts.map +1 -1
  13. package/dist/dtos/create-user.dto.js +78 -5
  14. package/dist/dtos/create-user.dto.js.map +1 -1
  15. package/dist/dtos/create-view-metadata.dto.d.ts +4 -0
  16. package/dist/dtos/create-view-metadata.dto.d.ts.map +1 -1
  17. package/dist/dtos/create-view-metadata.dto.js +40 -3
  18. package/dist/dtos/create-view-metadata.dto.js.map +1 -1
  19. package/dist/dtos/selection-dynamic-query.dto.d.ts +1 -1
  20. package/dist/dtos/selection-dynamic-query.dto.d.ts.map +1 -1
  21. package/dist/dtos/selection-dynamic-query.dto.js +2 -3
  22. package/dist/dtos/selection-dynamic-query.dto.js.map +1 -1
  23. package/dist/dtos/update-user-view-metadata.dto.d.ts +9 -0
  24. package/dist/dtos/update-user-view-metadata.dto.d.ts.map +1 -0
  25. package/dist/dtos/update-user-view-metadata.dto.js +57 -0
  26. package/dist/dtos/update-user-view-metadata.dto.js.map +1 -0
  27. package/dist/dtos/update-user.dto.d.ts +8 -0
  28. package/dist/dtos/update-user.dto.d.ts.map +1 -1
  29. package/dist/dtos/update-user.dto.js +78 -7
  30. package/dist/dtos/update-user.dto.js.map +1 -1
  31. package/dist/dtos/update-view-metadata.dto.d.ts +4 -0
  32. package/dist/dtos/update-view-metadata.dto.d.ts.map +1 -1
  33. package/dist/dtos/update-view-metadata.dto.js +40 -10
  34. package/dist/dtos/update-view-metadata.dto.js.map +1 -1
  35. package/dist/dtos/upsert-user-view-metadata.dto.d.ts +6 -0
  36. package/dist/dtos/upsert-user-view-metadata.dto.d.ts.map +1 -0
  37. package/dist/dtos/upsert-user-view-metadata.dto.js +40 -0
  38. package/dist/dtos/upsert-user-view-metadata.dto.js.map +1 -0
  39. package/dist/entities/user-view-metadata.entity.d.ts +9 -0
  40. package/dist/entities/user-view-metadata.entity.d.ts.map +1 -0
  41. package/dist/entities/user-view-metadata.entity.js +47 -0
  42. package/dist/entities/user-view-metadata.entity.js.map +1 -0
  43. package/dist/entities/user.entity.d.ts +2 -0
  44. package/dist/entities/user.entity.d.ts.map +1 -1
  45. package/dist/entities/user.entity.js +11 -9
  46. package/dist/entities/user.entity.js.map +1 -1
  47. package/dist/entities/view-metadata.entity.d.ts +2 -0
  48. package/dist/entities/view-metadata.entity.d.ts.map +1 -1
  49. package/dist/entities/view-metadata.entity.js +15 -5
  50. package/dist/entities/view-metadata.entity.js.map +1 -1
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +1 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/interfaces.d.ts +1 -1
  56. package/dist/interfaces.d.ts.map +1 -1
  57. package/dist/seeders/seed-data/solid-core-metadata.json +412 -134
  58. package/dist/services/authentication.service.d.ts +1 -0
  59. package/dist/services/authentication.service.d.ts.map +1 -1
  60. package/dist/services/user-view-metadata.service.d.ts +24 -0
  61. package/dist/services/user-view-metadata.service.d.ts.map +1 -0
  62. package/dist/services/user-view-metadata.service.js +73 -0
  63. package/dist/services/user-view-metadata.service.js.map +1 -0
  64. package/dist/services/view-metadata.service.d.ts +3 -1
  65. package/dist/services/view-metadata.service.d.ts.map +1 -1
  66. package/dist/services/view-metadata.service.js +24 -7
  67. package/dist/services/view-metadata.service.js.map +1 -1
  68. package/dist/solid-core.module.d.ts.map +1 -1
  69. package/dist/solid-core.module.js +7 -1
  70. package/dist/solid-core.module.js.map +1 -1
  71. package/dist/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +8 -6
  73. package/src/controllers/user-view-metadata.controller.ts +99 -0
  74. package/src/dtos/create-user-view-metadata.dto.ts +27 -0
  75. package/src/dtos/create-user.dto.ts +67 -33
  76. package/src/dtos/create-view-metadata.dto.ts +33 -12
  77. package/src/dtos/selection-dynamic-query.dto.ts +1 -1
  78. package/src/dtos/update-user-view-metadata.dto.ts +28 -0
  79. package/src/dtos/update-user.dto.ts +67 -36
  80. package/src/dtos/update-view-metadata.dto.ts +35 -19
  81. package/src/dtos/upsert-user-view-metadata.dto.ts +17 -0
  82. package/src/entities/user-view-metadata.entity.ts +18 -0
  83. package/src/entities/user.entity.ts +12 -40
  84. package/src/entities/view-metadata.entity.ts +12 -13
  85. package/src/index.ts +1 -0
  86. package/src/interfaces.ts +1 -1
  87. package/src/seeders/seed-data/solid-core-metadata.json +412 -144
  88. package/src/services/user-view-metadata.service.ts +54 -0
  89. package/src/services/view-metadata.service.ts +23 -2
  90. package/src/solid-core.module.ts +7 -1
@@ -1,50 +1,66 @@
1
- import { IsInt, IsOptional, IsString, Matches, IsNotEmpty, IsJSON } from 'class-validator';
1
+ import { IsInt, IsOptional, IsString, Matches, IsNotEmpty, IsJSON, ValidateNested, IsArray } from 'class-validator';
2
+ import { ApiProperty } from '@nestjs/swagger';
3
+ import { Type } from 'class-transformer';
4
+ import { UpdateUserViewMetadataDto } from 'src/dtos/update-user-view-metadata.dto';
5
+
2
6
  export class UpdateViewMetadataDto {
3
7
  @IsOptional()
4
8
  @IsInt()
5
9
  id: number;
6
-
7
- @IsOptional()
8
10
  @IsNotEmpty()
11
+ @IsOptional()
9
12
  @Matches(/[a-z]+(-[a-z]+)*/)
10
13
  @IsString()
14
+ @ApiProperty()
11
15
  name: string;
12
-
13
- @IsOptional()
14
16
  @IsNotEmpty()
17
+ @IsOptional()
15
18
  @IsString()
19
+ @ApiProperty()
16
20
  displayName: string;
17
-
18
- @IsOptional()
19
21
  @IsNotEmpty()
22
+ @IsOptional()
20
23
  @IsString()
24
+ @ApiProperty()
21
25
  type: string;
22
-
23
- @IsOptional()
24
26
  @IsNotEmpty()
27
+ @IsOptional()
25
28
  @IsJSON()
29
+ @ApiProperty()
26
30
  context: any;
27
-
28
- @IsOptional()
29
31
  @IsNotEmpty()
32
+ @IsOptional()
30
33
  @IsJSON()
34
+ @ApiProperty()
31
35
  layout: any;
32
-
33
36
  @IsOptional()
34
- @IsNotEmpty()
37
+ @IsInt()
38
+ @ApiProperty()
35
39
  moduleId: number;
36
-
37
- @IsOptional()
38
40
  @IsString()
39
41
  @IsOptional()
42
+ @ApiProperty()
40
43
  moduleUserKey: string;
41
-
42
44
  @IsOptional()
43
- @IsNotEmpty()
45
+ @IsInt()
46
+ @ApiProperty()
44
47
  modelId: number;
45
-
46
- @IsOptional()
47
48
  @IsString()
48
49
  @IsOptional()
50
+ @ApiProperty()
49
51
  modelUserKey: string;
52
+ @IsOptional()
53
+ @ApiProperty()
54
+ @IsArray()
55
+ @ValidateNested({ each: true })
56
+ @Type(() => UpdateUserViewMetadataDto)
57
+ userViewMetadata: UpdateUserViewMetadataDto[];
58
+ @IsOptional()
59
+ @IsArray()
60
+ @ApiProperty()
61
+ userViewMetadataIds: number[];
62
+ @IsString()
63
+ @IsOptional()
64
+ @ApiProperty()
65
+ userViewMetadataCommand: string;
50
66
  }
@@ -0,0 +1,17 @@
1
+ import { IsInt, IsOptional, IsJSON } from 'class-validator';
2
+ import { ApiProperty } from '@nestjs/swagger';
3
+
4
+ export class UpsertUserViewMetadataDto {
5
+ @IsOptional()
6
+ @IsInt()
7
+ @ApiProperty()
8
+ userId: number;
9
+ @IsOptional()
10
+ @IsInt()
11
+ @ApiProperty()
12
+ viewMetadataId: number;
13
+ @IsOptional()
14
+ @IsJSON()
15
+ @ApiProperty()
16
+ layout: any;
17
+ }
@@ -0,0 +1,18 @@
1
+ import { CommonEntity } from 'src/entities/common.entity'
2
+ import { Entity, JoinColumn, ManyToOne, Index, Column } from 'typeorm';
3
+ import { ViewMetadata } from 'src/entities/view-metadata.entity';
4
+ import { User } from 'src/entities/user.entity'
5
+
6
+ @Entity("ss_user_view_metadata")
7
+ export class UserViewMetadata extends CommonEntity {
8
+ @Index()
9
+ @ManyToOne(() => User, { onDelete: "CASCADE", nullable: false })
10
+ @JoinColumn()
11
+ user: User;
12
+ @Column({ name: "layout", type: "text", nullable: true })
13
+ layout: any = "{}";
14
+ @Index()
15
+ @ManyToOne(() => ViewMetadata, { onDelete: "CASCADE", nullable: false })
16
+ @JoinColumn()
17
+ viewMetadata: ViewMetadata;
18
+ }
@@ -1,100 +1,72 @@
1
1
  import { CommonEntity } from "src/entities/common.entity"
2
- import { Entity, Column, Index, JoinTable, ManyToMany } from "typeorm";
3
- import { RoleMetadata } from 'src/entities/role-metadata.entity'
4
- @Entity("ss_user")
5
- @Index(["username", "deletedTracker"], { unique: true })
6
- @Index(["email", "deletedTracker"], { unique: true })
7
- @Index(["mobile", "deletedTracker"], { unique: true })
2
+ import { Entity, Column, Index, JoinTable, ManyToMany, OneToMany } from "typeorm";
3
+ import { RoleMetadata } from 'src/entities/role-metadata.entity';
4
+ import { UserViewMetadata } from 'src/entities/user-view-metadata.entity'
8
5
 
6
+ @Entity("ss_user")
9
7
  export class User extends CommonEntity {
10
8
  @Column({ type: "varchar", nullable: true })
11
9
  fullName: string;
12
-
13
- @Index()
14
- @Column({ type: "varchar", })
10
+ @Index({ unique: true })
11
+ @Column({ type: "varchar" })
15
12
  username: string;
16
-
17
- @Index()
18
- @Column({ type: "varchar", nullable: true })
13
+ @Index({ unique: true })
14
+ @Column({ type: "varchar", nullable: true })
19
15
  email: string;
20
-
21
- @Index()
22
- @Column({ type: "varchar", nullable: true })
16
+ @Index({ unique: true })
17
+ @Column({ type: "varchar", nullable: true })
23
18
  mobile: string;
24
-
25
19
  @Column({ type: "varchar", nullable: true })
26
20
  password: string;
27
-
28
21
  @Column({ type: "boolean", nullable: true, default: true })
29
22
  forcePasswordChange: boolean = true;
30
-
31
23
  @Column({ type: "varchar", default: "local" })
32
24
  lastLoginProvider: string = "local";
33
-
34
25
  @Column({ type: "varchar", nullable: true })
35
26
  accessCode: string;
36
-
37
27
  @Column({ type: "varchar", nullable: true })
38
28
  googleAccessToken: string;
39
-
40
29
  @Column({ type: "varchar", nullable: true })
41
30
  googleId: string;
42
-
43
31
  @Column({ type: "varchar", nullable: true })
44
32
  googleProfilePicture: string;
45
-
46
33
  @Column({ type: "boolean", default: true })
47
34
  active: boolean = true;
48
-
49
35
  @Column({ type: "timestamp", nullable: true })
50
36
  forgotPasswordConfirmedAt: Date;
51
-
52
37
  @Column({ type: "varchar", nullable: true })
53
38
  verificationTokenOnForgotPassword: string;
54
-
55
39
  @Column({ type: "timestamp", nullable: true })
56
40
  verificationTokenOnForgotPasswordExpiresAt: Date;
57
-
58
41
  @Column({ type: "timestamp", nullable: true })
59
42
  emailVerifiedOnRegistrationAt: Date;
60
-
61
43
  @Column({ type: "varchar", nullable: true })
62
44
  emailVerificationTokenOnRegistration: string;
63
-
64
45
  @Column({ type: "timestamp", nullable: true })
65
46
  emailVerificationTokenOnRegistrationExpiresAt: Date;
66
-
67
47
  @Column({ type: "timestamp", nullable: true })
68
48
  mobileVerifiedOnRegistrationAt: Date;
69
-
70
49
  @Column({ type: "varchar", nullable: true })
71
50
  mobileVerificationTokenOnRegistration: string;
72
-
73
51
  @Column({ type: "timestamp", nullable: true })
74
52
  mobileVerificationTokenOnRegistrationExpiresAt: Date;
75
-
76
53
  @Column({ type: "timestamp", nullable: true })
77
54
  emailVerifiedOnLoginAt: Date;
78
-
79
55
  @Column({ type: "varchar", nullable: true })
80
56
  emailVerificationTokenOnLogin: string;
81
-
82
57
  @Column({ type: "timestamp", nullable: true })
83
58
  emailVerificationTokenOnLoginExpiresAt: Date;
84
-
85
59
  @Column({ type: "timestamp", nullable: true })
86
60
  mobileVerifiedOnLoginAt: Date;
87
-
88
61
  @Column({ type: "varchar", nullable: true })
89
62
  mobileVerificationTokenOnLogin: string;
90
-
91
63
  @Column({ type: "timestamp", nullable: true })
92
64
  mobileVerificationTokenOnLoginExpiresAt: Date;
93
-
94
65
  @Column({ type: "varchar", nullable: true })
95
66
  customPayload: string;
96
-
97
67
  @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })
98
68
  @JoinTable()
99
69
  roles: RoleMetadata[];
70
+ @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })
71
+ userViewMetadata: UserViewMetadata[];
100
72
  }
@@ -1,31 +1,30 @@
1
1
  import { CommonEntity } from "src/entities/common.entity"
2
- import { Entity, Column, ManyToOne, Index, JoinColumn } from "typeorm";
2
+ import { Entity, Column, ManyToOne, Index, JoinColumn, OneToMany } from "typeorm";
3
3
  import { ModuleMetadata } from 'src/entities/module-metadata.entity';
4
- import { ModelMetadata } from 'src/entities/model-metadata.entity'
4
+ import { ModelMetadata } from 'src/entities/model-metadata.entity';
5
+ import { UserViewMetadata } from 'src/entities/user-view-metadata.entity'
6
+
5
7
  @Entity("ss_view_metadata")
6
8
  export class ViewMetadata extends CommonEntity {
9
+ @Index({ unique: true })
7
10
  @Column({ name: "name", type: "varchar", unique: true })
8
11
  name: string;
9
-
10
12
  @Column({ name: "display_name", type: "varchar" })
11
13
  displayName: string;
12
-
13
14
  @Column({ name: "type", type: "varchar" })
14
15
  type: string;
15
-
16
16
  @Column({ name: "context", type: "text" })
17
- context: any;
18
-
17
+ context: any = "{}";
19
18
  @Column({ name: "layout", type: "text" })
20
19
  layout: any;
21
-
22
20
  @Index()
23
- @ManyToOne(() => ModuleMetadata, { onDelete: "CASCADE" })
24
- @JoinColumn({ name: 'module_id', referencedColumnName: 'id' })
21
+ @ManyToOne(() => ModuleMetadata, { onDelete: "CASCADE", nullable: false })
22
+ @JoinColumn({ referencedColumnName: 'id' })
25
23
  module: ModuleMetadata;
26
-
27
24
  @Index()
28
- @ManyToOne(() => ModelMetadata, { onDelete: "CASCADE" })
29
- @JoinColumn({ name: 'model_id', referencedColumnName: 'id' })
25
+ @ManyToOne(() => ModelMetadata, { onDelete: "CASCADE", nullable: false })
26
+ @JoinColumn({ referencedColumnName: 'id' })
30
27
  model: ModelMetadata;
28
+ @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.viewMetadata, { cascade: true })
29
+ userViewMetadata: UserViewMetadata[];
31
30
  }
package/src/index.ts CHANGED
@@ -100,6 +100,7 @@ export * from './entities/user-password-history.entity'
100
100
  export * from './entities/user.entity'
101
101
  export * from './entities/view-metadata.entity'
102
102
  export * from './entities/setting.entity'
103
+ export * from './entities/user-view-metadata.entity'
103
104
 
104
105
  export * from './enums/auth-type.enum'
105
106
 
package/src/interfaces.ts CHANGED
@@ -73,7 +73,7 @@ export interface ISelectionProvider<T extends ISelectionProviderContext> {
73
73
 
74
74
  value(optionValue: string, ctxt: T): Promise<ISelectionProviderValues | any>;
75
75
 
76
- values(query: string, ctxt: T): Promise<readonly ISelectionProviderValues[]>;
76
+ values(query: any, ctxt: T): Promise<readonly ISelectionProviderValues[]>;
77
77
  }
78
78
 
79
79
  export interface IComputedFieldProvider<T> {