@things-factory/operato-board 5.0.8 → 5.0.11
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/config.development.js +45 -12
- package/config.production.js +56 -3
- package/db.backup.sqlite +0 -0
- package/dist-server/migrations/1610516350460-SeedRole.js +6 -6
- package/dist-server/migrations/1610516350460-SeedRole.js.map +1 -1
- package/dist-server/routes.js +0 -1
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/board-secret/board-resolver.js +0 -1
- package/dist-server/service/board-secret/board-resolver.js.map +1 -1
- package/dist-server/service/domain-secret/domain-resolver.js +0 -2
- package/dist-server/service/domain-secret/domain-resolver.js.map +1 -1
- package/dist-server/subscribers/domain-subscriber.js +1 -1
- package/dist-server/subscribers/domain-subscriber.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +26 -26
- package/server/migrations/1610516350460-SeedRole.ts +23 -21
- package/server/routes.ts +0 -2
- package/server/service/board-secret/board-resolver.ts +0 -2
- package/server/service/domain-secret/domain-resolver.ts +5 -8
- package/server/subscribers/domain-subscriber.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/operato-board",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.11",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -78,38 +78,38 @@
|
|
|
78
78
|
"@operato/shell": "^1.0.1",
|
|
79
79
|
"@operato/styles": "^1.0.0",
|
|
80
80
|
"@operato/utils": "^1.0.1",
|
|
81
|
-
"@things-factory/apptool-ui": "^5.0.
|
|
82
|
-
"@things-factory/auth-ui": "^5.0.
|
|
83
|
-
"@things-factory/board-service": "^5.0.
|
|
84
|
-
"@things-factory/board-ui": "^5.0.
|
|
85
|
-
"@things-factory/context-ui": "^5.0.
|
|
86
|
-
"@things-factory/export-ui": "^5.0.
|
|
87
|
-
"@things-factory/fav-base": "^5.0.
|
|
88
|
-
"@things-factory/font-base": "^5.0.
|
|
81
|
+
"@things-factory/apptool-ui": "^5.0.11",
|
|
82
|
+
"@things-factory/auth-ui": "^5.0.11",
|
|
83
|
+
"@things-factory/board-service": "^5.0.11",
|
|
84
|
+
"@things-factory/board-ui": "^5.0.11",
|
|
85
|
+
"@things-factory/context-ui": "^5.0.11",
|
|
86
|
+
"@things-factory/export-ui": "^5.0.11",
|
|
87
|
+
"@things-factory/fav-base": "^5.0.11",
|
|
88
|
+
"@things-factory/font-base": "^5.0.11",
|
|
89
89
|
"@things-factory/form-ui": "^5.0.1",
|
|
90
|
-
"@things-factory/help": "^5.0.
|
|
91
|
-
"@things-factory/i18n-base": "^5.0.
|
|
92
|
-
"@things-factory/import-ui": "^5.0.
|
|
93
|
-
"@things-factory/integration-notification": "^5.0.
|
|
94
|
-
"@things-factory/integration-ui": "^5.0.
|
|
90
|
+
"@things-factory/help": "^5.0.11",
|
|
91
|
+
"@things-factory/i18n-base": "^5.0.11",
|
|
92
|
+
"@things-factory/import-ui": "^5.0.11",
|
|
93
|
+
"@things-factory/integration-notification": "^5.0.11",
|
|
94
|
+
"@things-factory/integration-ui": "^5.0.11",
|
|
95
95
|
"@things-factory/layout-ui": "^5.0.1",
|
|
96
|
-
"@things-factory/more-ui": "^5.0.
|
|
97
|
-
"@things-factory/notification": "^5.0.
|
|
98
|
-
"@things-factory/oauth2-client": "^5.0.
|
|
99
|
-
"@things-factory/offline-ui": "^5.0.
|
|
96
|
+
"@things-factory/more-ui": "^5.0.11",
|
|
97
|
+
"@things-factory/notification": "^5.0.11",
|
|
98
|
+
"@things-factory/oauth2-client": "^5.0.11",
|
|
99
|
+
"@things-factory/offline-ui": "^5.0.11",
|
|
100
100
|
"@things-factory/operato-license-checker": "^3.1.0",
|
|
101
|
-
"@things-factory/pdf": "^5.0.
|
|
102
|
-
"@things-factory/print-service": "^5.0.
|
|
103
|
-
"@things-factory/print-ui": "^5.0.
|
|
104
|
-
"@things-factory/resource-ui": "^5.0.
|
|
101
|
+
"@things-factory/pdf": "^5.0.11",
|
|
102
|
+
"@things-factory/print-service": "^5.0.11",
|
|
103
|
+
"@things-factory/print-ui": "^5.0.11",
|
|
104
|
+
"@things-factory/resource-ui": "^5.0.11",
|
|
105
105
|
"@things-factory/scene-google-map": "^5.0.0",
|
|
106
106
|
"@things-factory/scene-visualizer": "^5.0.0",
|
|
107
|
-
"@things-factory/setting-ui": "^5.0.
|
|
108
|
-
"@things-factory/system-ui": "^5.0.
|
|
107
|
+
"@things-factory/setting-ui": "^5.0.11",
|
|
108
|
+
"@things-factory/system-ui": "^5.0.11"
|
|
109
109
|
},
|
|
110
110
|
"devDependencies": {
|
|
111
|
-
"@things-factory/board-test": "^5.0.
|
|
111
|
+
"@things-factory/board-test": "^5.0.11",
|
|
112
112
|
"@things-factory/builder": "^5.0.8"
|
|
113
113
|
},
|
|
114
|
-
"gitHead": "
|
|
114
|
+
"gitHead": "37cd4feb62e062899cae7029588d86a5d4b4036a"
|
|
115
115
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { MigrationInterface, QueryRunner
|
|
1
|
+
import { getRepository, MigrationInterface, QueryRunner } from 'typeorm'
|
|
2
|
+
|
|
3
|
+
import { Privilege, Role, User } from '@things-factory/auth-base'
|
|
2
4
|
import { Domain } from '@things-factory/shell'
|
|
3
|
-
|
|
5
|
+
|
|
4
6
|
const PRIVILEGES_SEED = {
|
|
5
|
-
|
|
7
|
+
modeller: [
|
|
6
8
|
{
|
|
7
9
|
name: 'mutation',
|
|
8
10
|
category: 'setting'
|
|
@@ -104,7 +106,7 @@ const PRIVILEGES_SEED = {
|
|
|
104
106
|
category: 'step'
|
|
105
107
|
}
|
|
106
108
|
],
|
|
107
|
-
|
|
109
|
+
system: [
|
|
108
110
|
{
|
|
109
111
|
name: 'mutation',
|
|
110
112
|
category: 'system'
|
|
@@ -114,7 +116,7 @@ const PRIVILEGES_SEED = {
|
|
|
114
116
|
category: 'system'
|
|
115
117
|
}
|
|
116
118
|
],
|
|
117
|
-
|
|
119
|
+
viewer: [
|
|
118
120
|
{
|
|
119
121
|
name: 'query',
|
|
120
122
|
category: 'board'
|
|
@@ -144,51 +146,51 @@ const SEED = [
|
|
|
144
146
|
export class SeedRole1610516350460 implements MigrationInterface {
|
|
145
147
|
public async up(queryRunner: QueryRunner): Promise<any> {
|
|
146
148
|
const repository = getRepository(Role)
|
|
147
|
-
const userRepository= getRepository(User)
|
|
149
|
+
const userRepository = getRepository(User)
|
|
148
150
|
|
|
149
|
-
let users:
|
|
151
|
+
let users: User[] = await userRepository.find({ where: { userType: 'admin' }, relations: ['domains'] })
|
|
150
152
|
let domain: Domain = await getRepository(Domain).findOne({
|
|
151
153
|
name: 'SYSTEM'
|
|
152
154
|
})
|
|
153
|
-
|
|
155
|
+
|
|
154
156
|
var privilegeSeeds = []
|
|
155
157
|
Promise.all(
|
|
156
158
|
SEED.map(async role => {
|
|
157
|
-
var privileges= await this.getPrivileges(privilegeSeeds,role.name)
|
|
159
|
+
var privileges = await this.getPrivileges(privilegeSeeds, role.name)
|
|
158
160
|
await repository.save({
|
|
159
161
|
...role,
|
|
160
|
-
|
|
162
|
+
privileges: privileges,
|
|
161
163
|
users,
|
|
162
164
|
domain
|
|
163
165
|
})
|
|
164
166
|
})
|
|
165
167
|
)
|
|
166
|
-
await this.saveSystemRole(repository,users,domain)
|
|
168
|
+
await this.saveSystemRole(repository, users, domain)
|
|
167
169
|
}
|
|
168
170
|
|
|
169
|
-
public async saveSystemRole(repository,users,domain){
|
|
170
|
-
const privilegeRepository= getRepository(Privilege)
|
|
171
|
-
var role =
|
|
171
|
+
public async saveSystemRole(repository, users, domain) {
|
|
172
|
+
const privilegeRepository = getRepository(Privilege)
|
|
173
|
+
var role = {
|
|
172
174
|
name: 'system',
|
|
173
175
|
description: 'System Admin'
|
|
174
176
|
}
|
|
175
|
-
var privileges = await privilegeRepository.find()
|
|
177
|
+
var privileges = await privilegeRepository.find()
|
|
176
178
|
await repository.save({
|
|
177
179
|
...role,
|
|
178
|
-
|
|
180
|
+
privileges: privileges,
|
|
179
181
|
users,
|
|
180
182
|
domain
|
|
181
183
|
})
|
|
182
184
|
}
|
|
183
185
|
|
|
184
|
-
public async getPrivileges(privilegeSeeds,roleName){
|
|
185
|
-
const privilegeRepository= getRepository(Privilege)
|
|
186
|
+
public async getPrivileges(privilegeSeeds, roleName) {
|
|
187
|
+
const privilegeRepository = getRepository(Privilege)
|
|
186
188
|
privilegeSeeds = PRIVILEGES_SEED[roleName]
|
|
187
189
|
var privileges = []
|
|
188
190
|
await Promise.all(
|
|
189
191
|
privilegeSeeds.map(async privilege => {
|
|
190
|
-
var value = await privilegeRepository.findOne({ where: { name: privilege.name, category: privilege.category }})
|
|
191
|
-
if(value){
|
|
192
|
+
var value = await privilegeRepository.findOne({ where: { name: privilege.name, category: privilege.category } })
|
|
193
|
+
if (value) {
|
|
192
194
|
privileges.push(value)
|
|
193
195
|
}
|
|
194
196
|
})
|
|
@@ -208,7 +210,7 @@ export class SeedRole1610516350460 implements MigrationInterface {
|
|
|
208
210
|
await repository.delete({ name: role.name, domain })
|
|
209
211
|
})
|
|
210
212
|
)
|
|
211
|
-
|
|
213
|
+
|
|
212
214
|
await repository.delete({ name: 'system', domain })
|
|
213
215
|
}
|
|
214
216
|
}
|
package/server/routes.ts
CHANGED
|
@@ -10,8 +10,6 @@ import { BoardSecret } from './board-secret'
|
|
|
10
10
|
|
|
11
11
|
const crypto = require('crypto')
|
|
12
12
|
|
|
13
|
-
const debug = require('debug')('things-factory:operato-board:board-resolver')
|
|
14
|
-
|
|
15
13
|
@Resolver(Board)
|
|
16
14
|
export class BoardResolver {
|
|
17
15
|
@Query(returns => [String], { description: 'Board Usage Permissions' })
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Arg, Directive, Mutation, Resolver } from 'type-graphql'
|
|
2
|
+
import { getRepository, Repository } from 'typeorm'
|
|
3
|
+
|
|
3
4
|
import { Domain, DomainPatch } from '@things-factory/shell'
|
|
4
5
|
import { slugger } from '@things-factory/utils'
|
|
5
6
|
|
|
6
|
-
const debug = require('debug')('things-factory:operato-board:domain-resolver')
|
|
7
|
-
|
|
8
7
|
@Resolver(Domain)
|
|
9
8
|
export class DomainResolver {
|
|
10
9
|
@Directive('@privilege(category: "system", privilege: "mutation", superUserGranted: true)')
|
|
@@ -15,13 +14,11 @@ export class DomainResolver {
|
|
|
15
14
|
const _createRecords = patches.filter((patch: any) => !patch.id)
|
|
16
15
|
const _updateRecords = patches.filter((patch: any) => patch.id)
|
|
17
16
|
|
|
18
|
-
debug('update-domains')
|
|
19
|
-
|
|
20
17
|
if (_createRecords.length > 0) {
|
|
21
18
|
_createRecords.forEach(async createRecord => {
|
|
22
19
|
const subdomain: string = slugger(createRecord.name)
|
|
23
20
|
|
|
24
|
-
await domainRepo.save({ ...createRecord, subdomain })
|
|
21
|
+
await domainRepo.save({ ...createRecord, subdomain } as any)
|
|
25
22
|
})
|
|
26
23
|
}
|
|
27
24
|
|
|
@@ -36,7 +33,7 @@ export class DomainResolver {
|
|
|
36
33
|
await domainRepo.save({
|
|
37
34
|
...domain,
|
|
38
35
|
...updateRecord
|
|
39
|
-
})
|
|
36
|
+
} as any)
|
|
40
37
|
})
|
|
41
38
|
}
|
|
42
39
|
|
|
@@ -34,7 +34,7 @@ export class DomainSubscriber implements EntitySubscriberInterface<Domain> {
|
|
|
34
34
|
var domain: Domain = event.entity
|
|
35
35
|
var domainSecret: DomainSecret = new DomainSecret()
|
|
36
36
|
domainSecret.id = uuidv4()
|
|
37
|
-
domainSecret.domain = domain
|
|
37
|
+
domainSecret.domain = domain
|
|
38
38
|
var hash = doSomething({ secId: domainSecret.id, id: domain.id })
|
|
39
39
|
domainSecret.secret = hash
|
|
40
40
|
|