@spytecgps/nova-orm 1.4.81 → 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.
- package/dist/entities/customReportColumn.d.ts +1 -0
- package/dist/entities/customReportColumnCategory.d.ts +1 -0
- package/dist/entities/customReportDataSource.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/migration/1684483705000-updateSecurityUserViews.js +27 -24
- package/package.json +1 -1
|
@@ -3,44 +3,46 @@
|
|
|
3
3
|
class updateSecurityUserViews1684483705000 {
|
|
4
4
|
async up(queryRunner) {
|
|
5
5
|
await queryRunner.query(`
|
|
6
|
-
CREATE OR REPLACE VIEW \`
|
|
6
|
+
CREATE OR REPLACE VIEW \`user_authorized_device_security_view_v2\` AS
|
|
7
7
|
(
|
|
8
8
|
SELECT
|
|
9
9
|
d.clientId AS clientId,
|
|
10
10
|
d.imei AS imei,
|
|
11
11
|
usr.userId AS userId
|
|
12
|
-
FROM userSecurityRole usr
|
|
12
|
+
FROM userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
|
|
13
13
|
JOIN device d
|
|
14
14
|
ON d.clientId = usr.clientId
|
|
15
15
|
WHERE usr.access = 'full'
|
|
16
16
|
AND NOT EXISTS (
|
|
17
17
|
SELECT 1
|
|
18
|
-
FROM entityTag ut
|
|
19
|
-
WHERE ut.
|
|
18
|
+
FROM entityTag ut USE INDEX (ixEntityTagClientIdUserIdEntityTypeIsSecurityGroupTagId)
|
|
19
|
+
WHERE ut.clientId = usr.clientId
|
|
20
|
+
AND ut.userId = usr.userId
|
|
20
21
|
AND ut.entityType = 'User'
|
|
21
22
|
AND ut.isSecurityGroup = 1
|
|
22
23
|
)
|
|
23
24
|
)
|
|
24
|
-
UNION
|
|
25
|
+
UNION ALL
|
|
25
26
|
(
|
|
26
27
|
SELECT
|
|
27
28
|
d.clientId AS clientId,
|
|
28
29
|
d.imei AS imei,
|
|
29
30
|
usr.userId AS userId
|
|
30
|
-
FROM entityTag ut
|
|
31
|
-
JOIN entityTag rt
|
|
31
|
+
FROM entityTag ut
|
|
32
|
+
JOIN entityTag rt USE INDEX (ixEntityTagImeiIsSecurityGroupTagId)
|
|
32
33
|
ON rt.tagId = ut.tagId
|
|
33
34
|
AND rt.entityType = 'Device'
|
|
34
35
|
AND rt.isSecurityGroup = 1
|
|
35
|
-
JOIN device d
|
|
36
|
+
JOIN device d USE INDEX (ixDeviceImei)
|
|
36
37
|
ON d.imei = rt.imei
|
|
37
|
-
JOIN userSecurityRole usr
|
|
38
|
-
ON usr.
|
|
39
|
-
AND usr.
|
|
38
|
+
JOIN userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
|
|
39
|
+
ON usr.clientId = d.clientId
|
|
40
|
+
AND usr.userId = ut.userId
|
|
40
41
|
WHERE ut.entityType = 'User'
|
|
41
42
|
AND ut.isSecurityGroup = 1
|
|
42
43
|
)
|
|
43
|
-
UNION
|
|
44
|
+
UNION ALL
|
|
45
|
+
(
|
|
44
46
|
SELECT
|
|
45
47
|
uad.clientId AS clientId,
|
|
46
48
|
uad.imei AS imei,
|
|
@@ -48,14 +50,14 @@ class updateSecurityUserViews1684483705000 {
|
|
|
48
50
|
FROM userAuthorizedDevice uad
|
|
49
51
|
WHERE NOT EXISTS (
|
|
50
52
|
SELECT 1
|
|
51
|
-
FROM userSecurityRole usr
|
|
53
|
+
FROM userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
|
|
52
54
|
WHERE usr.clientId = uad.clientId
|
|
53
55
|
AND usr.userId = uad.userId
|
|
54
56
|
AND usr.access = 'full'
|
|
55
57
|
)
|
|
56
58
|
AND NOT EXISTS (
|
|
57
59
|
SELECT 1
|
|
58
|
-
FROM entityTag ut
|
|
60
|
+
FROM entityTag ut USE INDEX (ixEntityTagClientIdUserIdEntityTypeIsSecurityGroupTagId)
|
|
59
61
|
WHERE ut.clientId = uad.clientId
|
|
60
62
|
AND ut.userId = uad.userId
|
|
61
63
|
AND ut.entityType = 'User'
|
|
@@ -64,44 +66,45 @@ class updateSecurityUserViews1684483705000 {
|
|
|
64
66
|
);
|
|
65
67
|
`);
|
|
66
68
|
await queryRunner.query(`
|
|
67
|
-
CREATE OR REPLACE VIEW \`
|
|
69
|
+
CREATE OR REPLACE VIEW \`user_authorized_boundary_security_view_v2\` AS
|
|
68
70
|
(
|
|
69
71
|
SELECT
|
|
70
72
|
b.clientId AS clientId,
|
|
71
73
|
usr.userId AS userId,
|
|
72
74
|
b.id AS boundaryId
|
|
73
|
-
FROM userSecurityRole usr
|
|
75
|
+
FROM userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
|
|
74
76
|
JOIN boundary b
|
|
75
77
|
ON b.clientId = usr.clientId
|
|
76
78
|
WHERE usr.boundariesAccess = 'full'
|
|
77
79
|
AND NOT EXISTS (
|
|
78
80
|
SELECT 1
|
|
79
|
-
FROM entityTag ut
|
|
80
|
-
WHERE ut.
|
|
81
|
+
FROM entityTag ut USE INDEX (ixEntityTagClientIdUserIdEntityTypeIsSecurityGroupTagId)
|
|
82
|
+
WHERE ut.clientId = usr.clientId
|
|
83
|
+
AND ut.userId = usr.userId
|
|
81
84
|
AND ut.entityType = 'User'
|
|
82
85
|
AND ut.isSecurityGroup = 1
|
|
83
86
|
)
|
|
84
87
|
)
|
|
85
|
-
UNION
|
|
88
|
+
UNION ALL
|
|
86
89
|
(
|
|
87
90
|
SELECT
|
|
88
91
|
b.clientId AS clientId,
|
|
89
92
|
usr.userId AS userId,
|
|
90
93
|
b.id AS boundaryId
|
|
91
94
|
FROM entityTag ut
|
|
92
|
-
JOIN entityTag rt
|
|
95
|
+
JOIN entityTag rt USE INDEX (ixEntityTagImeiIsSecurityGroupTagId)
|
|
93
96
|
ON rt.tagId = ut.tagId
|
|
94
97
|
AND rt.entityType = 'Boundary'
|
|
95
98
|
AND rt.isSecurityGroup = 1
|
|
96
99
|
JOIN boundary b
|
|
97
100
|
ON b.id = rt.entityId
|
|
98
|
-
JOIN userSecurityRole usr
|
|
101
|
+
JOIN userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
|
|
99
102
|
ON usr.userId = ut.userId
|
|
100
103
|
AND usr.clientId = b.clientId
|
|
101
104
|
WHERE ut.entityType = 'User'
|
|
102
105
|
AND ut.isSecurityGroup = 1
|
|
103
106
|
)
|
|
104
|
-
UNION
|
|
107
|
+
UNION ALL
|
|
105
108
|
(
|
|
106
109
|
SELECT
|
|
107
110
|
uab.clientId AS clientId,
|
|
@@ -110,14 +113,14 @@ class updateSecurityUserViews1684483705000 {
|
|
|
110
113
|
FROM userAuthorizedBoundary uab
|
|
111
114
|
WHERE NOT EXISTS (
|
|
112
115
|
SELECT 1
|
|
113
|
-
FROM userSecurityRole usr
|
|
116
|
+
FROM userSecurityRole usr USE INDEX (ixUserSecurityRoleClientIdAccessUserId)
|
|
114
117
|
WHERE usr.clientId = uab.clientId
|
|
115
118
|
AND usr.userId = uab.userId
|
|
116
119
|
AND usr.boundariesAccess = 'full'
|
|
117
120
|
)
|
|
118
121
|
AND NOT EXISTS (
|
|
119
122
|
SELECT 1
|
|
120
|
-
FROM entityTag ut
|
|
123
|
+
FROM entityTag ut USE INDEX (ixEntityTagClientIdUserIdEntityTypeIsSecurityGroupTagId)
|
|
121
124
|
WHERE ut.clientId = uab.clientId
|
|
122
125
|
AND ut.userId = uab.userId
|
|
123
126
|
AND ut.entityType = 'User'
|