@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.
- 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/entities/index.d.ts +1 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/migration/{1684483706000-createUserAuthorizedDeviceSecurityViewV2.d.ts → 1684483705000-updateSecurityUserViews.d.ts} +1 -1
- package/dist/migration/1684483705000-updateSecurityUserViews.js +140 -0
- package/dist/migration/_virtual/_virtual_multi-entry.js +2 -4
- package/package.json +1 -1
- package/dist/entities/userAuthorizedBoundarySecurityViewV2.d.ts +0 -5
- package/dist/entities/userAuthorizedDeviceSecurityViewV2.d.ts +0 -5
- package/dist/migration/1684483705000-createUserAuthorizedBoundarySecurityViewV2.d.ts +0 -5
- package/dist/migration/1684483705000-createUserAuthorizedBoundarySecurityViewV2.js +0 -75
- package/dist/migration/1684483706000-createUserAuthorizedDeviceSecurityViewV2.js +0 -72
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
-
export declare class
|
|
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
|
|
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.
|
|
11
|
-
exports.createUserAuthorizedBoundarySecurityViewV21684483705000 = _1684483705000CreateUserAuthorizedBoundarySecurityViewV2.createUserAuthorizedBoundarySecurityViewV21684483705000;
|
|
9
|
+
exports.updateSecurityUserViews1684483705000 = _1684483705000UpdateSecurityUserViews.updateSecurityUserViews1684483705000;
|
package/package.json
CHANGED
|
@@ -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;
|