@solidstarters/solid-core 1.2.91 → 1.2.93

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 (58) hide show
  1. package/# Password field.md +8 -0
  2. package/dist/controllers/import-transaction.controller.d.ts +2 -1
  3. package/dist/controllers/import-transaction.controller.d.ts.map +1 -1
  4. package/dist/controllers/import-transaction.controller.js +16 -4
  5. package/dist/controllers/import-transaction.controller.js.map +1 -1
  6. package/dist/dtos/create-menu-item-metadata.dto.d.ts +2 -1
  7. package/dist/dtos/create-menu-item-metadata.dto.d.ts.map +1 -1
  8. package/dist/dtos/create-menu-item-metadata.dto.js +22 -3
  9. package/dist/dtos/create-menu-item-metadata.dto.js.map +1 -1
  10. package/dist/dtos/create-role-metadata.dto.d.ts.map +1 -1
  11. package/dist/dtos/create-role-metadata.dto.js +11 -0
  12. package/dist/dtos/create-role-metadata.dto.js.map +1 -1
  13. package/dist/dtos/update-menu-item-metadata.dto.d.ts +2 -1
  14. package/dist/dtos/update-menu-item-metadata.dto.d.ts.map +1 -1
  15. package/dist/dtos/update-menu-item-metadata.dto.js +24 -5
  16. package/dist/dtos/update-menu-item-metadata.dto.js.map +1 -1
  17. package/dist/dtos/update-role-metadata.dto.d.ts.map +1 -1
  18. package/dist/dtos/update-role-metadata.dto.js +12 -1
  19. package/dist/dtos/update-role-metadata.dto.js.map +1 -1
  20. package/dist/entities/menu-item-metadata.entity.d.ts +2 -1
  21. package/dist/entities/menu-item-metadata.entity.d.ts.map +1 -1
  22. package/dist/entities/menu-item-metadata.entity.js +13 -8
  23. package/dist/entities/menu-item-metadata.entity.js.map +1 -1
  24. package/dist/seeders/seed-data/solid-core-metadata.json +31 -0
  25. package/dist/services/authentication.service.d.ts.map +1 -1
  26. package/dist/services/authentication.service.js +8 -3
  27. package/dist/services/authentication.service.js.map +1 -1
  28. package/dist/services/crud.service.js +1 -1
  29. package/dist/services/crud.service.js.map +1 -1
  30. package/dist/services/import-transaction.service.d.ts +19 -6
  31. package/dist/services/import-transaction.service.d.ts.map +1 -1
  32. package/dist/services/import-transaction.service.js +214 -87
  33. package/dist/services/import-transaction.service.js.map +1 -1
  34. package/dist/services/menu-item-metadata.service.d.ts.map +1 -1
  35. package/dist/services/menu-item-metadata.service.js +1 -0
  36. package/dist/services/menu-item-metadata.service.js.map +1 -1
  37. package/dist/services/setting.service.d.ts.map +1 -1
  38. package/dist/services/setting.service.js +6 -2
  39. package/dist/services/setting.service.js.map +1 -1
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +1 -1
  42. package/src/controllers/import-transaction.controller.ts +9 -3
  43. package/src/dtos/create-menu-item-metadata.dto.ts +21 -13
  44. package/src/dtos/create-role-metadata.dto.ts +48 -45
  45. package/src/dtos/update-menu-item-metadata.dto.ts +23 -16
  46. package/src/dtos/update-role-metadata.dto.ts +49 -47
  47. package/src/entities/menu-item-metadata.entity.ts +14 -14
  48. package/src/seeders/seed-data/email-templates/forgot-password.handlebars.html +134 -154
  49. package/src/seeders/seed-data/email-templates/on-force-password-change.handlebars.html +141 -195
  50. package/src/seeders/seed-data/email-templates/otp-on-login.handlebars.html +130 -144
  51. package/src/seeders/seed-data/email-templates/otp-on-register.handlebars.html +131 -145
  52. package/src/seeders/seed-data/solid-core-metadata.json +31 -0
  53. package/src/services/authentication.service.ts +8 -3
  54. package/src/services/crud.service.ts +1 -1
  55. package/src/services/import-transaction.service.ts +313 -121
  56. package/src/services/menu-item-metadata.service.ts +2 -0
  57. package/src/services/pending_import_issues +3 -0
  58. package/src/services/setting.service.ts +6 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/solid-core",
3
- "version": "1.2.91",
3
+ "version": "1.2.93",
4
4
  "description": "This module is a NestJS module containing all the required core providers required by a Solid application",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -108,9 +108,15 @@ export class ImportTransactionController {
108
108
  }
109
109
 
110
110
  @ApiBearerAuth("jwt")
111
- @Post(':id/import-mapping')
112
- async saveImportMapping(@Param('id') id: string) {
113
- return this.service.saveImportMapping(+id);
111
+ @Post(':id/start-import/sync')
112
+ async startImportSync(@Param('id') id: string) {
113
+ return this.service.startImportSync(+id);
114
+ }
115
+
116
+ @ApiBearerAuth("jwt")
117
+ @Post(':id/start-import/async')
118
+ async startImportAsync(@Param('id') id: string) {
119
+ return this.service.startImportAsync(+id);
114
120
  }
115
121
 
116
122
  @ApiBearerAuth("jwt")
@@ -2,59 +2,67 @@ import { IsNumber, IsString } from 'class-validator';
2
2
  import { Matches } from 'class-validator';
3
3
  import { IsNotEmpty, IsInt, IsOptional, ValidateNested, IsArray } from 'class-validator';
4
4
  import { Transform, Type } from 'class-transformer';
5
- import { UpdateRoleMetadataDto } from './update-role-metadata.dto';
6
5
  import arrayTransformer from '../transformers/array-transformer';
6
+ import { ApiProperty } from '@nestjs/swagger';
7
+ import { UpdateRoleMetadataDto } from 'src/dtos/update-role-metadata.dto';
8
+
7
9
  export class CreateMenuItemMetadataDto {
8
10
  @IsNotEmpty()
9
11
  @Matches(/[a-z]+(-[a-z]+)*/)
10
12
  @IsString()
13
+ @ApiProperty()
11
14
  name: string;
12
-
13
15
  @IsNotEmpty()
14
16
  @IsString()
17
+ @ApiProperty()
15
18
  displayName: string;
16
-
17
19
  @IsOptional()
18
20
  @IsInt()
21
+ @ApiProperty()
19
22
  moduleId: number;
20
-
21
23
  @IsString()
22
24
  @IsOptional()
25
+ @ApiProperty()
23
26
  moduleUserKey: string;
24
-
25
27
  @IsOptional()
26
28
  @IsInt()
29
+ @ApiProperty()
27
30
  parentMenuItemId: number;
28
-
29
31
  @IsString()
30
32
  @IsOptional()
33
+ @ApiProperty()
31
34
  parentMenuItemUserKey: string;
32
-
33
35
  @IsOptional()
34
36
  @IsInt()
37
+ @ApiProperty()
35
38
  actionId: number;
36
-
37
39
  @IsString()
38
40
  @IsOptional()
41
+ @ApiProperty()
39
42
  actionUserKey: string;
40
-
43
+ @Transform(arrayTransformer)
41
44
  @IsOptional()
45
+ @ApiProperty()
42
46
  @IsArray()
43
- @Transform(arrayTransformer)
44
47
  @ValidateNested({ each: true })
45
48
  @Type(() => UpdateRoleMetadataDto)
46
49
  roles: UpdateRoleMetadataDto[];
47
-
48
50
  @IsOptional()
49
51
  @IsArray()
52
+ @ApiProperty()
50
53
  rolesIds: number[];
51
-
52
54
  @IsString()
53
55
  @IsOptional()
56
+ @ApiProperty()
54
57
  rolesCommand: string;
55
-
56
58
  @IsOptional()
57
59
  @IsNumber()
60
+ @ApiProperty()
58
61
  sequenceNumber: number;
59
62
 
63
+ @IsOptional()
64
+ @IsString()
65
+ @ApiProperty()
66
+ iconName: string;
67
+
60
68
  }
@@ -4,50 +4,53 @@ import { Type } from 'class-transformer';
4
4
  import { UpdatePermissionMetadataDto } from 'src/dtos/update-permission-metadata.dto';
5
5
  import { UpdateUserDto } from 'src/dtos/update-user.dto';
6
6
  import { UpdateMenuItemMetadataDto } from 'src/dtos/update-menu-item-metadata.dto';
7
- export class CreateRoleMetadataDto {
8
- @IsNotEmpty()
9
- @IsString()
10
- name: string;
11
-
12
- @IsOptional()
13
- @IsArray()
14
- @ValidateNested({ each : true })
15
- @Type(() => UpdatePermissionMetadataDto)
16
- permissions: UpdatePermissionMetadataDto[];
17
-
18
- @IsOptional()
19
- @IsArray()
20
- permissionsIds: number[];
21
-
22
- @IsString()
23
- @IsOptional()
24
- permissionsCommand: string;
25
-
26
- @IsOptional()
27
- @IsArray()
28
- @ValidateNested({ each : true })
29
- @Type(() => UpdateUserDto)
30
- users: UpdateUserDto[];
7
+ import { ApiProperty } from '@nestjs/swagger';
31
8
 
32
- @IsOptional()
33
- @IsArray()
34
- usersIds: number[];
35
-
36
- @IsString()
37
- @IsOptional()
38
- usersCommand: string;
39
-
40
- @IsOptional()
41
- @IsArray()
42
- @ValidateNested({ each : true })
43
- @Type(() => UpdateMenuItemMetadataDto)
44
- menuItems: UpdateMenuItemMetadataDto[];
45
-
46
- @IsOptional()
47
- @IsArray()
48
- menuItemsIds: number[];
49
-
50
- @IsString()
51
- @IsOptional()
52
- menuItemsCommand: string;
9
+ export class CreateRoleMetadataDto {
10
+ @IsNotEmpty()
11
+ @IsString()
12
+ @ApiProperty()
13
+ name: string;
14
+ @IsOptional()
15
+ @ApiProperty()
16
+ @IsArray()
17
+ @ValidateNested({ each: true })
18
+ @Type(() => UpdatePermissionMetadataDto)
19
+ permissions: UpdatePermissionMetadataDto[];
20
+ @IsOptional()
21
+ @IsArray()
22
+ @ApiProperty()
23
+ permissionsIds: number[];
24
+ @IsString()
25
+ @IsOptional()
26
+ @ApiProperty()
27
+ permissionsCommand: string;
28
+ @IsOptional()
29
+ @ApiProperty()
30
+ @IsArray()
31
+ @ValidateNested({ each: true })
32
+ @Type(() => UpdateUserDto)
33
+ users: UpdateUserDto[];
34
+ @IsOptional()
35
+ @IsArray()
36
+ @ApiProperty()
37
+ usersIds: number[];
38
+ @IsString()
39
+ @IsOptional()
40
+ @ApiProperty()
41
+ usersCommand: string;
42
+ @IsOptional()
43
+ @ApiProperty()
44
+ @IsArray()
45
+ @ValidateNested({ each: true })
46
+ @Type(() => UpdateMenuItemMetadataDto)
47
+ menuItems: UpdateMenuItemMetadataDto[];
48
+ @IsOptional()
49
+ @IsArray()
50
+ @ApiProperty()
51
+ menuItemsIds: number[];
52
+ @IsString()
53
+ @IsOptional()
54
+ @ApiProperty()
55
+ menuItemsCommand: string;
53
56
  }
@@ -1,64 +1,71 @@
1
1
  import { IsInt, IsOptional, IsString, Matches, IsNotEmpty, ValidateNested, IsArray, IsNumber } from 'class-validator';
2
2
  import { Transform, Type } from 'class-transformer';
3
- import { UpdateRoleMetadataDto } from './update-role-metadata.dto';
4
3
  import arrayTransformer from '../transformers/array-transformer';
4
+ import { ApiProperty } from '@nestjs/swagger';
5
+ import { UpdateRoleMetadataDto } from 'src/dtos/update-role-metadata.dto';
6
+
5
7
  export class UpdateMenuItemMetadataDto {
6
8
  @IsOptional()
7
9
  @IsInt()
8
10
  id: number;
9
-
10
- @IsOptional()
11
11
  @IsNotEmpty()
12
+ @IsOptional()
12
13
  @Matches(/[a-z]+(-[a-z]+)*/)
13
14
  @IsString()
15
+ @ApiProperty()
14
16
  name: string;
15
-
16
- @IsOptional()
17
17
  @IsNotEmpty()
18
+ @IsOptional()
18
19
  @IsString()
20
+ @ApiProperty()
19
21
  displayName: string;
20
-
21
22
  @IsOptional()
22
23
  @IsInt()
24
+ @ApiProperty()
23
25
  moduleId: number;
24
-
25
26
  @IsString()
26
27
  @IsOptional()
28
+ @ApiProperty()
27
29
  moduleUserKey: string;
28
-
29
30
  @IsOptional()
30
31
  @IsInt()
32
+ @ApiProperty()
31
33
  parentMenuItemId: number;
32
-
33
34
  @IsString()
34
35
  @IsOptional()
36
+ @ApiProperty()
35
37
  parentMenuItemUserKey: string;
36
-
37
38
  @IsOptional()
38
39
  @IsInt()
40
+ @ApiProperty()
39
41
  actionId: number;
40
-
41
42
  @IsString()
42
43
  @IsOptional()
44
+ @ApiProperty()
43
45
  actionUserKey: string;
44
-
46
+ @Transform(arrayTransformer)
45
47
  @IsOptional()
48
+ @ApiProperty()
46
49
  @IsArray()
47
- @Transform(arrayTransformer)
48
50
  @ValidateNested({ each: true })
49
51
  @Type(() => UpdateRoleMetadataDto)
50
52
  roles: UpdateRoleMetadataDto[];
51
-
52
53
  @IsOptional()
53
54
  @IsArray()
55
+ @ApiProperty()
54
56
  rolesIds: number[];
55
-
56
57
  @IsString()
57
58
  @IsOptional()
59
+ @ApiProperty()
58
60
  rolesCommand: string;
59
-
60
61
  @IsOptional()
61
62
  @IsNumber()
63
+ @ApiProperty()
62
64
  sequenceNumber: number;
63
65
 
66
+ @IsOptional()
67
+ @IsString()
68
+ @ApiProperty()
69
+ iconName: string;
70
+
64
71
  }
@@ -3,55 +3,57 @@ import { Type } from 'class-transformer';
3
3
  import { UpdatePermissionMetadataDto } from 'src/dtos/update-permission-metadata.dto';
4
4
  import { UpdateUserDto } from 'src/dtos/update-user.dto';
5
5
  import { UpdateMenuItemMetadataDto } from 'src/dtos/update-menu-item-metadata.dto';
6
+ import { ApiProperty } from '@nestjs/swagger';
7
+
6
8
  export class UpdateRoleMetadataDto {
7
9
  @IsOptional()
8
10
  @IsInt()
9
11
  id: number;
10
-
11
- @IsOptional()
12
- @IsNotEmpty()
13
- @IsString()
14
- name: string;
15
-
16
- @IsOptional()
17
- @IsArray()
18
- @ValidateNested({ each : true })
19
- @Type(() => UpdatePermissionMetadataDto)
20
- permissions: UpdatePermissionMetadataDto[];
21
-
22
- @IsOptional()
23
- @IsArray()
24
- permissionsIds: number[];
25
-
26
- @IsString()
27
- @IsOptional()
28
- permissionsCommand: string;
29
-
30
- @IsOptional()
31
- @IsArray()
32
- @ValidateNested({ each : true })
33
- @Type(() => UpdateUserDto)
34
- users: UpdateUserDto[];
35
-
36
- @IsOptional()
37
- @IsArray()
38
- usersIds: number[];
39
-
40
- @IsString()
41
- @IsOptional()
42
- usersCommand: string;
43
-
44
- @IsOptional()
45
- @IsArray()
46
- @ValidateNested({ each : true })
47
- @Type(() => UpdateMenuItemMetadataDto)
48
- menuItems: UpdateMenuItemMetadataDto[];
49
-
50
- @IsOptional()
51
- @IsArray()
52
- menuItemsIds: number[];
53
-
54
- @IsString()
55
- @IsOptional()
56
- menuItemsCommand: string;
12
+ @IsNotEmpty()
13
+ @IsOptional()
14
+ @IsString()
15
+ @ApiProperty()
16
+ name: string;
17
+ @IsOptional()
18
+ @ApiProperty()
19
+ @IsArray()
20
+ @ValidateNested({ each: true })
21
+ @Type(() => UpdatePermissionMetadataDto)
22
+ permissions: UpdatePermissionMetadataDto[];
23
+ @IsOptional()
24
+ @IsArray()
25
+ @ApiProperty()
26
+ permissionsIds: number[];
27
+ @IsString()
28
+ @IsOptional()
29
+ @ApiProperty()
30
+ permissionsCommand: string;
31
+ @IsOptional()
32
+ @ApiProperty()
33
+ @IsArray()
34
+ @ValidateNested({ each: true })
35
+ @Type(() => UpdateUserDto)
36
+ users: UpdateUserDto[];
37
+ @IsOptional()
38
+ @IsArray()
39
+ @ApiProperty()
40
+ usersIds: number[];
41
+ @IsString()
42
+ @IsOptional()
43
+ @ApiProperty()
44
+ usersCommand: string;
45
+ @IsOptional()
46
+ @ApiProperty()
47
+ @IsArray()
48
+ @ValidateNested({ each: true })
49
+ @Type(() => UpdateMenuItemMetadataDto)
50
+ menuItems: UpdateMenuItemMetadataDto[];
51
+ @IsOptional()
52
+ @IsArray()
53
+ @ApiProperty()
54
+ menuItemsIds: number[];
55
+ @IsString()
56
+ @IsOptional()
57
+ @ApiProperty()
58
+ menuItemsCommand: string;
57
59
  }
@@ -2,34 +2,34 @@ import { CommonEntity } from "src/entities/common.entity"
2
2
  import { Entity, Column, ManyToOne, Index, JoinTable, ManyToMany, JoinColumn } from "typeorm";
3
3
  import { ModuleMetadata } from 'src/entities/module-metadata.entity';
4
4
  import { ActionMetadata } from 'src/entities/action-metadata.entity';
5
- import { RoleMetadata } from "./role-metadata.entity";
5
+ import { RoleMetadata } from 'src/entities/role-metadata.entity';
6
+
6
7
  @Entity("ss_menu_item_metadata")
7
8
  export class MenuItemMetadata extends CommonEntity {
9
+ @Index({ unique: true })
8
10
  @Column({ name: "name", type: "varchar", unique: true })
9
11
  name: string;
10
-
11
12
  @Column({ name: "display_name", type: "varchar" })
12
13
  displayName: string;
13
-
14
- @JoinColumn({ name: 'module_id', referencedColumnName: 'id' })
15
14
  @Index()
16
- @ManyToOne(() => ModuleMetadata, { onDelete: "CASCADE" })
15
+ @ManyToOne(() => ModuleMetadata, { onDelete: "CASCADE", nullable: false })
16
+ @JoinColumn({ referencedColumnName: 'id' })
17
17
  module: ModuleMetadata;
18
-
19
- @JoinColumn({ name: 'parent_menu_item_id', referencedColumnName: 'id' })
20
18
  @Index()
21
- @ManyToOne(() => MenuItemMetadata, { onDelete: "CASCADE" })
19
+ @ManyToOne(() => MenuItemMetadata, { onDelete: "CASCADE", nullable: true })
20
+ @JoinColumn({ referencedColumnName: 'id' })
22
21
  parentMenuItem: MenuItemMetadata;
23
-
24
- @JoinColumn({ name: 'action_id', referencedColumnName: 'id' })
25
22
  @Index()
26
- @ManyToOne(() => ActionMetadata, { onDelete: "CASCADE" })
23
+ @ManyToOne(() => ActionMetadata, { onDelete: "CASCADE", nullable: true })
24
+ @JoinColumn({ referencedColumnName: 'id' })
27
25
  action: ActionMetadata;
28
-
29
- @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.menuItems, { cascade: true })
26
+ @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })
30
27
  @JoinTable()
31
28
  roles: RoleMetadata[];
32
-
33
29
  @Column({ name: "sequence_number", type: "int", nullable: true })
34
30
  sequenceNumber: number;
31
+
32
+ @Column({ name: "icon_name", type: "varchar", nullable: true })
33
+ iconName: string;
34
+
35
35
  }