@spytecgps/nova-orm 1.4.80 → 1.4.82

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.
@@ -1,5 +1,5 @@
1
1
  import { MigrationInterface, QueryRunner } from 'typeorm';
2
- export declare class createUserAuthorizedDeviceSecurityViewV21684483706000 implements MigrationInterface {
2
+ export declare class updateSecurityUserViews1684483705000 implements MigrationInterface {
3
3
  up(queryRunner: QueryRunner): Promise<void>;
4
4
  down(queryRunner: QueryRunner): Promise<void>;
5
5
  }
@@ -0,0 +1,140 @@
1
+ 'use strict';
2
+
3
+ class updateSecurityUserViews1684483705000 {
4
+ async up(queryRunner) {
5
+ await queryRunner.query(`
6
+ CREATE OR REPLACE VIEW \`user_authorized_device_security_view_v2\` AS
7
+ (
8
+ SELECT
9
+ d.clientId AS clientId,
10
+ d.imei AS imei,
11
+ usr.userId AS userId
12
+ FROM userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
13
+ JOIN device d
14
+ ON d.clientId = usr.clientId
15
+ WHERE usr.access = 'full'
16
+ AND NOT EXISTS (
17
+ SELECT 1
18
+ FROM entityTag ut USE INDEX (ixEntityTagClientIdUserIdEntityTypeIsSecurityGroupTagId)
19
+ WHERE ut.clientId = usr.clientId
20
+ AND ut.userId = usr.userId
21
+ AND ut.entityType = 'User'
22
+ AND ut.isSecurityGroup = 1
23
+ )
24
+ )
25
+ UNION ALL
26
+ (
27
+ SELECT
28
+ d.clientId AS clientId,
29
+ d.imei AS imei,
30
+ usr.userId AS userId
31
+ FROM entityTag ut
32
+ JOIN entityTag rt USE INDEX (ixEntityTagImeiIsSecurityGroupTagId)
33
+ ON rt.tagId = ut.tagId
34
+ AND rt.entityType = 'Device'
35
+ AND rt.isSecurityGroup = 1
36
+ JOIN device d USE INDEX (ixDeviceImei)
37
+ ON d.imei = rt.imei
38
+ JOIN userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
39
+ ON usr.clientId = d.clientId
40
+ AND usr.userId = ut.userId
41
+ WHERE ut.entityType = 'User'
42
+ AND ut.isSecurityGroup = 1
43
+ )
44
+ UNION ALL
45
+ (
46
+ SELECT
47
+ uad.clientId AS clientId,
48
+ uad.imei AS imei,
49
+ uad.userId AS userId
50
+ FROM userAuthorizedDevice uad
51
+ WHERE NOT EXISTS (
52
+ SELECT 1
53
+ FROM userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
54
+ WHERE usr.clientId = uad.clientId
55
+ AND usr.userId = uad.userId
56
+ AND usr.access = 'full'
57
+ )
58
+ AND NOT EXISTS (
59
+ SELECT 1
60
+ FROM entityTag ut USE INDEX (ixEntityTagClientIdUserIdEntityTypeIsSecurityGroupTagId)
61
+ WHERE ut.clientId = uad.clientId
62
+ AND ut.userId = uad.userId
63
+ AND ut.entityType = 'User'
64
+ AND ut.isSecurityGroup = 1
65
+ )
66
+ );
67
+ `);
68
+ await queryRunner.query(`
69
+ CREATE OR REPLACE VIEW \`user_authorized_boundary_security_view_v2\` AS
70
+ (
71
+ SELECT
72
+ b.clientId AS clientId,
73
+ usr.userId AS userId,
74
+ b.id AS boundaryId
75
+ FROM userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
76
+ JOIN boundary b
77
+ ON b.clientId = usr.clientId
78
+ WHERE usr.boundariesAccess = 'full'
79
+ AND NOT EXISTS (
80
+ SELECT 1
81
+ FROM entityTag ut USE INDEX (ixEntityTagClientIdUserIdEntityTypeIsSecurityGroupTagId)
82
+ WHERE ut.clientId = usr.clientId
83
+ AND ut.userId = usr.userId
84
+ AND ut.entityType = 'User'
85
+ AND ut.isSecurityGroup = 1
86
+ )
87
+ )
88
+ UNION ALL
89
+ (
90
+ SELECT
91
+ b.clientId AS clientId,
92
+ usr.userId AS userId,
93
+ b.id AS boundaryId
94
+ FROM entityTag ut
95
+ JOIN entityTag rt USE INDEX (ixEntityTagImeiIsSecurityGroupTagId)
96
+ ON rt.tagId = ut.tagId
97
+ AND rt.entityType = 'Boundary'
98
+ AND rt.isSecurityGroup = 1
99
+ JOIN boundary b
100
+ ON b.id = rt.entityId
101
+ JOIN userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
102
+ ON usr.userId = ut.userId
103
+ AND usr.clientId = b.clientId
104
+ WHERE ut.entityType = 'User'
105
+ AND ut.isSecurityGroup = 1
106
+ )
107
+ UNION ALL
108
+ (
109
+ SELECT
110
+ uab.clientId AS clientId,
111
+ uab.userId AS userId,
112
+ uab.boundaryId AS boundaryId
113
+ FROM userAuthorizedBoundary uab
114
+ WHERE NOT EXISTS (
115
+ SELECT 1
116
+ FROM userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
117
+ WHERE usr.clientId = uab.clientId
118
+ AND usr.userId = uab.userId
119
+ AND usr.boundariesAccess = 'full'
120
+ )
121
+ AND NOT EXISTS (
122
+ SELECT 1
123
+ FROM entityTag ut USE INDEX (ixEntityTagClientIdUserIdEntityTypeIsSecurityGroupTagId)
124
+ WHERE ut.clientId = uab.clientId
125
+ AND ut.userId = uab.userId
126
+ AND ut.entityType = 'User'
127
+ AND ut.isSecurityGroup = 1
128
+ )
129
+ );
130
+ `);
131
+ }
132
+ async down(queryRunner) {
133
+ await queryRunner.query(`DROP VIEW IF EXISTS \`user_authorized_device_security_view\`;`);
134
+ await queryRunner.query(`
135
+ DROP VIEW IF EXISTS \`user_authorized_boundary_security_view\`;
136
+ `);
137
+ }
138
+ }
139
+
140
+ exports.updateSecurityUserViews1684483705000 = updateSecurityUserViews1684483705000;
@@ -1,11 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var _1684483704434AddLowerCaseIndex = require('../1684483704434-addLowerCaseIndex.js');
4
- var _1684483706000CreateUserAuthorizedDeviceSecurityViewV2 = require('../1684483706000-createUserAuthorizedDeviceSecurityViewV2.js');
5
- var _1684483705000CreateUserAuthorizedBoundarySecurityViewV2 = require('../1684483705000-createUserAuthorizedBoundarySecurityViewV2.js');
4
+ var _1684483705000UpdateSecurityUserViews = require('../1684483705000-updateSecurityUserViews.js');
6
5
 
7
6
 
8
7
 
9
8
  exports.addLowerCaseIndex1684483704434 = _1684483704434AddLowerCaseIndex.addLowerCaseIndex1684483704434;
10
- exports.createUserAuthorizedDeviceSecurityViewV21684483706000 = _1684483706000CreateUserAuthorizedDeviceSecurityViewV2.createUserAuthorizedDeviceSecurityViewV21684483706000;
11
- exports.createUserAuthorizedBoundarySecurityViewV21684483705000 = _1684483705000CreateUserAuthorizedBoundarySecurityViewV2.createUserAuthorizedBoundarySecurityViewV21684483705000;
9
+ exports.updateSecurityUserViews1684483705000 = _1684483705000UpdateSecurityUserViews.updateSecurityUserViews1684483705000;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spytecgps/nova-orm",
3
- "version": "1.4.80",
3
+ "version": "1.4.82",
4
4
  "description": "ORM with PlanetScale",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,5 +0,0 @@
1
- export declare class UserAuthorizedBoundarySecurityViewV2 {
2
- clientId: number;
3
- userId: string;
4
- boundaryId: number;
5
- }
@@ -1,5 +0,0 @@
1
- export declare class UserAuthorizedDeviceSecurityViewV2 {
2
- clientId: number;
3
- imei: string;
4
- userId: string;
5
- }
@@ -1,5 +0,0 @@
1
- import { MigrationInterface, QueryRunner } from 'typeorm';
2
- export declare class createUserAuthorizedBoundarySecurityViewV21684483705000 implements MigrationInterface {
3
- up(queryRunner: QueryRunner): Promise<void>;
4
- down(queryRunner: QueryRunner): Promise<void>;
5
- }
@@ -1,75 +0,0 @@
1
- 'use strict';
2
-
3
- class createUserAuthorizedBoundarySecurityViewV21684483705000 {
4
- async up(queryRunner) {
5
- await queryRunner.query(`
6
- CREATE OR REPLACE VIEW \`user_authorized_boundary_security_view_v2\` AS
7
- (
8
- SELECT
9
- b.clientId AS clientId,
10
- usr.userId AS userId,
11
- b.id AS boundaryId
12
- FROM userSecurityRole usr
13
- JOIN boundary b
14
- ON b.clientId = usr.clientId
15
- WHERE usr.boundariesAccess = 'full'
16
- AND NOT EXISTS (
17
- SELECT 1
18
- FROM entityTag ut
19
- WHERE ut.userId = usr.userId
20
- AND ut.entityType = 'User'
21
- AND ut.isSecurityGroup = 1
22
- )
23
- )
24
- UNION
25
- (
26
- SELECT
27
- b.clientId AS clientId,
28
- usr.userId AS userId,
29
- b.id AS boundaryId
30
- FROM entityTag ut
31
- JOIN entityTag rt
32
- ON rt.tagId = ut.tagId
33
- AND rt.entityType = 'Boundary'
34
- AND rt.isSecurityGroup = 1
35
- JOIN boundary b
36
- ON b.id = rt.entityId
37
- JOIN userSecurityRole usr
38
- ON usr.userId = ut.userId
39
- AND usr.clientId = b.clientId
40
- WHERE ut.entityType = 'User'
41
- AND ut.isSecurityGroup = 1
42
- )
43
- UNION
44
- (
45
- SELECT
46
- uab.clientId AS clientId,
47
- uab.userId AS userId,
48
- uab.boundaryId AS boundaryId
49
- FROM userAuthorizedBoundary uab
50
- WHERE NOT EXISTS (
51
- SELECT 1
52
- FROM userSecurityRole usr
53
- WHERE usr.clientId = uab.clientId
54
- AND usr.userId = uab.userId
55
- AND usr.boundariesAccess = 'full'
56
- )
57
- AND NOT EXISTS (
58
- SELECT 1
59
- FROM entityTag ut
60
- WHERE ut.clientId = uab.clientId
61
- AND ut.userId = uab.userId
62
- AND ut.entityType = 'User'
63
- AND ut.isSecurityGroup = 1
64
- )
65
- );
66
- `);
67
- }
68
- async down(queryRunner) {
69
- await queryRunner.query(`
70
- DROP VIEW IF EXISTS \`user_authorized_boundary_security_view_v2\`;
71
- `);
72
- }
73
- }
74
-
75
- exports.createUserAuthorizedBoundarySecurityViewV21684483705000 = createUserAuthorizedBoundarySecurityViewV21684483705000;
@@ -1,72 +0,0 @@
1
- 'use strict';
2
-
3
- class createUserAuthorizedDeviceSecurityViewV21684483706000 {
4
- async up(queryRunner) {
5
- await queryRunner.query(`
6
- CREATE OR REPLACE VIEW \`user_authorized_device_security_view_v2\` AS
7
- (
8
- SELECT
9
- d.clientId AS clientId,
10
- d.imei AS imei,
11
- usr.userId AS userId
12
- FROM userSecurityRole usr
13
- JOIN device d
14
- ON d.clientId = usr.clientId
15
- WHERE usr.access = 'full'
16
- AND NOT EXISTS (
17
- SELECT 1
18
- FROM entityTag ut
19
- WHERE ut.userId = usr.userId
20
- AND ut.entityType = 'User'
21
- AND ut.isSecurityGroup = 1
22
- )
23
- )
24
- UNION
25
- (
26
- SELECT
27
- d.clientId AS clientId,
28
- d.imei AS imei,
29
- usr.userId AS userId
30
- FROM entityTag ut
31
- JOIN entityTag rt
32
- ON rt.tagId = ut.tagId
33
- AND rt.entityType = 'Device'
34
- AND rt.isSecurityGroup = 1
35
- JOIN device d
36
- ON d.imei = rt.imei
37
- JOIN userSecurityRole usr
38
- ON usr.userId = ut.userId
39
- AND usr.clientId = d.clientId
40
- WHERE ut.entityType = 'User'
41
- AND ut.isSecurityGroup = 1
42
- )
43
- UNION (
44
- SELECT
45
- uad.clientId AS clientId,
46
- uad.imei AS imei,
47
- uad.userId AS userId
48
- FROM userAuthorizedDevice uad
49
- WHERE NOT EXISTS (
50
- SELECT 1
51
- FROM userSecurityRole usr
52
- WHERE usr.clientId = uad.clientId
53
- AND usr.userId = uad.userId
54
- AND usr.access = 'full'
55
- )
56
- AND NOT EXISTS (
57
- SELECT 1
58
- FROM entityTag ut
59
- WHERE ut.clientId = uad.clientId
60
- AND ut.userId = uad.userId
61
- AND ut.entityType = 'User'
62
- AND ut.isSecurityGroup = 1
63
- )
64
- );
65
- `);
66
- }
67
- async down(queryRunner) {
68
- await queryRunner.query(`DROP VIEW IF EXISTS \`user_authorized_device_security_view_v2\`;`);
69
- }
70
- }
71
-
72
- exports.createUserAuthorizedDeviceSecurityViewV21684483706000 = createUserAuthorizedDeviceSecurityViewV21684483706000;