@things-factory/operato-board 5.0.2 → 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/constants/error-code.js.map +1 -1
- package/dist-server/errors/index.js +2 -15
- package/dist-server/errors/index.js.map +1 -1
- package/dist-server/errors/license-error.js +2 -24
- package/dist-server/errors/license-error.js.map +1 -1
- package/dist-server/index.js +5 -18
- package/dist-server/index.js.map +1 -1
- package/dist-server/middlewares/index.js.map +1 -1
- package/dist-server/migrations/1610516350460-SeedRole.js +6 -6
- package/dist-server/migrations/1610516350460-SeedRole.js.map +1 -1
- package/dist-server/migrations/index.js.map +1 -1
- package/dist-server/routes.js +0 -1
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/board-favorite/board-favorite-query.js +8 -19
- package/dist-server/service/board-favorite/board-favorite-query.js.map +1 -1
- package/dist-server/service/board-favorite/board-favorite-type.js +9 -17
- package/dist-server/service/board-favorite/board-favorite-type.js.map +1 -1
- package/dist-server/service/board-favorite/index.js.map +1 -1
- package/dist-server/service/board-secret/board-resolver.js +13 -25
- package/dist-server/service/board-secret/board-resolver.js.map +1 -1
- package/dist-server/service/board-secret/board-secret.js +20 -28
- package/dist-server/service/board-secret/board-secret.js.map +1 -1
- package/dist-server/service/board-secret/index.js.map +1 -1
- package/dist-server/service/domain-secret/domain-resolver.js +7 -20
- package/dist-server/service/domain-secret/domain-resolver.js.map +1 -1
- package/dist-server/service/domain-secret/domain-secret.js +16 -24
- package/dist-server/service/domain-secret/domain-secret.js.map +1 -1
- package/dist-server/service/domain-secret/index.js.map +1 -1
- package/dist-server/service/index.js +3 -16
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/subscribers/board-subscriber.js +2 -7
- package/dist-server/subscribers/board-subscriber.js.map +1 -1
- package/dist-server/subscribers/domain-subscriber.js +3 -8
- package/dist-server/subscribers/domain-subscriber.js.map +1 -1
- package/dist-server/subscribers/index.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -0
- package/package.json +27 -27
- 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
|
@@ -1,62 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
2
|
var _a, _b, _c;
|
|
12
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
4
|
exports.BoardSecret = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
14
6
|
const typeorm_1 = require("typeorm");
|
|
15
7
|
const shell_1 = require("@things-factory/shell");
|
|
16
8
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
17
9
|
let BoardSecret = class BoardSecret {
|
|
18
10
|
};
|
|
19
|
-
__decorate([
|
|
11
|
+
tslib_1.__decorate([
|
|
20
12
|
(0, typeorm_1.PrimaryColumn)('uuid'),
|
|
21
|
-
__metadata("design:type", String)
|
|
13
|
+
tslib_1.__metadata("design:type", String)
|
|
22
14
|
], BoardSecret.prototype, "id", void 0);
|
|
23
|
-
__decorate([
|
|
15
|
+
tslib_1.__decorate([
|
|
24
16
|
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
|
25
|
-
__metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
|
|
17
|
+
tslib_1.__metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
|
|
26
18
|
], BoardSecret.prototype, "domain", void 0);
|
|
27
|
-
__decorate([
|
|
19
|
+
tslib_1.__decorate([
|
|
28
20
|
(0, typeorm_1.Column)(),
|
|
29
|
-
__metadata("design:type", String)
|
|
21
|
+
tslib_1.__metadata("design:type", String)
|
|
30
22
|
], BoardSecret.prototype, "secret", void 0);
|
|
31
|
-
__decorate([
|
|
23
|
+
tslib_1.__decorate([
|
|
32
24
|
(0, typeorm_1.Column)(),
|
|
33
|
-
__metadata("design:type", String)
|
|
25
|
+
tslib_1.__metadata("design:type", String)
|
|
34
26
|
], BoardSecret.prototype, "targetType", void 0);
|
|
35
|
-
__decorate([
|
|
27
|
+
tslib_1.__decorate([
|
|
36
28
|
(0, typeorm_1.Column)('uuid'),
|
|
37
|
-
__metadata("design:type", String)
|
|
29
|
+
tslib_1.__metadata("design:type", String)
|
|
38
30
|
], BoardSecret.prototype, "targetId", void 0);
|
|
39
|
-
__decorate([
|
|
31
|
+
tslib_1.__decorate([
|
|
40
32
|
(0, typeorm_1.CreateDateColumn)(),
|
|
41
|
-
__metadata("design:type", Date)
|
|
33
|
+
tslib_1.__metadata("design:type", Date)
|
|
42
34
|
], BoardSecret.prototype, "createdAt", void 0);
|
|
43
|
-
__decorate([
|
|
35
|
+
tslib_1.__decorate([
|
|
44
36
|
(0, typeorm_1.UpdateDateColumn)(),
|
|
45
|
-
__metadata("design:type", Date)
|
|
37
|
+
tslib_1.__metadata("design:type", Date)
|
|
46
38
|
], BoardSecret.prototype, "updatedAt", void 0);
|
|
47
|
-
__decorate([
|
|
39
|
+
tslib_1.__decorate([
|
|
48
40
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
49
41
|
nullable: true
|
|
50
42
|
}),
|
|
51
|
-
__metadata("design:type", typeof (_b = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _b : Object)
|
|
43
|
+
tslib_1.__metadata("design:type", typeof (_b = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _b : Object)
|
|
52
44
|
], BoardSecret.prototype, "creator", void 0);
|
|
53
|
-
__decorate([
|
|
45
|
+
tslib_1.__decorate([
|
|
54
46
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
55
47
|
nullable: true
|
|
56
48
|
}),
|
|
57
|
-
__metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
|
|
49
|
+
tslib_1.__metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
|
|
58
50
|
], BoardSecret.prototype, "updater", void 0);
|
|
59
|
-
BoardSecret = __decorate([
|
|
51
|
+
BoardSecret = tslib_1.__decorate([
|
|
60
52
|
(0, typeorm_1.Entity)(),
|
|
61
53
|
(0, typeorm_1.Index)('ix_board_secret_0', (boardSecret) => [boardSecret.domain, boardSecret.secret], { unique: true })
|
|
62
54
|
], BoardSecret);
|
|
@@ -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;0DAClB,cAAM,oBAAN,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;0DACO,gBAAI,oBAAJ,gBAAI;4CAAA;AAKb;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;0DACO,gBAAI,oBAAJ,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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/board-secret/index.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAC5C,qDAAgD;AAEnC,QAAA,QAAQ,GAAG,CAAC,0BAAW,CAAC,CAAA;AACxB,QAAA,SAAS,GAAG,CAAC,8BAAa,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/board-secret/index.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAC5C,qDAAgD;AAEnC,QAAA,QAAQ,GAAG,CAAC,0BAAW,CAAC,CAAA;AACxB,QAAA,SAAS,GAAG,CAAC,8BAAa,CAAC,CAAA","sourcesContent":["import { BoardSecret } from './board-secret'\nimport { BoardResolver } from './board-resolver'\n\nexport const entities = [BoardSecret]\nexport const resolvers = [BoardResolver]\n"]}
|
|
@@ -1,29 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.DomainResolver = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
16
5
|
const type_graphql_1 = require("type-graphql");
|
|
17
6
|
const typeorm_1 = require("typeorm");
|
|
18
7
|
const shell_1 = require("@things-factory/shell");
|
|
19
8
|
const utils_1 = require("@things-factory/utils");
|
|
20
|
-
const debug = require('debug')('things-factory:operato-board:domain-resolver');
|
|
21
9
|
let DomainResolver = class DomainResolver {
|
|
22
10
|
async updateDomains(patches) {
|
|
23
11
|
const domainRepo = (0, typeorm_1.getRepository)(shell_1.Domain);
|
|
24
12
|
const _createRecords = patches.filter((patch) => !patch.id);
|
|
25
13
|
const _updateRecords = patches.filter((patch) => patch.id);
|
|
26
|
-
debug('update-domains');
|
|
27
14
|
if (_createRecords.length > 0) {
|
|
28
15
|
_createRecords.forEach(async (createRecord) => {
|
|
29
16
|
const subdomain = (0, utils_1.slugger)(createRecord.name);
|
|
@@ -42,15 +29,15 @@ let DomainResolver = class DomainResolver {
|
|
|
42
29
|
return true;
|
|
43
30
|
}
|
|
44
31
|
};
|
|
45
|
-
__decorate([
|
|
32
|
+
tslib_1.__decorate([
|
|
46
33
|
(0, type_graphql_1.Directive)('@privilege(category: "system", privilege: "mutation", superUserGranted: true)'),
|
|
47
34
|
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To update multiple domains' }),
|
|
48
|
-
__param(0, (0, type_graphql_1.Arg)('patches', type => [shell_1.DomainPatch])),
|
|
49
|
-
__metadata("design:type", Function),
|
|
50
|
-
__metadata("design:paramtypes", [Array]),
|
|
51
|
-
__metadata("design:returntype", Promise)
|
|
35
|
+
tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [shell_1.DomainPatch])),
|
|
36
|
+
tslib_1.__metadata("design:type", Function),
|
|
37
|
+
tslib_1.__metadata("design:paramtypes", [Array]),
|
|
38
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
52
39
|
], DomainResolver.prototype, "updateDomains", null);
|
|
53
|
-
DomainResolver = __decorate([
|
|
40
|
+
DomainResolver = tslib_1.__decorate([
|
|
54
41
|
(0, type_graphql_1.Resolver)(shell_1.Domain)
|
|
55
42
|
], DomainResolver);
|
|
56
43
|
exports.DomainResolver = DomainResolver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-resolver.js","sourceRoot":"","sources":["../../../server/service/domain-secret/domain-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain-resolver.js","sourceRoot":"","sources":["../../../server/service/domain-secret/domain-resolver.ts"],"names":[],"mappings":";;;;AAAA,+CAAiE;AACjE,qCAAmD;AAEnD,iDAA2D;AAC3D,iDAA+C;AAG/C,IAAa,cAAc,GAA3B,MAAa,cAAc;IAGzB,KAAK,CAAC,aAAa,CAAwC,OAAsB;QAC/E,MAAM,UAAU,GAAuB,IAAA,uBAAa,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 { getRepository, Repository } from 'typeorm'\n\nimport { Domain, DomainPatch } 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,54 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
2
|
var _a, _b, _c;
|
|
12
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
4
|
exports.DomainSecret = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
14
6
|
const typeorm_1 = require("typeorm");
|
|
15
7
|
const shell_1 = require("@things-factory/shell");
|
|
16
8
|
const auth_base_1 = require("@things-factory/auth-base");
|
|
17
9
|
let DomainSecret = class DomainSecret {
|
|
18
10
|
};
|
|
19
|
-
__decorate([
|
|
11
|
+
tslib_1.__decorate([
|
|
20
12
|
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
21
|
-
__metadata("design:type", String)
|
|
13
|
+
tslib_1.__metadata("design:type", String)
|
|
22
14
|
], DomainSecret.prototype, "id", void 0);
|
|
23
|
-
__decorate([
|
|
15
|
+
tslib_1.__decorate([
|
|
24
16
|
(0, typeorm_1.ManyToOne)(type => shell_1.Domain),
|
|
25
|
-
__metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
|
|
17
|
+
tslib_1.__metadata("design:type", typeof (_a = typeof shell_1.Domain !== "undefined" && shell_1.Domain) === "function" ? _a : Object)
|
|
26
18
|
], DomainSecret.prototype, "domain", void 0);
|
|
27
|
-
__decorate([
|
|
19
|
+
tslib_1.__decorate([
|
|
28
20
|
(0, typeorm_1.Column)(),
|
|
29
|
-
__metadata("design:type", String)
|
|
21
|
+
tslib_1.__metadata("design:type", String)
|
|
30
22
|
], DomainSecret.prototype, "secret", void 0);
|
|
31
|
-
__decorate([
|
|
23
|
+
tslib_1.__decorate([
|
|
32
24
|
(0, typeorm_1.CreateDateColumn)(),
|
|
33
|
-
__metadata("design:type", Date)
|
|
25
|
+
tslib_1.__metadata("design:type", Date)
|
|
34
26
|
], DomainSecret.prototype, "createdAt", void 0);
|
|
35
|
-
__decorate([
|
|
27
|
+
tslib_1.__decorate([
|
|
36
28
|
(0, typeorm_1.UpdateDateColumn)(),
|
|
37
|
-
__metadata("design:type", Date)
|
|
29
|
+
tslib_1.__metadata("design:type", Date)
|
|
38
30
|
], DomainSecret.prototype, "updatedAt", void 0);
|
|
39
|
-
__decorate([
|
|
31
|
+
tslib_1.__decorate([
|
|
40
32
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
41
33
|
nullable: true
|
|
42
34
|
}),
|
|
43
|
-
__metadata("design:type", typeof (_b = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _b : Object)
|
|
35
|
+
tslib_1.__metadata("design:type", typeof (_b = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _b : Object)
|
|
44
36
|
], DomainSecret.prototype, "creator", void 0);
|
|
45
|
-
__decorate([
|
|
37
|
+
tslib_1.__decorate([
|
|
46
38
|
(0, typeorm_1.ManyToOne)(type => auth_base_1.User, {
|
|
47
39
|
nullable: true
|
|
48
40
|
}),
|
|
49
|
-
__metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
|
|
41
|
+
tslib_1.__metadata("design:type", typeof (_c = typeof auth_base_1.User !== "undefined" && auth_base_1.User) === "function" ? _c : Object)
|
|
50
42
|
], DomainSecret.prototype, "updater", void 0);
|
|
51
|
-
DomainSecret = __decorate([
|
|
43
|
+
DomainSecret = tslib_1.__decorate([
|
|
52
44
|
(0, typeorm_1.Entity)(),
|
|
53
45
|
(0, typeorm_1.Index)('ix_domain_secret_0', (domainSecret) => [domainSecret.domain, domainSecret.secret], {
|
|
54
46
|
unique: true
|
|
@@ -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;0DAClB,cAAM,oBAAN,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;0DACO,gBAAI,oBAAJ,gBAAI;6CAAA;AAKb;IAHC,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,EAAE;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC;0DACO,gBAAI,oBAAJ,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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/domain-secret/index.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,uDAAkD;AAErC,QAAA,QAAQ,GAAG,CAAC,4BAAY,CAAC,CAAA;AACzB,QAAA,SAAS,GAAG,CAAC,gCAAc,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/domain-secret/index.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,uDAAkD;AAErC,QAAA,QAAQ,GAAG,CAAC,4BAAY,CAAC,CAAA;AACzB,QAAA,SAAS,GAAG,CAAC,gCAAc,CAAC,CAAA","sourcesContent":["import { DomainSecret } from './domain-secret'\nimport { DomainResolver } from './domain-resolver'\n\nexport const entities = [DomainSecret]\nexport const resolvers = [DomainResolver]\n"]}
|
|
@@ -1,23 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
3
|
exports.schema = exports.entities = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
18
5
|
/* EXPORT ENTITY TYPES */
|
|
19
|
-
__exportStar(require("./domain-secret/domain-secret"), exports);
|
|
20
|
-
__exportStar(require("./board-secret/board-secret"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./domain-secret/domain-secret"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./board-secret/board-secret"), exports);
|
|
21
8
|
/* IMPORT ENTITIES AND RESOLVERS */
|
|
22
9
|
const board_favorite_1 = require("./board-favorite");
|
|
23
10
|
const domain_secret_1 = require("./domain-secret");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,wEAA6C;AAC7C,sEAA2C;AAE3C,mCAAmC;AACnC,qDAAyG;AACzG,mDAAgG;AAChG,iDAA6F;AAEhF,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,yBAAqB;IACxB,GAAG,wBAAoB;IACvB,GAAG,uBAAmB;CACvB,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,sBAAsB;QACtB,GAAG,0BAAsB;QACzB,GAAG,yBAAe;QAClB,GAAG,wBAAc;KAClB;CACF,CAAA","sourcesContent":["/* EXPORT ENTITY TYPES */\nexport * from './domain-secret/domain-secret'\nexport * from './board-secret/board-secret'\n\n/* IMPORT ENTITIES AND RESOLVERS */\nimport { entities as BoardFavoriteEntities, resolvers as BoardFavoriteResolvers } from './board-favorite'\nimport { entities as DomainSecretEntities, resolvers as DomainResolvers } from './domain-secret'\nimport { entities as BoardSecretEntities, resolvers as BoardResolvers } from './board-secret'\n\nexport const entities = [\n /* ENTITIES */\n ...BoardFavoriteEntities,\n ...DomainSecretEntities,\n ...BoardSecretEntities\n]\n\nexport const schema = {\n resolverClasses: [\n /* RESOLVER CLASSES */\n ...BoardFavoriteResolvers,\n ...DomainResolvers,\n ...BoardResolvers\n ]\n}\n"]}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
3
|
exports.BoardSubscriber = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
10
5
|
const typeorm_1 = require("typeorm");
|
|
11
6
|
const board_service_1 = require("@things-factory/board-service");
|
|
12
7
|
const operato_license_checker_1 = require("@things-factory/operato-license-checker");
|
|
@@ -62,7 +57,7 @@ let BoardSubscriber = class BoardSubscriber {
|
|
|
62
57
|
where target_id not in (select id from boards)`);
|
|
63
58
|
}
|
|
64
59
|
};
|
|
65
|
-
BoardSubscriber = __decorate([
|
|
60
|
+
BoardSubscriber = tslib_1.__decorate([
|
|
66
61
|
(0, typeorm_1.EventSubscriber)()
|
|
67
62
|
], BoardSubscriber);
|
|
68
63
|
exports.BoardSubscriber = BoardSubscriber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-subscriber.js","sourceRoot":"","sources":["../../server/subscribers/board-subscriber.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"board-subscriber.js","sourceRoot":"","sources":["../../server/subscribers/board-subscriber.ts"],"names":[],"mappings":";;;;AAAA,qCAA8F;AAE9F,iEAAqD;AACrD,qFAA+F;AAE/F,2DAAsD;AACtD,uEAAkE;AAElE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAGhC,IAAa,eAAe,GAA5B,MAAa,eAAe;IAC1B,QAAQ;QACN,OAAO,qBAAK,CAAA;IACd,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAyB;QACzC,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAA;QACjC,IAAI,IAAA,qCAAW,GAAE,EAAE;YACjB,QAAQ;YACR,uDAAuD;YACvD,IAAI,KAAK,GAAU,KAAK,CAAC,MAAM,CAAA;YAC/B,IAAI,MAAM,GAAQ,KAAK,CAAC,MAAM,CAAC,MAAM,CAAA;YACrC,IAAI,KAAK,GACP,CAAC,MAAM,aAAa;iBACjB,kBAAkB,EAAE;iBACpB,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,0BAAW,EAAE,QAAQ,CAAC;iBAC3B,KAAK,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBACvD,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;YAEpB,oDAAoD;YACpD,IAAI,IAAA,qCAAW,EAAC,KAAK,CAAC,EAAE;gBACtB,IAAI,KAAK,GAAU,KAAK,CAAC,MAAM,CAAA;gBAC/B,IAAI,WAAW,GAAgB,IAAI,0BAAW,EAAE,CAAA;gBAChD,WAAW,CAAC,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;gBACpC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAA;gBAC/B,WAAW,CAAC,UAAU,GAAG,OAAO,CAAA;gBAChC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;gBAEjC,IAAI,IAAI,GAAG,IAAA,qCAAW,EAAC,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC/D,WAAW,CAAC,MAAM,GAAG,IAAI,CAAA;gBAEzB,MAAM,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;aACtC;iBAAM;gBACL,MAAM,IAAI,4BAAY,CAAC;oBACrB,SAAS,EAAE,4BAAY,CAAC,WAAW,CAAC,UAAU;iBAC/C,CAAC,CAAA;aACH;SACF;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAyB;QACzC,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAA;QACjC,MAAM,aAAa,CAAC,KAAK,CACvB;;2DAEqD,CACtD,CAAA;IACH,CAAC;CACF,CAAA;AAtDY,eAAe;IAD3B,IAAA,yBAAe,GAAE;GACL,eAAe,CAsD3B;AAtDY,0CAAe","sourcesContent":["import { EntitySubscriberInterface, EventSubscriber, InsertEvent, RemoveEvent } from 'typeorm'\n\nimport { Board } from '@things-factory/board-service'\nimport { checkTarget, doSomething, getValidity } from '@things-factory/operato-license-checker'\n\nimport { LicenseError } from '../errors/license-error'\nimport { BoardSecret } from '../service/board-secret/board-secret'\n\nconst crypto = require('crypto')\n\n@EventSubscriber()\nexport class BoardSubscriber implements EntitySubscriberInterface<Board> {\n listenTo() {\n return Board\n }\n /**\n * Called before board insertion.\n */\n async afterInsert(event: InsertEvent<Board>) {\n var entityManager = event.manager\n if (getValidity()) {\n //target\n //1. check board count is over licensed quantity or not\n var board: Board = event.entity\n var domain: any = event.entity.domain\n var count =\n (await entityManager\n .createQueryBuilder()\n .select('board')\n .from(BoardSecret, 'secret')\n .where('domain_id = :domainId', { domainId: domain.id })\n .getCount()) + 1\n\n //2. create new token to board and save board-secret\n if (checkTarget(count)) {\n var board: Board = event.entity\n var boardSecret: BoardSecret = new BoardSecret()\n boardSecret.id = crypto.randomUUID()\n boardSecret.targetId = board.id\n boardSecret.targetType = 'board'\n boardSecret.domain = board.domain\n\n var hash = doSomething({ secId: boardSecret.id, id: board.id })\n boardSecret.secret = hash\n\n await entityManager.save(boardSecret)\n } else {\n throw new LicenseError({\n errorCode: LicenseError.ERROR_CODES.OVER_LIMIT\n })\n }\n }\n }\n\n /**\n * Called after entity is removed.\n */\n async afterRemove(event: RemoveEvent<Board>) {\n var entityManager = event.manager\n await entityManager.query(\n `delete \n from board_secrets\n where target_id not in (select id from boards)`\n )\n }\n}\n"]}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
3
|
exports.DomainSubscriber = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
10
5
|
const typeorm_1 = require("typeorm");
|
|
11
6
|
const uuid_1 = require("uuid");
|
|
12
7
|
const operato_license_checker_1 = require("@things-factory/operato-license-checker");
|
|
@@ -36,7 +31,7 @@ let DomainSubscriber = class DomainSubscriber {
|
|
|
36
31
|
var domain = event.entity;
|
|
37
32
|
var domainSecret = new domain_secret_1.DomainSecret();
|
|
38
33
|
domainSecret.id = (0, uuid_1.v4)();
|
|
39
|
-
domainSecret.domain = domain
|
|
34
|
+
domainSecret.domain = domain;
|
|
40
35
|
var hash = (0, operato_license_checker_1.doSomething)({ secId: domainSecret.id, id: domain.id });
|
|
41
36
|
domainSecret.secret = hash;
|
|
42
37
|
await entityManager.save(domainSecret);
|
|
@@ -58,7 +53,7 @@ let DomainSubscriber = class DomainSubscriber {
|
|
|
58
53
|
where domain_id not in (select id from domains)`);
|
|
59
54
|
}
|
|
60
55
|
};
|
|
61
|
-
DomainSubscriber = __decorate([
|
|
56
|
+
DomainSubscriber = tslib_1.__decorate([
|
|
62
57
|
(0, typeorm_1.EventSubscriber)()
|
|
63
58
|
], DomainSubscriber);
|
|
64
59
|
exports.DomainSubscriber = DomainSubscriber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-subscriber.js","sourceRoot":"","sources":["../../server/subscribers/domain-subscriber.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain-subscriber.js","sourceRoot":"","sources":["../../server/subscribers/domain-subscriber.ts"],"names":[],"mappings":";;;;AAAA,qCAA8F;AAC9F,+BAAmC;AAEnC,qFAA+F;AAC/F,iDAA8C;AAE9C,2DAAsD;AACtD,0EAAqE;AAGrE,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAC3B,QAAQ;QACN,OAAO,cAAM,CAAA;IACf,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAA0B;QAC1C,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAA;QAEjC,IAAI,IAAA,qCAAW,GAAE,EAAE;YACjB,wDAAwD;YACxD,IAAI,MAAM,GAAW,KAAK,CAAC,MAAM,CAAA;YACjC,IAAI,KAAK,GACP,CAAC,MAAM,aAAa;iBACjB,kBAAkB,EAAE;iBACpB,MAAM,CAAC,QAAQ,CAAC;iBAChB,IAAI,CAAC,4BAAY,EAAE,QAAQ,CAAC;iBAC5B,KAAK,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBACvD,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;YAEpB,sDAAsD;YACtD,IAAI,IAAA,qCAAW,EAAC,KAAK,CAAC,EAAE;gBACtB,IAAI,MAAM,GAAW,KAAK,CAAC,MAAM,CAAA;gBACjC,IAAI,YAAY,GAAiB,IAAI,4BAAY,EAAE,CAAA;gBACnD,YAAY,CAAC,EAAE,GAAG,IAAA,SAAM,GAAE,CAAA;gBAC1B,YAAY,CAAC,MAAM,GAAG,MAAM,CAAA;gBAC5B,IAAI,IAAI,GAAG,IAAA,qCAAW,EAAC,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;gBACjE,YAAY,CAAC,MAAM,GAAG,IAAI,CAAA;gBAE1B,MAAM,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;aACvC;iBAAM;gBACL,MAAM,IAAI,4BAAY,CAAC;oBACrB,SAAS,EAAE,4BAAY,CAAC,WAAW,CAAC,kBAAkB;iBACvD,CAAC,CAAA;aACH;SACF;IACH,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAA0B;QAC1C,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAA;QACjC,MAAM,aAAa,CAAC,KAAK,CACvB;;4DAEsD,CACvD,CAAA;IACH,CAAC;CACF,CAAA;AAjDY,gBAAgB;IAD5B,IAAA,yBAAe,GAAE;GACL,gBAAgB,CAiD5B;AAjDY,4CAAgB","sourcesContent":["import { EntitySubscriberInterface, EventSubscriber, InsertEvent, RemoveEvent } from 'typeorm'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { checkDomain, doSomething, getValidity } from '@things-factory/operato-license-checker'\nimport { Domain } from '@things-factory/shell'\n\nimport { LicenseError } from '../errors/license-error'\nimport { DomainSecret } from '../service/domain-secret/domain-secret'\n\n@EventSubscriber()\nexport class DomainSubscriber implements EntitySubscriberInterface<Domain> {\n listenTo() {\n return Domain\n }\n /**\n * Called before domain insertion.\n */\n async afterInsert(event: InsertEvent<Domain>) {\n var entityManager = event.manager\n\n if (getValidity()) {\n //1. check domain count is over licensed quantity or not\n var domain: Domain = event.entity\n var count =\n (await entityManager\n .createQueryBuilder()\n .select('domain')\n .from(DomainSecret, 'secret')\n .where('domain_id = :domainId', { domainId: domain.id })\n .getCount()) + 1\n\n //2. create new token to domain and save domain-secret\n if (checkDomain(count)) {\n var domain: Domain = event.entity\n var domainSecret: DomainSecret = new DomainSecret()\n domainSecret.id = uuidv4()\n domainSecret.domain = domain\n var hash = doSomething({ secId: domainSecret.id, id: domain.id })\n domainSecret.secret = hash\n\n await entityManager.save(domainSecret)\n } else {\n throw new LicenseError({\n errorCode: LicenseError.ERROR_CODES.VERIFICATION_ERROR\n })\n }\n }\n }\n /**\n * Called after entity is removed.\n */\n async afterRemove(event: RemoveEvent<Domain>) {\n var entityManager = event.manager\n await entityManager.query(\n `delete \n from domain_secrets\n where domain_id not in (select id from domains)`\n )\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/subscribers/index.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AASlD,gGATO,kCAAe,OASP;AARjB,2DAAsD;AASpD,iGATO,oCAAgB,OASP;AAPL,QAAA,WAAW,GAAG;IACzB,kCAAe;IACf,oCAAgB;CACjB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/subscribers/index.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AASlD,gGATO,kCAAe,OASP;AARjB,2DAAsD;AASpD,iGATO,oCAAgB,OASP;AAPL,QAAA,WAAW,GAAG;IACzB,kCAAe;IACf,oCAAgB;CACjB,CAAA","sourcesContent":["import { BoardSubscriber } from './board-subscriber'\nimport { DomainSubscriber } from './domain-subscriber'\n\nexport const subscribers = [\n BoardSubscriber,\n DomainSubscriber\n]\n \nexport {\n BoardSubscriber,\n DomainSubscriber\n}"]}
|