@things-factory/operato-board 5.0.14 → 6.0.0-alpha.3
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/_index.html +2 -0
- package/client/pages/board-list-page.js +0 -6
- package/dist-server/migrations/1610516350460-SeedRole.js +8 -9
- package/dist-server/migrations/1610516350460-SeedRole.js.map +1 -1
- package/dist-server/service/board-favorite/board-favorite-query.js +4 -6
- package/dist-server/service/board-favorite/board-favorite-query.js.map +1 -1
- package/dist-server/service/board-secret/board-resolver.js +11 -11
- package/dist-server/service/board-secret/board-resolver.js.map +1 -1
- package/dist-server/service/board-secret/board-secret.js +3 -4
- package/dist-server/service/board-secret/board-secret.js.map +1 -1
- package/dist-server/service/domain-secret/domain-resolver.js +1 -2
- package/dist-server/service/domain-secret/domain-resolver.js.map +1 -1
- package/dist-server/service/domain-secret/domain-secret.js +3 -4
- package/dist-server/service/domain-secret/domain-secret.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +32 -32
- package/server/migrations/1610516350460-SeedRole.ts +4 -4
- package/server/service/board-favorite/board-favorite-query.ts +6 -5
- package/server/service/board-secret/board-resolver.ts +4 -4
- package/server/service/domain-secret/domain-resolver.ts +2 -2
- package/config.development.js +0 -26
- package/config.production.js +0 -5
package/_index.html
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SeedRole1610516350460 = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
4
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
6
5
|
const shell_1 = require("@things-factory/shell");
|
|
7
6
|
const PRIVILEGES_SEED = {
|
|
@@ -144,10 +143,10 @@ const SEED = [
|
|
|
144
143
|
];
|
|
145
144
|
class SeedRole1610516350460 {
|
|
146
145
|
async up(queryRunner) {
|
|
147
|
-
const repository = (0,
|
|
148
|
-
const userRepository = (0,
|
|
146
|
+
const repository = (0, shell_1.getRepository)(auth_base_1.Role);
|
|
147
|
+
const userRepository = (0, shell_1.getRepository)(auth_base_1.User);
|
|
149
148
|
let users = await userRepository.find({ where: { userType: 'admin' }, relations: ['domains'] });
|
|
150
|
-
let domain = await (0,
|
|
149
|
+
let domain = await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({
|
|
151
150
|
name: 'SYSTEM'
|
|
152
151
|
});
|
|
153
152
|
var privilegeSeeds = [];
|
|
@@ -159,7 +158,7 @@ class SeedRole1610516350460 {
|
|
|
159
158
|
await this.saveSystemRole(repository, users, domain);
|
|
160
159
|
}
|
|
161
160
|
async saveSystemRole(repository, users, domain) {
|
|
162
|
-
const privilegeRepository = (0,
|
|
161
|
+
const privilegeRepository = (0, shell_1.getRepository)(auth_base_1.Privilege);
|
|
163
162
|
var role = {
|
|
164
163
|
name: 'system',
|
|
165
164
|
description: 'System Admin'
|
|
@@ -169,7 +168,7 @@ class SeedRole1610516350460 {
|
|
|
169
168
|
domain }));
|
|
170
169
|
}
|
|
171
170
|
async getPrivileges(privilegeSeeds, roleName) {
|
|
172
|
-
const privilegeRepository = (0,
|
|
171
|
+
const privilegeRepository = (0, shell_1.getRepository)(auth_base_1.Privilege);
|
|
173
172
|
privilegeSeeds = PRIVILEGES_SEED[roleName];
|
|
174
173
|
var privileges = [];
|
|
175
174
|
await Promise.all(privilegeSeeds.map(async (privilege) => {
|
|
@@ -181,9 +180,9 @@ class SeedRole1610516350460 {
|
|
|
181
180
|
return privileges;
|
|
182
181
|
}
|
|
183
182
|
async down(queryRunner) {
|
|
184
|
-
const repository = (0,
|
|
185
|
-
const privilegeRepository = (0,
|
|
186
|
-
const domain = await (0,
|
|
183
|
+
const repository = (0, shell_1.getRepository)(auth_base_1.Role);
|
|
184
|
+
const privilegeRepository = (0, shell_1.getRepository)(auth_base_1.Privilege);
|
|
185
|
+
const domain = await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({
|
|
187
186
|
name: 'SYSTEM'
|
|
188
187
|
});
|
|
189
188
|
await Promise.all(SEED.reverse().map(async (role) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1610516350460-SeedRole.js","sourceRoot":"","sources":["../../server/migrations/1610516350460-SeedRole.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"1610516350460-SeedRole.js","sourceRoot":"","sources":["../../server/migrations/1610516350460-SeedRole.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\n\nimport { Privilege, Role, User } from '@things-factory/auth-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nconst PRIVILEGES_SEED = {\n modeller: [\n {\n name: 'mutation',\n category: 'setting'\n },\n {\n name: 'mutation',\n category: 'menu'\n },\n {\n name: 'mutation',\n category: 'user'\n },\n {\n name: 'mutation',\n category: 'appliance'\n },\n {\n name: 'mutation',\n category: 'appliance'\n },\n {\n name: 'mutation',\n category: 'application'\n },\n {\n name: 'mutation',\n category: 'board'\n },\n {\n name: 'mutation',\n category: 'group'\n },\n {\n name: 'mutation',\n category: 'play-group'\n },\n {\n name: 'mutation',\n category: 'fonts'\n },\n {\n name: 'mutation',\n category: 'attachment'\n },\n {\n name: 'mutation',\n category: 'scenario'\n },\n {\n name: 'mutation',\n category: 'step'\n },\n {\n name: 'query',\n category: 'setting'\n },\n {\n name: 'query',\n category: 'menu'\n },\n {\n name: 'query',\n category: 'user'\n },\n {\n name: 'query',\n category: 'appliance'\n },\n {\n name: 'query',\n category: 'application'\n },\n {\n name: 'query',\n category: 'board'\n },\n {\n name: 'query',\n category: 'group'\n },\n {\n name: 'query',\n category: 'play-group'\n },\n {\n name: 'query',\n category: 'fonts'\n },\n {\n name: 'query',\n category: 'attachment'\n },\n {\n name: 'query',\n category: 'scenario'\n },\n {\n name: 'query',\n category: 'step'\n }\n ],\n system: [\n {\n name: 'mutation',\n category: 'system'\n },\n {\n name: 'query',\n category: 'system'\n }\n ],\n viewer: [\n {\n name: 'query',\n category: 'board'\n },\n {\n name: 'query',\n category: 'group'\n },\n {\n name: 'query',\n category: 'play-group'\n }\n ]\n}\n\nconst SEED = [\n {\n name: 'modeller',\n description: 'Board Modeller'\n },\n {\n name: 'viewer',\n description: 'Board Viewer'\n }\n]\n\nexport class SeedRole1610516350460 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Role)\n const userRepository = getRepository(User)\n\n let users: User[] = await userRepository.find({ where: { userType: 'admin' }, relations: ['domains'] })\n let domain: Domain = await getRepository(Domain).findOneBy({\n name: 'SYSTEM'\n })\n\n var privilegeSeeds = []\n Promise.all(\n SEED.map(async role => {\n var privileges = await this.getPrivileges(privilegeSeeds, role.name)\n await repository.save({\n ...role,\n privileges: privileges,\n users,\n domain\n })\n })\n )\n await this.saveSystemRole(repository, users, domain)\n }\n\n public async saveSystemRole(repository, users, domain) {\n const privilegeRepository = getRepository(Privilege)\n var role = {\n name: 'system',\n description: 'System Admin'\n }\n var privileges = await privilegeRepository.find()\n await repository.save({\n ...role,\n privileges: privileges,\n users,\n domain\n })\n }\n\n public async getPrivileges(privilegeSeeds, roleName) {\n const privilegeRepository = getRepository(Privilege)\n privilegeSeeds = PRIVILEGES_SEED[roleName]\n var privileges = []\n await Promise.all(\n privilegeSeeds.map(async privilege => {\n var value = await privilegeRepository.findOne({ where: { name: privilege.name, category: privilege.category } })\n if (value) {\n privileges.push(value)\n }\n })\n )\n return privileges\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Role)\n const privilegeRepository = getRepository(Privilege)\n const domain: Domain = await getRepository(Domain).findOneBy({\n name: 'SYSTEM'\n })\n\n await Promise.all(\n SEED.reverse().map(async role => {\n await repository.delete({ name: role.name, domain })\n })\n )\n\n await repository.delete({ name: 'system', domain })\n }\n}\n"]}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.BoardFavoriteQuery = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
6
5
|
const type_graphql_1 = require("type-graphql");
|
|
7
|
-
const typeorm_1 = require("typeorm");
|
|
8
|
-
const shell_1 = require("@things-factory/shell");
|
|
9
6
|
const board_service_1 = require("@things-factory/board-service");
|
|
7
|
+
const env_1 = require("@things-factory/env");
|
|
10
8
|
const fav_base_1 = require("@things-factory/fav-base");
|
|
9
|
+
const shell_1 = require("@things-factory/shell");
|
|
11
10
|
const board_favorite_type_1 = require("./board-favorite-type");
|
|
12
|
-
const env_1 = require("@things-factory/env");
|
|
13
11
|
const ORMCONFIG = env_1.config.get('ormconfig', {});
|
|
14
12
|
const DATABASE_TYPE = ORMCONFIG.type;
|
|
15
13
|
let BoardFavoriteQuery = class BoardFavoriteQuery {
|
|
16
14
|
async favoriteBoards(params, context) {
|
|
17
15
|
const { user } = context.state;
|
|
18
|
-
const queryBuilder = (0,
|
|
16
|
+
const queryBuilder = (0, shell_1.getRepository)(board_service_1.Board).createQueryBuilder();
|
|
19
17
|
(0, shell_1.buildQuery)(queryBuilder, params, context);
|
|
20
18
|
var joinStatement = '';
|
|
21
19
|
switch (DATABASE_TYPE) {
|
|
@@ -48,7 +46,7 @@ tslib_1.__decorate([
|
|
|
48
46
|
tslib_1.__param(0, (0, type_graphql_1.Args)()),
|
|
49
47
|
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
50
48
|
tslib_1.__metadata("design:type", Function),
|
|
51
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
49
|
+
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
52
50
|
tslib_1.__metadata("design:returntype", Promise)
|
|
53
51
|
], BoardFavoriteQuery.prototype, "favoriteBoards", null);
|
|
54
52
|
BoardFavoriteQuery = tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-favorite-query.js","sourceRoot":"","sources":["../../../server/service/board-favorite/board-favorite-query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"board-favorite-query.js","sourceRoot":"","sources":["../../../server/service/board-favorite/board-favorite-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAyD;AAEzD,iEAAqD;AACrD,6CAA4C;AAC5C,uDAAmD;AACnD,iDAA4E;AAE5E,+DAAwE;AAExE,MAAM,SAAS,GAAG,YAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AAC7C,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAA;AAGpC,IAAa,kBAAkB,GAA/B,MAAa,kBAAkB;IAE7B,KAAK,CAAC,cAAc,CAAS,MAAiB,EAAS,OAAwB;QAC7E,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE9B,MAAM,YAAY,GAAG,IAAA,qBAAa,EAAC,qBAAK,CAAC,CAAC,kBAAkB,EAAE,CAAA;QAC9D,IAAA,kBAAU,EAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAEzC,IAAI,aAAa,GAAG,EAAE,CAAA;QACtB,QAAQ,aAAa,EAAE;YACrB,KAAK,UAAU;gBACb,aAAa,GAAG,8CAA8C,CAAA;gBAC9D,MAAK;YACP,KAAK,QAAQ,CAAC;YACd;gBACE,aAAa,GAAG,6BAA6B,CAAA;SAChD;QAED,IAAI,EAAE,GAAG,YAAY;aAClB,SAAS,CAAC,mBAAQ,EAAE,UAAU,EAAE,aAAa,CAAC;aAC9C,MAAM,CAAC;YACN,gBAAgB;YAChB,oBAAoB;YACpB,kCAAkC;YAClC,8BAA8B;YAC9B,2BAA2B;SAC5B,CAAC;aACD,QAAQ,CAAC,4BAA4B,EAAE;YACtC,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAA;QAEJ,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,UAAU,EAAE,CAAA;QACnC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAA;QAEjC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;CACF,CAAA;AAlCC;IADC,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,uCAAiB,EAAE,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;IACnE,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;wDAiC7C;AAnCU,kBAAkB;IAD9B,IAAA,uBAAQ,EAAC,mCAAa,CAAC;GACX,kBAAkB,CAoC9B;AApCY,gDAAkB","sourcesContent":["import { Args, Ctx, Query, Resolver } from 'type-graphql'\n\nimport { Board } from '@things-factory/board-service'\nimport { config } from '@things-factory/env'\nimport { Favorite } from '@things-factory/fav-base'\nimport { buildQuery, getRepository, ListParam } from '@things-factory/shell'\n\nimport { BoardFavorite, BoardFavoriteList } from './board-favorite-type'\n\nconst ORMCONFIG = config.get('ormconfig', {})\nconst DATABASE_TYPE = ORMCONFIG.type\n\n@Resolver(BoardFavorite)\nexport class BoardFavoriteQuery {\n @Query(returns => BoardFavoriteList, { description: 'To fetch multiple BoardFavorites' })\n async favoriteBoards(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<BoardFavoriteList> {\n const { user } = context.state\n\n const queryBuilder = getRepository(Board).createQueryBuilder()\n buildQuery(queryBuilder, params, context)\n\n var joinStatement = ''\n switch (DATABASE_TYPE) {\n case 'postgres':\n joinStatement = 'CAST(Board.id as VARCHAR) = Favorite.routing'\n break\n case 'sqlite':\n default:\n joinStatement = 'Board.id = Favorite.routing'\n }\n\n var qb = queryBuilder\n .innerJoin(Favorite, 'Favorite', joinStatement)\n .select([\n 'Board.id as id',\n 'Board.name as name',\n 'Board.description as description',\n 'Board.thumbnail as thumbnail',\n 'Favorite.id as favoriteId'\n ])\n .andWhere('Favorite.user_id = :userId', {\n userId: user.id\n })\n\n const items = await qb.getRawMany()\n const total = await qb.getCount()\n\n return { items, total }\n }\n}\n"]}
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BoardResolver = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const type_graphql_1 = require("type-graphql");
|
|
6
|
-
const typeorm_1 = require("typeorm");
|
|
7
6
|
const board_service_1 = require("@things-factory/board-service");
|
|
8
7
|
const operato_license_checker_1 = require("@things-factory/operato-license-checker");
|
|
8
|
+
const shell_1 = require("@things-factory/shell");
|
|
9
9
|
const license_error_1 = require("../../errors/license-error");
|
|
10
10
|
const domain_secret_1 = require("../domain-secret/domain-secret");
|
|
11
11
|
const board_secret_1 = require("./board-secret");
|
|
@@ -16,12 +16,12 @@ let BoardResolver = class BoardResolver {
|
|
|
16
16
|
}
|
|
17
17
|
async board(id, context) {
|
|
18
18
|
const { domain } = context.state;
|
|
19
|
-
var board = await (0,
|
|
20
|
-
where: { domain, id }
|
|
19
|
+
var board = await (0, shell_1.getRepository)(board_service_1.Board).findOne({
|
|
20
|
+
where: { domain: { id: domain.id }, id }
|
|
21
21
|
});
|
|
22
22
|
if (domain) {
|
|
23
23
|
// 1. check domainSecret is over limit quantity or not
|
|
24
|
-
var count = (await (0,
|
|
24
|
+
var count = (await (0, shell_1.getRepository)(domain_secret_1.DomainSecret)
|
|
25
25
|
.manager.createQueryBuilder()
|
|
26
26
|
.select('board')
|
|
27
27
|
.from(domain_secret_1.DomainSecret, 'secret')
|
|
@@ -33,7 +33,7 @@ let BoardResolver = class BoardResolver {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
|
-
var domainSecret = await (0,
|
|
36
|
+
var domainSecret = await (0, shell_1.getRepository)(domain_secret_1.DomainSecret).findOne({
|
|
37
37
|
where: { domain: domain }
|
|
38
38
|
});
|
|
39
39
|
// 2. if there's no domainSecret then create it
|
|
@@ -43,11 +43,11 @@ let BoardResolver = class BoardResolver {
|
|
|
43
43
|
domainSecret.domain = domain;
|
|
44
44
|
var hash = (0, operato_license_checker_1.doSomething)({ secId: domainSecret.id, id: domain.id });
|
|
45
45
|
domainSecret.secret = hash;
|
|
46
|
-
await (0,
|
|
46
|
+
await (0, shell_1.getRepository)(domain_secret_1.DomainSecret).save(domainSecret);
|
|
47
47
|
// 3. if there's domainSecret then check it
|
|
48
48
|
}
|
|
49
49
|
else {
|
|
50
|
-
var domainRepo = (0,
|
|
50
|
+
var domainRepo = (0, shell_1.getRepository)(domain_secret_1.DomainSecret);
|
|
51
51
|
var domainSecret = await domainRepo.findOne({
|
|
52
52
|
where: { domain: domain }
|
|
53
53
|
});
|
|
@@ -69,7 +69,7 @@ let BoardResolver = class BoardResolver {
|
|
|
69
69
|
}
|
|
70
70
|
if (board) {
|
|
71
71
|
// 1. check boardSecret is over limit quantity or not
|
|
72
|
-
var count = (await (0,
|
|
72
|
+
var count = (await (0, shell_1.getRepository)(board_secret_1.BoardSecret)
|
|
73
73
|
.manager.createQueryBuilder()
|
|
74
74
|
.select('board')
|
|
75
75
|
.from(board_secret_1.BoardSecret, 'secret')
|
|
@@ -81,7 +81,7 @@ let BoardResolver = class BoardResolver {
|
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
84
|
-
var boardSecret = await (0,
|
|
84
|
+
var boardSecret = await (0, shell_1.getRepository)(board_secret_1.BoardSecret).findOne({
|
|
85
85
|
where: { targetId: id }
|
|
86
86
|
});
|
|
87
87
|
// 2. if there's no boardSecret then create it
|
|
@@ -93,11 +93,11 @@ let BoardResolver = class BoardResolver {
|
|
|
93
93
|
boardSecret.domain = domain;
|
|
94
94
|
var hash = (0, operato_license_checker_1.doSomething)({ secId: boardSecret.id, id: id });
|
|
95
95
|
boardSecret.secret = hash;
|
|
96
|
-
await (0,
|
|
96
|
+
await (0, shell_1.getRepository)(board_secret_1.BoardSecret).save(boardSecret);
|
|
97
97
|
// 3. if there's boardSecret then check it
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
|
-
var repogitory = (0,
|
|
100
|
+
var repogitory = (0, shell_1.getRepository)(board_secret_1.BoardSecret);
|
|
101
101
|
var boardSecret = await repogitory.findOne({
|
|
102
102
|
where: { targetId: id }
|
|
103
103
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-resolver.js","sourceRoot":"","sources":["../../../server/service/board-secret/board-resolver.ts"],"names":[],"mappings":";;;;AAAA,+CAAwD;
|
|
1
|
+
{"version":3,"file":"board-resolver.js","sourceRoot":"","sources":["../../../server/service/board-secret/board-resolver.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Query, Resolver } from 'type-graphql'\n\nimport { Board } from '@things-factory/board-service'\nimport { checkTarget, doSomething, getPermission } from '@things-factory/operato-license-checker'\nimport { getRepository } from '@things-factory/shell'\n\nimport { LicenseError } from '../../errors/license-error'\nimport { DomainSecret } from '../domain-secret/domain-secret'\nimport { BoardSecret } from './board-secret'\n\nconst crypto = require('crypto')\n\n@Resolver(Board)\nexport class BoardResolver {\n @Query(returns => [String], { description: 'Board Usage Permissions' })\n boardPermissions(@Ctx() context: ResolverContext): string[] {\n return (getPermission('Permissions For Board Usage') || 'Modeller, Viewer').split(',').map(p => p.trim())\n }\n\n @Query(returns => Board, { description: 'To fetch a board' })\n async board(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<Board> {\n const { domain } = context.state\n\n var board = await getRepository(Board).findOne({\n where: { domain: { id: domain.id }, id }\n })\n if (domain) {\n // 1. check domainSecret is over limit quantity or not\n var count =\n (await getRepository(DomainSecret)\n .manager.createQueryBuilder()\n .select('board')\n .from(DomainSecret, 'secret')\n .where('id = :domainId', { domainId: domain.id })\n .getCount()) + 1\n\n if (!checkTarget(count)) {\n throw new LicenseError({\n errorCode: context.t(LicenseError.ERROR_CODES.OVER_LIMIT)\n })\n } else {\n var domainSecret: DomainSecret = await getRepository(DomainSecret).findOne({\n where: { domain: domain }\n })\n // 2. if there's no domainSecret then create it\n if (!domainSecret) {\n var domainSecret: DomainSecret = new DomainSecret()\n domainSecret.id = crypto.randomUUID()\n domainSecret.domain = domain\n var hash = doSomething({ secId: domainSecret.id, id: domain.id })\n domainSecret.secret = hash\n\n await getRepository(DomainSecret).save(domainSecret)\n // 3. if there's domainSecret then check it\n } else {\n var domainRepo = getRepository(DomainSecret)\n var domainSecret: DomainSecret = await domainRepo.findOne({\n where: { domain: domain }\n })\n if (domainSecret) {\n var hash = doSomething({ secId: domainSecret.id, id: domain.id })\n if (domainSecret.secret !== hash) {\n throw new LicenseError({\n errorCode: context.t(LicenseError.ERROR_CODES.VERIFICATION_ERROR)\n })\n }\n } else {\n throw new LicenseError({\n errorCode: context.t(LicenseError.ERROR_CODES.VERIFICATION_ERROR)\n })\n }\n }\n }\n }\n if (board) {\n // 1. check boardSecret is over limit quantity or not\n var count =\n (await getRepository(BoardSecret)\n .manager.createQueryBuilder()\n .select('board')\n .from(BoardSecret, 'secret')\n .where('domain_id = :domainId', { domainId: domain.id })\n .getCount()) + 1\n\n if (!checkTarget(count)) {\n throw new LicenseError({\n errorCode: context.t(LicenseError.ERROR_CODES.OVER_LIMIT)\n })\n } else {\n var boardSecret: BoardSecret = await getRepository(BoardSecret).findOne({\n where: { targetId: id }\n })\n // 2. if there's no boardSecret then create it\n if (!boardSecret) {\n var boardSecret: BoardSecret = new BoardSecret()\n boardSecret.id = crypto.randomUUID()\n boardSecret.targetId = id\n boardSecret.targetType = 'board'\n boardSecret.domain = domain\n\n var hash = doSomething({ secId: boardSecret.id, id: id })\n boardSecret.secret = hash\n\n await getRepository(BoardSecret).save(boardSecret)\n // 3. if there's boardSecret then check it\n } else {\n var repogitory = getRepository(BoardSecret)\n var boardSecret: BoardSecret = await repogitory.findOne({\n where: { targetId: id }\n })\n if (boardSecret) {\n var hash = doSomething({ secId: boardSecret.id, id: id })\n if (boardSecret.secret !== hash) {\n throw new LicenseError({\n errorCode: context.t(LicenseError.ERROR_CODES.VERIFICATION_ERROR)\n })\n }\n } else {\n throw new LicenseError({\n errorCode: context.t(LicenseError.ERROR_CODES.VERIFICATION_ERROR)\n })\n }\n }\n }\n }\n\n return board\n }\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.BoardSecret = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
@@ -14,7 +13,7 @@ tslib_1.__decorate([
|
|
|
14
13
|
], BoardSecret.prototype, "id", void 0);
|
|
15
14
|
tslib_1.__decorate([
|
|
16
15
|
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
|
17
|
-
tslib_1.__metadata("design:type",
|
|
16
|
+
tslib_1.__metadata("design:type", shell_1.Domain)
|
|
18
17
|
], BoardSecret.prototype, "domain", void 0);
|
|
19
18
|
tslib_1.__decorate([
|
|
20
19
|
(0, typeorm_1.Column)(),
|
|
@@ -40,13 +39,13 @@ tslib_1.__decorate([
|
|
|
40
39
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
41
40
|
nullable: true
|
|
42
41
|
}),
|
|
43
|
-
tslib_1.__metadata("design:type",
|
|
42
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
44
43
|
], BoardSecret.prototype, "creator", void 0);
|
|
45
44
|
tslib_1.__decorate([
|
|
46
45
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
47
46
|
nullable: true
|
|
48
47
|
}),
|
|
49
|
-
tslib_1.__metadata("design:type",
|
|
48
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
50
49
|
], BoardSecret.prototype, "updater", void 0);
|
|
51
50
|
BoardSecret = tslib_1.__decorate([
|
|
52
51
|
(0, typeorm_1.Entity)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-secret.js","sourceRoot":"","sources":["../../../server/service/board-secret/board-secret.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"board-secret.js","sourceRoot":"","sources":["../../../server/service/board-secret/board-secret.ts"],"names":[],"mappings":";;;;AAAA,qCAAwH;AACxH,iDAA8C;AAC9C,yDAAgD;AAIhD,IAAa,WAAW,GAAxB,MAAa,WAAW;CA+BvB,CAAA;AA7BC;IADC,IAAA,uBAAa,EAAC,MAAM,CAAC;;uCACZ;AAGV;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;sCAClB,cAAM;2CAAA;AAGd;IADC,IAAA,gBAAM,GAAE;;2CACK;AAGd;IADC,IAAA,gBAAM,GAAE;;+CACS;AAGlB;IADC,IAAA,gBAAM,EAAC,MAAM,CAAC;;6CACC;AAGhB;IADC,IAAA,0BAAgB,GAAE;sCACR,IAAI;8CAAA;AAGf;IADC,IAAA,0BAAgB,GAAE;sCACR,IAAI;8CAAA;AAKf;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;sCACO,gBAAI;4CAAA;AAKb;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;sCACO,gBAAI;4CAAA;AA9BF,WAAW;IAFvB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,mBAAmB,EAAE,CAAC,WAAwB,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;GACxG,WAAW,CA+BvB;AA/BY,kCAAW","sourcesContent":["import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, OneToMany, ManyToOne, PrimaryColumn } from 'typeorm'\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\n@Entity()\n@Index('ix_board_secret_0', (boardSecret: BoardSecret) => [boardSecret.domain, boardSecret.secret], { unique: true })\nexport class BoardSecret {\n @PrimaryColumn('uuid')\n id: string\n\n @ManyToOne(type => Domain)\n domain: Domain\n\n @Column()\n secret: string\n\n @Column()\n targetType: string\n\n @Column('uuid')\n targetId: string\n\n @CreateDateColumn()\n createdAt: Date\n \n @UpdateDateColumn()\n updatedAt: Date\n \n @ManyToOne(type => User, {\n nullable: true\n })\n creator: User\n \n @ManyToOne(type => User, {\n nullable: true\n })\n updater: User \n}\n"]}
|
|
@@ -3,12 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DomainResolver = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const type_graphql_1 = require("type-graphql");
|
|
6
|
-
const typeorm_1 = require("typeorm");
|
|
7
6
|
const shell_1 = require("@things-factory/shell");
|
|
8
7
|
const utils_1 = require("@things-factory/utils");
|
|
9
8
|
let DomainResolver = class DomainResolver {
|
|
10
9
|
async updateDomains(patches) {
|
|
11
|
-
const domainRepo = (0,
|
|
10
|
+
const domainRepo = (0, shell_1.getRepository)(shell_1.Domain);
|
|
12
11
|
const _createRecords = patches.filter((patch) => !patch.id);
|
|
13
12
|
const _updateRecords = patches.filter((patch) => patch.id);
|
|
14
13
|
if (_createRecords.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-resolver.js","sourceRoot":"","sources":["../../../server/service/domain-secret/domain-resolver.ts"],"names":[],"mappings":";;;;AAAA,+CAAiE;
|
|
1
|
+
{"version":3,"file":"domain-resolver.js","sourceRoot":"","sources":["../../../server/service/domain-secret/domain-resolver.ts"],"names":[],"mappings":";;;;AAAA,+CAAiE;AAGjE,iDAA0E;AAC1E,iDAA+C;AAG/C,IAAa,cAAc,GAA3B,MAAa,cAAc;IAGzB,KAAK,CAAC,aAAa,CAAwC,OAAsB;QAC/E,MAAM,UAAU,GAAuB,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAA;QAE5D,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAChE,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAE/D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,cAAc,CAAC,OAAO,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;gBAC1C,MAAM,SAAS,GAAW,IAAA,eAAO,EAAC,YAAY,CAAC,IAAI,CAAC,CAAA;gBAEpD,MAAM,UAAU,CAAC,IAAI,CAAC,gCAAK,YAAY,KAAE,SAAS,GAAS,CAAC,CAAA;YAC9D,CAAC,CAAC,CAAA;SACH;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,cAAc,CAAC,OAAO,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;gBAC1C,MAAM,MAAM,GAAW,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBAEnF,IAAI,YAAY,CAAC,IAAI,EAAE;oBACrB,YAAY,CAAC,SAAS,GAAG,IAAA,eAAO,EAAC,YAAY,CAAC,IAAI,CAAC,CAAA;iBACpD;gBAED,MAAM,UAAU,CAAC,IAAI,CAAC,gCACjB,MAAM,GACN,YAAY,CACT,CAAC,CAAA;YACX,CAAC,CAAC,CAAA;SACH;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF,CAAA;AA/BC;IAFC,IAAA,wBAAS,EAAC,+EAA+E,CAAC;IAC1F,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IACvD,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,mBAAW,CAAC,CAAC,CAAA;;;;mDA8BzD;AAjCU,cAAc;IAD1B,IAAA,uBAAQ,EAAC,cAAM,CAAC;GACJ,cAAc,CAkC1B;AAlCY,wCAAc","sourcesContent":["import { Arg, Directive, Mutation, Resolver } from 'type-graphql'\nimport { Repository } from 'typeorm'\n\nimport { Domain, DomainPatch, getRepository } from '@things-factory/shell'\nimport { slugger } from '@things-factory/utils'\n\n@Resolver(Domain)\nexport class DomainResolver {\n @Directive('@privilege(category: \"system\", privilege: \"mutation\", superUserGranted: true)')\n @Mutation(returns => Boolean, { description: 'To update multiple domains' })\n async updateDomains(@Arg('patches', type => [DomainPatch]) patches: DomainPatch[]): Promise<boolean> {\n const domainRepo: Repository<Domain> = getRepository(Domain)\n\n const _createRecords = patches.filter((patch: any) => !patch.id)\n const _updateRecords = patches.filter((patch: any) => patch.id)\n\n if (_createRecords.length > 0) {\n _createRecords.forEach(async createRecord => {\n const subdomain: string = slugger(createRecord.name)\n\n await domainRepo.save({ ...createRecord, subdomain } as any)\n })\n }\n\n if (_updateRecords.length > 0) {\n _updateRecords.forEach(async updateRecord => {\n const domain: Domain = await domainRepo.findOne({ where: { id: updateRecord.id } })\n\n if (updateRecord.name) {\n updateRecord.subdomain = slugger(updateRecord.name)\n }\n\n await domainRepo.save({\n ...domain,\n ...updateRecord\n } as any)\n })\n }\n\n return true\n }\n}\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b, _c;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.DomainSecret = void 0;
|
|
5
4
|
const tslib_1 = require("tslib");
|
|
@@ -14,7 +13,7 @@ tslib_1.__decorate([
|
|
|
14
13
|
], DomainSecret.prototype, "id", void 0);
|
|
15
14
|
tslib_1.__decorate([
|
|
16
15
|
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
|
17
|
-
tslib_1.__metadata("design:type",
|
|
16
|
+
tslib_1.__metadata("design:type", shell_1.Domain)
|
|
18
17
|
], DomainSecret.prototype, "domain", void 0);
|
|
19
18
|
tslib_1.__decorate([
|
|
20
19
|
(0, typeorm_1.Column)(),
|
|
@@ -32,13 +31,13 @@ tslib_1.__decorate([
|
|
|
32
31
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
33
32
|
nullable: true
|
|
34
33
|
}),
|
|
35
|
-
tslib_1.__metadata("design:type",
|
|
34
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
36
35
|
], DomainSecret.prototype, "creator", void 0);
|
|
37
36
|
tslib_1.__decorate([
|
|
38
37
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
39
38
|
nullable: true
|
|
40
39
|
}),
|
|
41
|
-
tslib_1.__metadata("design:type",
|
|
40
|
+
tslib_1.__metadata("design:type", auth_base_1.User)
|
|
42
41
|
], DomainSecret.prototype, "updater", void 0);
|
|
43
42
|
DomainSecret = tslib_1.__decorate([
|
|
44
43
|
(0, typeorm_1.Entity)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-secret.js","sourceRoot":"","sources":["../../../server/service/domain-secret/domain-secret.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain-secret.js","sourceRoot":"","sources":["../../../server/service/domain-secret/domain-secret.ts"],"names":[],"mappings":";;;;AAAA,qCAAsH;AACtH,iDAA8C;AAC9C,yDAAgD;AAMhD,IAAa,YAAY,GAAzB,MAAa,YAAY;CAyBxB,CAAA;AAvBC;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;sCAC3B,MAAM;wCAAA;AAGV;IADC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;sCAClB,cAAM;4CAAA;AAGd;IADC,IAAA,gBAAM,GAAE;sCACD,MAAM;4CAAA;AAGd;IADC,IAAA,0BAAgB,GAAE;sCACR,IAAI;+CAAA;AAGf;IADC,IAAA,0BAAgB,GAAE;sCACR,IAAI;+CAAA;AAKf;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;sCACO,gBAAI;6CAAA;AAKb;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;sCACO,gBAAI;6CAAA;AAxBF,YAAY;IAJxB,IAAA,gBAAM,GAAE;IACR,IAAA,eAAK,EAAC,oBAAoB,EAAE,CAAC,YAA0B,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE;QACvG,MAAM,EAAE,IAAI;KACb,CAAC;GACW,YAAY,CAyBxB;AAzBY,oCAAY","sourcesContent":["import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\n\n@Entity()\n@Index('ix_domain_secret_0', (domainSecret: DomainSecret) => [domainSecret.domain, domainSecret.secret], {\n unique: true\n})\nexport class DomainSecret {\n @PrimaryGeneratedColumn('uuid')\n id: String\n\n @ManyToOne(type => Domain)\n domain: Domain\n\n @Column()\n secret: String\n\n @CreateDateColumn()\n createdAt: Date\n\n @UpdateDateColumn()\n updatedAt: Date\n\n @ManyToOne(type => User, {\n nullable: true\n })\n creator: User\n\n @ManyToOne(type => User, {\n nullable: true\n })\n updater: User\n}\n"]}
|