@hedhog/admin 0.0.36 → 0.0.38

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 (69) hide show
  1. package/dist/admin.module.d.ts.map +1 -1
  2. package/dist/admin.module.js +2 -0
  3. package/dist/admin.module.js.map +1 -1
  4. package/dist/locale/dto/create.dto.d.ts +7 -0
  5. package/dist/locale/dto/create.dto.d.ts.map +1 -0
  6. package/dist/locale/dto/create.dto.js +33 -0
  7. package/dist/locale/dto/create.dto.js.map +1 -0
  8. package/dist/locale/dto/delete.dto.d.ts +4 -0
  9. package/dist/locale/dto/delete.dto.d.ts.map +1 -0
  10. package/dist/locale/dto/delete.dto.js +23 -0
  11. package/dist/locale/dto/delete.dto.js.map +1 -0
  12. package/dist/locale/dto/update.dto.d.ts +7 -0
  13. package/dist/locale/dto/update.dto.d.ts.map +1 -0
  14. package/dist/locale/dto/update.dto.js +37 -0
  15. package/dist/locale/dto/update.dto.js.map +1 -0
  16. package/dist/locale/index.d.ts +5 -0
  17. package/dist/locale/index.d.ts.map +1 -0
  18. package/dist/locale/index.js +21 -0
  19. package/dist/locale/index.js.map +1 -0
  20. package/dist/locale/locale.controller.d.ts +16 -0
  21. package/dist/locale/locale.controller.d.ts.map +1 -0
  22. package/dist/locale/locale.controller.js +110 -0
  23. package/dist/locale/locale.controller.js.map +1 -0
  24. package/dist/locale/locale.decorator.d.ts +2 -0
  25. package/dist/locale/locale.decorator.d.ts.map +1 -0
  26. package/dist/locale/locale.decorator.js +9 -0
  27. package/dist/locale/locale.decorator.js.map +1 -0
  28. package/dist/locale/locale.middleware.d.ts +10 -0
  29. package/dist/locale/locale.middleware.d.ts.map +1 -0
  30. package/dist/locale/locale.middleware.js +45 -0
  31. package/dist/locale/locale.middleware.js.map +1 -0
  32. package/dist/locale/locale.module.d.ts +5 -0
  33. package/dist/locale/locale.module.d.ts.map +1 -0
  34. package/dist/locale/locale.module.js +35 -0
  35. package/dist/locale/locale.module.js.map +1 -0
  36. package/dist/locale/locale.service.d.ts +26 -0
  37. package/dist/locale/locale.service.d.ts.map +1 -0
  38. package/dist/locale/locale.service.js +166 -0
  39. package/dist/locale/locale.service.js.map +1 -0
  40. package/dist/menu/menu.controller.js +1 -1
  41. package/dist/menu/menu.controller.js.map +1 -1
  42. package/dist/role/role.controller.d.ts.map +1 -1
  43. package/dist/role/role.controller.js +1 -1
  44. package/dist/role/role.controller.js.map +1 -1
  45. package/dist/route/route.controller.js +1 -1
  46. package/dist/route/route.controller.js.map +1 -1
  47. package/dist/screen/screen.controller.js +1 -1
  48. package/dist/screen/screen.controller.js.map +1 -1
  49. package/package.json +1 -3
  50. package/src/migrations/migrate-01.ts +270 -121
  51. package/src/migrations/migrate-02.ts +137 -236
  52. package/src/migrations/migrate-03.ts +98 -192
  53. package/src/migrations/migrate-04.ts +167 -197
  54. package/src/migrations/migrate-05.ts +185 -42
  55. package/src/migrations/migrate-06.ts +245 -33
  56. package/src/migrations/migrate-07.ts +87 -21
  57. package/src/migrations/migrate-08.ts +8 -8
  58. package/src/migrations/migrate-09.ts +13 -14
  59. package/src/migrations/migrate-10.ts +8 -8
  60. package/src/migrations/migrate-11.ts +46 -17
  61. package/src/migrations/migrate-12.ts +46 -71
  62. package/src/migrations/migrate-13.ts +15 -9
  63. package/src/migrations/migrate-14.ts +55 -33
  64. package/src/migrations/migrate-15.ts +9 -16
  65. package/src/migrations/migrate-16.ts +37 -17
  66. package/src/migrations/migrate-17.ts +20 -169
  67. package/src/migrations/migrate-18.ts +30 -191
  68. package/src/migrations/migrate-19.ts +176 -0
  69. package/src/migrations/migrate-20.ts +198 -0
@@ -1,4 +1,4 @@
1
- import { timestampColumn } from '@hedhog/utils';
1
+ import { idColumn, timestampColumn } from '@hedhog/utils';
2
2
  import {
3
3
  MigrationInterface,
4
4
  QueryRunner,
@@ -10,45 +10,111 @@ export class Migrate implements MigrationInterface {
10
10
  async up(queryRunner: QueryRunner) {
11
11
  await queryRunner.createTable(
12
12
  new Table({
13
- name: 'route_screens',
13
+ name: 'roles',
14
+ columns: [idColumn(), timestampColumn(), timestampColumn('updated_at')],
15
+ }),
16
+ );
17
+
18
+ await queryRunner.createTable(
19
+ new Table({
20
+ name: 'role_translations',
14
21
  columns: [
15
22
  {
16
- name: 'route_id',
23
+ name: 'role_id',
17
24
  type: 'int',
18
25
  unsigned: true,
19
26
  isPrimary: true,
20
27
  },
21
28
  {
22
- name: 'screen_id',
29
+ name: 'locale_id',
23
30
  type: 'int',
24
31
  unsigned: true,
25
32
  isPrimary: true,
26
33
  },
34
+ {
35
+ name: 'name',
36
+ type: 'varchar',
37
+ isNullable: false,
38
+ },
39
+ {
40
+ name: 'description',
41
+ type: 'varchar',
42
+ },
27
43
  timestampColumn(),
28
44
  timestampColumn('updated_at'),
29
45
  ],
46
+ foreignKeys: [
47
+ new TableForeignKey({
48
+ columnNames: ['role_id'],
49
+ referencedTableName: 'roles',
50
+ referencedColumnNames: ['id'],
51
+ onDelete: 'CASCADE',
52
+ }),
53
+ new TableForeignKey({
54
+ columnNames: ['locale_id'],
55
+ referencedTableName: 'locales',
56
+ referencedColumnNames: ['id'],
57
+ onDelete: 'CASCADE',
58
+ }),
59
+ ],
30
60
  }),
31
61
  );
32
62
 
33
- await queryRunner.createForeignKeys('route_screens', [
34
- new TableForeignKey({
35
- columnNames: ['route_id'],
36
- referencedColumnNames: ['id'],
37
- referencedTableName: 'routes',
38
- onDelete: 'CASCADE',
39
- name: 'fk_route_screens_routes',
40
- }),
41
- new TableForeignKey({
42
- columnNames: ['screen_id'],
43
- referencedColumnNames: ['id'],
44
- referencedTableName: 'screens',
45
- onDelete: 'CASCADE',
46
- name: 'fk_route_screens_screens',
47
- }),
48
- ]);
63
+ const roles = [
64
+ {
65
+ id: 1,
66
+ name_en: 'Administrator',
67
+ name_pt: 'Administrador',
68
+ description_en: 'System administrator',
69
+ description_pt: 'Administrador do sistema',
70
+ },
71
+ {
72
+ id: 2,
73
+ name_en: 'Screen Manager',
74
+ name_pt: 'Gerenciador de telas',
75
+ description_en: 'Screen manager',
76
+ description_pt: 'Gerenciador de telas',
77
+ },
78
+ ];
79
+
80
+ for (const role of roles) {
81
+ await queryRunner.manager
82
+ .createQueryBuilder()
83
+ .insert()
84
+ .into('roles', ['id'])
85
+ .values({
86
+ id: role.id,
87
+ })
88
+ .execute();
89
+
90
+ await queryRunner.manager
91
+ .createQueryBuilder()
92
+ .insert()
93
+ .into('role_translations', [
94
+ 'role_id',
95
+ 'locale_id',
96
+ 'name',
97
+ 'description',
98
+ ])
99
+ .values([
100
+ {
101
+ role_id: role.id,
102
+ locale_id: 1,
103
+ name: role.name_en,
104
+ description: role.description_en,
105
+ },
106
+ {
107
+ role_id: role.id,
108
+ locale_id: 2,
109
+ name: role.name_pt,
110
+ description: role.description_pt,
111
+ },
112
+ ])
113
+ .execute();
114
+ }
49
115
  }
50
116
 
51
117
  async down(queryRunner: QueryRunner) {
52
- await queryRunner.dropTable('route_screens');
118
+ await queryRunner.dropTable('roles');
53
119
  }
54
120
  }
@@ -10,7 +10,7 @@ export class Migrate implements MigrationInterface {
10
10
  async up(queryRunner: QueryRunner) {
11
11
  await queryRunner.createTable(
12
12
  new Table({
13
- name: 'role_screens',
13
+ name: 'role_menus',
14
14
  columns: [
15
15
  {
16
16
  name: 'role_id',
@@ -19,7 +19,7 @@ export class Migrate implements MigrationInterface {
19
19
  unsigned: true,
20
20
  },
21
21
  {
22
- name: 'screen_id',
22
+ name: 'menu_id',
23
23
  type: 'int',
24
24
  isPrimary: true,
25
25
  unsigned: true,
@@ -30,25 +30,25 @@ export class Migrate implements MigrationInterface {
30
30
  }),
31
31
  );
32
32
 
33
- await queryRunner.createForeignKeys('role_screens', [
33
+ await queryRunner.createForeignKeys('role_menus', [
34
34
  new TableForeignKey({
35
35
  columnNames: ['role_id'],
36
36
  referencedColumnNames: ['id'],
37
37
  referencedTableName: 'roles',
38
38
  onDelete: 'CASCADE',
39
- name: 'fk_role_screens_roles',
39
+ name: 'fk_role_menus_roles',
40
40
  }),
41
41
  new TableForeignKey({
42
- columnNames: ['screen_id'],
42
+ columnNames: ['menu_id'],
43
43
  referencedColumnNames: ['id'],
44
- referencedTableName: 'screens',
44
+ referencedTableName: 'menus',
45
45
  onDelete: 'CASCADE',
46
- name: 'fk_role_screens_screens',
46
+ name: 'fk_role_menus_menus',
47
47
  }),
48
48
  ]);
49
49
  }
50
50
 
51
51
  async down(queryRunner: QueryRunner) {
52
- await queryRunner.dropTable('role_screens');
52
+ await queryRunner.dropTable('role_menus');
53
53
  }
54
54
  }
@@ -10,19 +10,19 @@ export class Migrate implements MigrationInterface {
10
10
  async up(queryRunner: QueryRunner) {
11
11
  await queryRunner.createTable(
12
12
  new Table({
13
- name: 'role_users',
13
+ name: 'route_screens',
14
14
  columns: [
15
15
  {
16
- name: 'role_id',
16
+ name: 'route_id',
17
17
  type: 'int',
18
- isPrimary: true,
19
18
  unsigned: true,
19
+ isPrimary: true,
20
20
  },
21
21
  {
22
- name: 'user_id',
22
+ name: 'screen_id',
23
23
  type: 'int',
24
- isPrimary: true,
25
24
  unsigned: true,
25
+ isPrimary: true,
26
26
  },
27
27
  timestampColumn(),
28
28
  timestampColumn('updated_at'),
@@ -30,26 +30,25 @@ export class Migrate implements MigrationInterface {
30
30
  }),
31
31
  );
32
32
 
33
- await queryRunner.createForeignKeys('role_users', [
33
+ await queryRunner.createForeignKeys('route_screens', [
34
34
  new TableForeignKey({
35
- columnNames: ['role_id'],
35
+ columnNames: ['route_id'],
36
36
  referencedColumnNames: ['id'],
37
- referencedTableName: 'roles',
37
+ referencedTableName: 'routes',
38
38
  onDelete: 'CASCADE',
39
- name: 'fk_role_users_roles',
39
+ name: 'fk_route_screens_routes',
40
40
  }),
41
-
42
41
  new TableForeignKey({
43
- columnNames: ['user_id'],
42
+ columnNames: ['screen_id'],
44
43
  referencedColumnNames: ['id'],
45
- referencedTableName: 'users',
44
+ referencedTableName: 'screens',
46
45
  onDelete: 'CASCADE',
47
- name: 'fk_role_users_users',
46
+ name: 'fk_route_screens_screens',
48
47
  }),
49
48
  ]);
50
49
  }
51
50
 
52
51
  async down(queryRunner: QueryRunner) {
53
- await queryRunner.dropTable('role_users');
52
+ await queryRunner.dropTable('route_screens');
54
53
  }
55
54
  }
@@ -10,7 +10,7 @@ export class Migrate implements MigrationInterface {
10
10
  async up(queryRunner: QueryRunner) {
11
11
  await queryRunner.createTable(
12
12
  new Table({
13
- name: 'role_routes',
13
+ name: 'role_screens',
14
14
  columns: [
15
15
  {
16
16
  name: 'role_id',
@@ -19,7 +19,7 @@ export class Migrate implements MigrationInterface {
19
19
  unsigned: true,
20
20
  },
21
21
  {
22
- name: 'route_id',
22
+ name: 'screen_id',
23
23
  type: 'int',
24
24
  isPrimary: true,
25
25
  unsigned: true,
@@ -30,25 +30,25 @@ export class Migrate implements MigrationInterface {
30
30
  }),
31
31
  );
32
32
 
33
- await queryRunner.createForeignKeys('role_routes', [
33
+ await queryRunner.createForeignKeys('role_screens', [
34
34
  new TableForeignKey({
35
35
  columnNames: ['role_id'],
36
36
  referencedColumnNames: ['id'],
37
37
  referencedTableName: 'roles',
38
38
  onDelete: 'CASCADE',
39
- name: 'fk_role_routes_roles',
39
+ name: 'fk_role_screens_roles',
40
40
  }),
41
41
  new TableForeignKey({
42
- columnNames: ['route_id'],
42
+ columnNames: ['screen_id'],
43
43
  referencedColumnNames: ['id'],
44
- referencedTableName: 'routes',
44
+ referencedTableName: 'screens',
45
45
  onDelete: 'CASCADE',
46
- name: 'fk_role_routes_routes',
46
+ name: 'fk_role_screens_screens',
47
47
  }),
48
48
  ]);
49
49
  }
50
50
 
51
51
  async down(queryRunner: QueryRunner) {
52
- await queryRunner.dropTable('role_routes');
52
+ await queryRunner.dropTable('role_screens');
53
53
  }
54
54
  }
@@ -1,26 +1,55 @@
1
- import { MigrationInterface, QueryRunner } from 'typeorm';
1
+ import { timestampColumn } from '@hedhog/utils';
2
+ import {
3
+ MigrationInterface,
4
+ QueryRunner,
5
+ Table,
6
+ TableForeignKey,
7
+ } from 'typeorm';
2
8
 
3
9
  export class Migrate implements MigrationInterface {
4
10
  async up(queryRunner: QueryRunner) {
5
- const menus = await queryRunner.manager
6
- .createQueryBuilder()
7
- .select()
8
- .from('menus', 'm')
9
- .execute();
11
+ await queryRunner.createTable(
12
+ new Table({
13
+ name: 'role_users',
14
+ columns: [
15
+ {
16
+ name: 'role_id',
17
+ type: 'int',
18
+ isPrimary: true,
19
+ unsigned: true,
20
+ },
21
+ {
22
+ name: 'user_id',
23
+ type: 'int',
24
+ isPrimary: true,
25
+ unsigned: true,
26
+ },
27
+ timestampColumn(),
28
+ timestampColumn('updated_at'),
29
+ ],
30
+ }),
31
+ );
10
32
 
11
- for (const menu of menus) {
12
- await queryRunner.manager
13
- .createQueryBuilder()
14
- .insert()
15
- .into('role_menus')
16
- .values({
17
- role_id: 1,
18
- menu_id: menu.id,
19
- });
20
- }
33
+ await queryRunner.createForeignKeys('role_users', [
34
+ new TableForeignKey({
35
+ columnNames: ['role_id'],
36
+ referencedColumnNames: ['id'],
37
+ referencedTableName: 'roles',
38
+ onDelete: 'CASCADE',
39
+ name: 'fk_role_users_roles',
40
+ }),
41
+
42
+ new TableForeignKey({
43
+ columnNames: ['user_id'],
44
+ referencedColumnNames: ['id'],
45
+ referencedTableName: 'users',
46
+ onDelete: 'CASCADE',
47
+ name: 'fk_role_users_users',
48
+ }),
49
+ ]);
21
50
  }
22
51
 
23
52
  async down(queryRunner: QueryRunner) {
24
- await queryRunner.manager.delete('role_menus', { role_id: 1 });
53
+ await queryRunner.dropTable('role_users');
25
54
  }
26
55
  }
@@ -1,79 +1,54 @@
1
- import { MigrationInterface, QueryRunner } from 'typeorm';
1
+ import { timestampColumn } from '@hedhog/utils';
2
+ import {
3
+ MigrationInterface,
4
+ QueryRunner,
5
+ Table,
6
+ TableForeignKey,
7
+ } from 'typeorm';
2
8
 
3
9
  export class Migrate implements MigrationInterface {
4
10
  async up(queryRunner: QueryRunner) {
5
- const screenIdScreen = await queryRunner.manager
6
- .createQueryBuilder()
7
- .select()
8
- .from('screens', 's')
9
- .where('slug = :slug', { slug: '/management/screens' })
10
- .execute();
11
-
12
- const screenIdRole = await queryRunner.manager
13
- .createQueryBuilder()
14
- .select()
15
- .from('screens', 's')
16
- .where('slug = :slug', { slug: '/management/roles' })
17
- .execute();
18
-
19
- const screenIdUser = await queryRunner.manager
20
- .createQueryBuilder()
21
- .select()
22
- .from('screens', 's')
23
- .where('slug = :slug', { slug: '/management/users' })
24
- .execute();
25
-
26
- const screenIdMenu = await queryRunner.manager
27
- .createQueryBuilder()
28
- .select()
29
- .from('screens', 's')
30
- .where('slug = :slug', { slug: '/management/menus' })
31
- .execute();
32
-
33
- const screenIdRoute = await queryRunner.manager
34
- .createQueryBuilder()
35
- .select()
36
- .from('screens', 's')
37
- .where('slug = :slug', { slug: '/management/routes' })
38
- .execute();
39
-
40
- const screenIdSetting = await queryRunner.manager
41
- .createQueryBuilder()
42
- .select()
43
- .from('screens', 's')
44
- .where('slug = :slug', { slug: '/management/settings' })
45
- .execute();
46
-
47
- for (const { url, screendId } of [
48
- { url: '/screens%', screendId: screenIdScreen[0].id },
49
- { url: '/roles%', screendId: screenIdRole[0].id },
50
- { url: '/users%', screendId: screenIdUser[0].id },
51
- { url: '/menus%', screendId: screenIdMenu[0].id },
52
- { url: '/routes%', screendId: screenIdRoute[0].id },
53
- { url: '/settings%', screendId: screenIdSetting[0].id },
54
- ]) {
55
- const routesScreens = await queryRunner.manager
56
- .createQueryBuilder()
57
- .select()
58
- .from('routes', 's')
59
- .where('s.url LIKE :url', { url })
60
- .execute();
61
-
62
- for (const route of routesScreens) {
63
- await queryRunner.manager
64
- .createQueryBuilder()
65
- .insert()
66
- .into('route_screens')
67
- .values({
68
- route_id: route.id,
69
- screen_id: screendId,
70
- })
71
- .execute();
72
- }
73
- }
11
+ await queryRunner.createTable(
12
+ new Table({
13
+ name: 'role_routes',
14
+ columns: [
15
+ {
16
+ name: 'role_id',
17
+ type: 'int',
18
+ isPrimary: true,
19
+ unsigned: true,
20
+ },
21
+ {
22
+ name: 'route_id',
23
+ type: 'int',
24
+ isPrimary: true,
25
+ unsigned: true,
26
+ },
27
+ timestampColumn(),
28
+ timestampColumn('updated_at'),
29
+ ],
30
+ }),
31
+ );
32
+
33
+ await queryRunner.createForeignKeys('role_routes', [
34
+ new TableForeignKey({
35
+ columnNames: ['role_id'],
36
+ referencedColumnNames: ['id'],
37
+ referencedTableName: 'roles',
38
+ onDelete: 'CASCADE',
39
+ name: 'fk_role_routes_roles',
40
+ }),
41
+ new TableForeignKey({
42
+ columnNames: ['route_id'],
43
+ referencedColumnNames: ['id'],
44
+ referencedTableName: 'routes',
45
+ onDelete: 'CASCADE',
46
+ name: 'fk_role_routes_routes',
47
+ }),
48
+ ]);
74
49
  }
75
50
 
76
51
  async down(queryRunner: QueryRunner) {
77
- await queryRunner.manager.delete('route_screens', {});
52
+ await queryRunner.dropTable('role_routes');
78
53
  }
79
54
  }
@@ -2,19 +2,25 @@ import { MigrationInterface, QueryRunner } from 'typeorm';
2
2
 
3
3
  export class Migrate implements MigrationInterface {
4
4
  async up(queryRunner: QueryRunner) {
5
- await queryRunner.manager
5
+ const menus = await queryRunner.manager
6
6
  .createQueryBuilder()
7
- .insert()
8
- .into('role_users')
9
- .values([
10
- { role_id: 1, user_id: 1 },
11
- { role_id: 2, user_id: 2 },
12
- ])
7
+ .select()
8
+ .from('menus', 'm')
13
9
  .execute();
10
+
11
+ for (const menu of menus) {
12
+ await queryRunner.manager
13
+ .createQueryBuilder()
14
+ .insert()
15
+ .into('role_menus')
16
+ .values({
17
+ role_id: 1,
18
+ menu_id: menu.id,
19
+ });
20
+ }
14
21
  }
15
22
 
16
23
  async down(queryRunner: QueryRunner) {
17
- await queryRunner.manager.delete('role_users', { role_id: 1 });
18
- await queryRunner.manager.delete('role_users', { role_id: 2 });
24
+ await queryRunner.manager.delete('role_menus', { role_id: 1 });
19
25
  }
20
26
  }
@@ -2,56 +2,78 @@ import { MigrationInterface, QueryRunner } from 'typeorm';
2
2
 
3
3
  export class Migrate implements MigrationInterface {
4
4
  async up(queryRunner: QueryRunner) {
5
- const routes = await queryRunner.manager
5
+ const screenIdScreen = await queryRunner.manager
6
6
  .createQueryBuilder()
7
7
  .select()
8
- .from('routes', 'r')
8
+ .from('screens', 's')
9
+ .where('slug = :slug', { slug: '/management/screens' })
9
10
  .execute();
10
11
 
11
- for (const route of routes) {
12
- await queryRunner.manager
13
- .createQueryBuilder()
14
- .insert()
15
- .into('role_routes')
16
- .values({
17
- role_id: 1,
18
- route_id: route.id,
19
- })
20
- .execute();
21
- }
12
+ const screenIdRole = await queryRunner.manager
13
+ .createQueryBuilder()
14
+ .select()
15
+ .from('screens', 's')
16
+ .where('slug = :slug', { slug: '/management/roles' })
17
+ .execute();
18
+
19
+ const screenIdUser = await queryRunner.manager
20
+ .createQueryBuilder()
21
+ .select()
22
+ .from('screens', 's')
23
+ .where('slug = :slug', { slug: '/management/users' })
24
+ .execute();
25
+
26
+ const screenIdMenu = await queryRunner.manager
27
+ .createQueryBuilder()
28
+ .select()
29
+ .from('screens', 's')
30
+ .where('slug = :slug', { slug: '/management/menus' })
31
+ .execute();
22
32
 
23
- await queryRunner.manager
33
+ const screenIdRoute = await queryRunner.manager
24
34
  .createQueryBuilder()
25
- .insert()
26
- .into('role_routes')
27
- .values({
28
- role_id: 2,
29
- route_id: 3,
30
- })
35
+ .select()
36
+ .from('screens', 's')
37
+ .where('slug = :slug', { slug: '/management/routes' })
31
38
  .execute();
32
39
 
33
- const routesScreens = await queryRunner.manager
40
+ const screenIdSetting = await queryRunner.manager
34
41
  .createQueryBuilder()
35
42
  .select()
36
- .from('routes', 's')
37
- .where('s.url LIKE :url', { url: '/screens%' })
43
+ .from('screens', 's')
44
+ .where('slug = :slug', { slug: '/management/settings' })
38
45
  .execute();
39
46
 
40
- for (const route of routesScreens) {
41
- await queryRunner.manager
47
+ for (const { url, screendId } of [
48
+ { url: '/screens%', screendId: screenIdScreen[0].id },
49
+ { url: '/roles%', screendId: screenIdRole[0].id },
50
+ { url: '/users%', screendId: screenIdUser[0].id },
51
+ { url: '/menus%', screendId: screenIdMenu[0].id },
52
+ { url: '/routes%', screendId: screenIdRoute[0].id },
53
+ { url: '/settings%', screendId: screenIdSetting[0].id },
54
+ ]) {
55
+ const routesScreens = await queryRunner.manager
42
56
  .createQueryBuilder()
43
- .insert()
44
- .into('role_routes')
45
- .values({
46
- role_id: 2,
47
- route_id: route.id,
48
- })
57
+ .select()
58
+ .from('routes', 's')
59
+ .where('s.url LIKE :url', { url })
49
60
  .execute();
61
+
62
+ for (const route of routesScreens) {
63
+ await queryRunner.manager
64
+ .createQueryBuilder()
65
+ .insert()
66
+ .into('route_screens')
67
+ .values({
68
+ route_id: route.id,
69
+ screen_id: screendId,
70
+ })
71
+ .execute();
72
+ }
50
73
  }
51
74
  }
52
75
 
53
76
  async down(queryRunner: QueryRunner) {
54
- await queryRunner.manager.delete('role_routes', { role_id: 1 });
55
- await queryRunner.manager.delete('role_routes', { role_id: 2 });
77
+ await queryRunner.manager.delete('route_screens', {});
56
78
  }
57
79
  }