@things-factory/board-service 4.3.591 → 4.3.671
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/package.json +4 -4
- package/dist-server/controllers/fonts.js +0 -11
- package/dist-server/controllers/fonts.js.map +0 -1
- package/dist-server/controllers/headless-model.js +0 -32
- package/dist-server/controllers/headless-model.js.map +0 -1
- package/dist-server/controllers/headless-pool-for-board.js +0 -86
- package/dist-server/controllers/headless-pool-for-board.js.map +0 -1
- package/dist-server/controllers/headless-pool-for-label.js +0 -157
- package/dist-server/controllers/headless-pool-for-label.js.map +0 -1
- package/dist-server/controllers/index.js +0 -19
- package/dist-server/controllers/index.js.map +0 -1
- package/dist-server/controllers/label-command.js +0 -52
- package/dist-server/controllers/label-command.js.map +0 -1
- package/dist-server/controllers/pdf.js +0 -92
- package/dist-server/controllers/pdf.js.map +0 -1
- package/dist-server/controllers/print.js +0 -57
- package/dist-server/controllers/print.js.map +0 -1
- package/dist-server/controllers/screenshot.js +0 -90
- package/dist-server/controllers/screenshot.js.map +0 -1
- package/dist-server/controllers/thumbnail.js +0 -16
- package/dist-server/controllers/thumbnail.js.map +0 -1
- package/dist-server/index.js +0 -21
- package/dist-server/index.js.map +0 -1
- package/dist-server/migrations/1556862253000-SeedGroup.js +0 -43
- package/dist-server/migrations/1556862253000-SeedGroup.js.map +0 -1
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/dist-server/routers/board-print-router.js +0 -40
- package/dist-server/routers/board-print-router.js.map +0 -1
- package/dist-server/routers/internal-board-view-router.js +0 -19
- package/dist-server/routers/internal-board-view-router.js.map +0 -1
- package/dist-server/routers/standalone-board-service-router.js +0 -92
- package/dist-server/routers/standalone-board-service-router.js.map +0 -1
- package/dist-server/routes.js +0 -25
- package/dist-server/routes.js.map +0 -1
- package/dist-server/service/board/board-mutation.js +0 -133
- package/dist-server/service/board/board-mutation.js.map +0 -1
- package/dist-server/service/board/board-query.js +0 -121
- package/dist-server/service/board/board-query.js.map +0 -1
- package/dist-server/service/board/board-type.js +0 -81
- package/dist-server/service/board/board-type.js.map +0 -1
- package/dist-server/service/board/board.js +0 -128
- package/dist-server/service/board/board.js.map +0 -1
- package/dist-server/service/board/index.js +0 -9
- package/dist-server/service/board/index.js.map +0 -1
- package/dist-server/service/group/group-mutation.js +0 -96
- package/dist-server/service/group/group-mutation.js.map +0 -1
- package/dist-server/service/group/group-query.js +0 -100
- package/dist-server/service/group/group-query.js.map +0 -1
- package/dist-server/service/group/group-type.js +0 -57
- package/dist-server/service/group/group-type.js.map +0 -1
- package/dist-server/service/group/group.js +0 -90
- package/dist-server/service/group/group.js.map +0 -1
- package/dist-server/service/group/index.js +0 -9
- package/dist-server/service/group/index.js.map +0 -1
- package/dist-server/service/index.js +0 -40
- package/dist-server/service/index.js.map +0 -1
- package/dist-server/service/play-group/index.js +0 -9
- package/dist-server/service/play-group/index.js.map +0 -1
- package/dist-server/service/play-group/play-group-mutation.js +0 -119
- package/dist-server/service/play-group/play-group-mutation.js.map +0 -1
- package/dist-server/service/play-group/play-group-query.js +0 -99
- package/dist-server/service/play-group/play-group-query.js.map +0 -1
- package/dist-server/service/play-group/play-group-type.js +0 -57
- package/dist-server/service/play-group/play-group-type.js.map +0 -1
- package/dist-server/service/play-group/play-group.js +0 -91
- package/dist-server/service/play-group/play-group.js.map +0 -1
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.screenshot = void 0;
|
|
4
|
-
const fonts_1 = require("./fonts");
|
|
5
|
-
const headless_pool_for_board_1 = require("./headless-pool-for-board");
|
|
6
|
-
const headless_model_1 = require("./headless-model");
|
|
7
|
-
const protocol = 'http';
|
|
8
|
-
const host = 'localhost';
|
|
9
|
-
const path = '/internal-board-service-view';
|
|
10
|
-
const screenshot = async ({ id = '', model = null, data = null, width: w = 0, height: h = 0, options = { encoding: 'base64' }, isThumbnail = false, context = {} } = {}) => {
|
|
11
|
-
const browser = (await (0, headless_pool_for_board_1.getHeadlessPool)().acquire());
|
|
12
|
-
var screenshot = null;
|
|
13
|
-
if (!browser) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
const { domain, user } = context.state;
|
|
17
|
-
var { model, base } = await (0, headless_model_1.headlessModel)({ domain, id, model });
|
|
18
|
-
model.fonts = await (0, fonts_1.fonts)();
|
|
19
|
-
var { width, height } = model;
|
|
20
|
-
if (isThumbnail) {
|
|
21
|
-
var widthRatio = 400 / width, heightRatio = 300 / height;
|
|
22
|
-
var ratio = widthRatio < heightRatio ? widthRatio : heightRatio;
|
|
23
|
-
width = width * ratio;
|
|
24
|
-
height = height * ratio;
|
|
25
|
-
}
|
|
26
|
-
width = Math.floor(w || Number(width));
|
|
27
|
-
height = Math.floor(h || Number(height));
|
|
28
|
-
const port = process.env.PORT ? `:${process.env.PORT}` : '';
|
|
29
|
-
const url = `${protocol}://${host}${port}${path}`;
|
|
30
|
-
var page = await browser.newPage();
|
|
31
|
-
try {
|
|
32
|
-
/* @remember-me width, height should be a integer */
|
|
33
|
-
await page.setViewport({ width, height });
|
|
34
|
-
await page.setRequestInterception(true);
|
|
35
|
-
await page.setDefaultTimeout(5000);
|
|
36
|
-
page.on('console', msg => {
|
|
37
|
-
console.log(`[browser ${msg._type}] ${msg._text}`);
|
|
38
|
-
for (let i = 0; i < msg.args().length; ++i)
|
|
39
|
-
console.log(`${i}: ${msg.args()[i]}`);
|
|
40
|
-
});
|
|
41
|
-
const token = await (user === null || user === void 0 ? void 0 : user.sign()); // TODO improve performance
|
|
42
|
-
page.on('request', request => {
|
|
43
|
-
if (request.url() === url) {
|
|
44
|
-
request.continue({
|
|
45
|
-
method: 'POST',
|
|
46
|
-
headers: {
|
|
47
|
-
'Content-Type': 'application/json',
|
|
48
|
-
'x-things-factory-domain': domain === null || domain === void 0 ? void 0 : domain.subdomain,
|
|
49
|
-
Authorization: 'Bearer ' + token
|
|
50
|
-
},
|
|
51
|
-
postData: JSON.stringify({
|
|
52
|
-
model,
|
|
53
|
-
base
|
|
54
|
-
})
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
else if (request.url().startsWith(`${protocol}://${host}${port}`)) {
|
|
58
|
-
request.continue({
|
|
59
|
-
headers: Object.assign(Object.assign({}, request.headers()), { 'x-things-factory-domain': domain === null || domain === void 0 ? void 0 : domain.subdomain, Authorization: 'Bearer ' + token })
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
request.continue();
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
await page.goto(url);
|
|
67
|
-
await page.evaluate(async (data) => {
|
|
68
|
-
if (data) {
|
|
69
|
-
// @ts-ignore
|
|
70
|
-
s.data = data;
|
|
71
|
-
}
|
|
72
|
-
// data 주입 후 강제 지연시킴.
|
|
73
|
-
return new Promise(resolve => {
|
|
74
|
-
// @ts-ignore
|
|
75
|
-
requestAnimationFrame(() => resolve());
|
|
76
|
-
});
|
|
77
|
-
}, data);
|
|
78
|
-
screenshot = await page.screenshot(options);
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
console.log(error);
|
|
82
|
-
}
|
|
83
|
-
finally {
|
|
84
|
-
page.close();
|
|
85
|
-
(0, headless_pool_for_board_1.getHeadlessPool)().release(browser);
|
|
86
|
-
}
|
|
87
|
-
return screenshot;
|
|
88
|
-
};
|
|
89
|
-
exports.screenshot = screenshot;
|
|
90
|
-
//# sourceMappingURL=screenshot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../server/controllers/screenshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.thumbnail = void 0;
|
|
4
|
-
const screenshot_1 = require("./screenshot");
|
|
5
|
-
const thumbnail = async ({ id = '', model = null, data = null, options = { encoding: 'base64', type: 'png' }, context = {} } = {}) => {
|
|
6
|
-
return await (0, screenshot_1.screenshot)({
|
|
7
|
-
id,
|
|
8
|
-
model,
|
|
9
|
-
data,
|
|
10
|
-
options,
|
|
11
|
-
isThumbnail: true,
|
|
12
|
-
context
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
exports.thumbnail = thumbnail;
|
|
16
|
-
//# sourceMappingURL=thumbnail.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"thumbnail.js","sourceRoot":"","sources":["../../server/controllers/thumbnail.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAElC,MAAM,SAAS,GAAG,KAAK,EAAE,EAC9B,EAAE,GAAG,EAAE,EACP,KAAK,GAAG,IAAI,EACZ,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAS,EACpD,OAAO,GAAG,EAAE,KACV,EAAE,EAAE,EAAE;IACR,OAAO,MAAM,IAAA,uBAAU,EAAC;QACtB,EAAE;QACF,KAAK;QACL,IAAI;QACJ,OAAO;QACP,WAAW,EAAE,IAAI;QACjB,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAA;AAfY,QAAA,SAAS,aAerB"}
|
package/dist-server/index.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./service"), exports);
|
|
18
|
-
__exportStar(require("./migrations"), exports);
|
|
19
|
-
__exportStar(require("./controllers"), exports);
|
|
20
|
-
require("./routes");
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
package/dist-server/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,+CAA4B;AAC5B,gDAA6B;AAE7B,oBAAiB"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SeedGroup1556862253000 = void 0;
|
|
4
|
-
const typeorm_1 = require("typeorm");
|
|
5
|
-
const shell_1 = require("@things-factory/shell");
|
|
6
|
-
const group_1 = require("../service/group/group");
|
|
7
|
-
const SEED_GROUP = [
|
|
8
|
-
{
|
|
9
|
-
name: 'DASHBOARD',
|
|
10
|
-
description: 'Dashboard'
|
|
11
|
-
}
|
|
12
|
-
];
|
|
13
|
-
class SeedGroup1556862253000 {
|
|
14
|
-
async up(queryRunner) {
|
|
15
|
-
const repository = (0, typeorm_1.getRepository)(group_1.Group);
|
|
16
|
-
const domainRepository = (0, typeorm_1.getRepository)(shell_1.Domain);
|
|
17
|
-
const domain = await domainRepository.findOne({ name: 'SYSTEM' });
|
|
18
|
-
try {
|
|
19
|
-
return await Promise.all(SEED_GROUP.map(async (group) => {
|
|
20
|
-
await repository.save(Object.assign(Object.assign({}, group), { domain }));
|
|
21
|
-
}));
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
console.error(e);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
async down(queryRunner) {
|
|
28
|
-
const repository = (0, typeorm_1.getRepository)(group_1.Group);
|
|
29
|
-
const domainRepository = (0, typeorm_1.getRepository)(shell_1.Domain);
|
|
30
|
-
const domain = await domainRepository.findOne({ name: 'SYSTEM' });
|
|
31
|
-
SEED_GROUP.reverse().forEach(async (group) => {
|
|
32
|
-
let record = await repository.findOne({
|
|
33
|
-
where: {
|
|
34
|
-
domain,
|
|
35
|
-
name: group.name
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
await repository.remove(record);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
exports.SeedGroup1556862253000 = SeedGroup1556862253000;
|
|
43
|
-
//# sourceMappingURL=1556862253000-SeedGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"1556862253000-SeedGroup.js","sourceRoot":"","sources":["../../server/migrations/1556862253000-SeedGroup.ts"],"names":[],"mappings":";;;AACA,qCAAuC;AACvC,iDAA8C;AAC9C,kDAA8C;AAE9C,MAAM,UAAU,GAAG;IACjB;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,WAAW;KACzB;CACF,CAAA;AAED,MAAa,sBAAsB;IAC1B,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,aAAK,CAAC,CAAA;QACvC,MAAM,gBAAgB,GAAG,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEjE,IAAI;YACF,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;gBAC3B,MAAM,UAAU,CAAC,IAAI,iCAChB,KAAK,KACR,MAAM,IACN,CAAA;YACJ,CAAC,CAAC,CACH,CAAA;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;SACjB;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAAC,aAAK,CAAC,CAAA;QACvC,MAAM,gBAAgB,GAAG,IAAA,uBAAa,EAAC,cAAM,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEjE,UAAU,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YACzC,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;gBACpC,KAAK,EAAE;oBACL,MAAM;oBACN,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB;aACF,CAAC,CAAA;YAEF,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AApCD,wDAoCC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.migrations = void 0;
|
|
4
|
-
const glob = require('glob');
|
|
5
|
-
const path = require('path');
|
|
6
|
-
exports.migrations = [];
|
|
7
|
-
glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function (file) {
|
|
8
|
-
if (file.indexOf('index.js') !== -1)
|
|
9
|
-
return;
|
|
10
|
-
exports.migrations = exports.migrations.concat(Object.values(require(path.resolve(file))) || []);
|
|
11
|
-
});
|
|
12
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.boardPrintRouter = void 0;
|
|
7
|
-
const koa_router_1 = __importDefault(require("koa-router"));
|
|
8
|
-
const label_command_1 = require("../controllers/label-command");
|
|
9
|
-
const print_1 = require("../controllers/print");
|
|
10
|
-
exports.boardPrintRouter = new koa_router_1.default();
|
|
11
|
-
/**
|
|
12
|
-
* ?printerId=printer_id&data=grf_string
|
|
13
|
-
*/
|
|
14
|
-
exports.boardPrintRouter.get('/print', async (context, next) => {
|
|
15
|
-
const { domain } = context.state;
|
|
16
|
-
let data = Object.keys(context.query).length ? context.query : null;
|
|
17
|
-
context.body = await (0, print_1.printDirect)(data.printerId, data.data);
|
|
18
|
-
});
|
|
19
|
-
/**
|
|
20
|
-
* { printerId: 'printer driver ID', data: 'grf string' }
|
|
21
|
-
*/
|
|
22
|
-
exports.boardPrintRouter.post('/print', async (context, next) => {
|
|
23
|
-
const { domain } = context.state;
|
|
24
|
-
let params = context.request.body;
|
|
25
|
-
context.type = 'text/plain';
|
|
26
|
-
context.body = await (0, print_1.printDirect)(params.printerId, params.data);
|
|
27
|
-
});
|
|
28
|
-
exports.boardPrintRouter.get('/print-label/:id', async (context, next) => {
|
|
29
|
-
const { domain } = context.state;
|
|
30
|
-
const { id } = context.params;
|
|
31
|
-
let data = Object.keys(context.query).length ? context.query : null;
|
|
32
|
-
let orientation = data && data.orientation;
|
|
33
|
-
let mirror = data && data.mirror;
|
|
34
|
-
let upsideDown = data && data.upsideDown;
|
|
35
|
-
let grf = await (0, label_command_1.labelcommand)({ id, data, orientation, mirror, upsideDown, context });
|
|
36
|
-
context.type = 'text/plain';
|
|
37
|
-
// TODO: 동기화
|
|
38
|
-
context.body = (0, print_1.printDirect)(data.printerId, grf);
|
|
39
|
-
});
|
|
40
|
-
//# sourceMappingURL=board-print-router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"board-print-router.js","sourceRoot":"","sources":["../../server/routers/board-print-router.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAE/B,gEAA2D;AAC3D,gDAAkD;AAErC,QAAA,gBAAgB,GAAG,IAAI,oBAAM,EAAE,CAAA;AAE5C;;GAEG;AACH,wBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACrD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAChC,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAEnE,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;AAC7D,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,wBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACtD,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAChC,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;IAEjC,OAAO,CAAC,IAAI,GAAG,YAAY,CAAA;IAC3B,OAAO,CAAC,IAAI,GAAG,MAAM,IAAA,mBAAW,EAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AACjE,CAAC,CAAC,CAAA;AAEF,wBAAgB,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAChC,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAEnE,IAAI,WAAW,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,CAAA;IAC1C,IAAI,MAAM,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,CAAA;IAChC,IAAI,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,CAAA;IACxC,IAAI,GAAG,GAAG,MAAM,IAAA,4BAAY,EAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAS,CAAC,CAAA;IAE3F,OAAO,CAAC,IAAI,GAAG,YAAY,CAAA;IAC3B,YAAY;IACZ,OAAO,CAAC,IAAI,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AACjD,CAAC,CAAC,CAAA"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.internalBoardViewRouter = void 0;
|
|
7
|
-
const koa_router_1 = __importDefault(require("koa-router"));
|
|
8
|
-
exports.internalBoardViewRouter = new koa_router_1.default();
|
|
9
|
-
// should be used only for building label command by headless chrome internally
|
|
10
|
-
exports.internalBoardViewRouter.post('/internal-label-command-view', async (context, next) => {
|
|
11
|
-
let model = context.request.body;
|
|
12
|
-
await context.render('internal-label-command-view', { model });
|
|
13
|
-
});
|
|
14
|
-
// should be used only for building board service by headless chrome internally
|
|
15
|
-
exports.internalBoardViewRouter.post('/internal-board-service-view', async (context, next) => {
|
|
16
|
-
let { model, base } = context.request.body;
|
|
17
|
-
await context.render('internal-board-service-view', { model, base });
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=internal-board-view-router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal-board-view-router.js","sourceRoot":"","sources":["../../server/routers/internal-board-view-router.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA+B;AAElB,QAAA,uBAAuB,GAAG,IAAI,oBAAM,EAAE,CAAA;AAEnD,+EAA+E;AAC/E,+BAAuB,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACnF,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;IAChC,MAAM,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AAChE,CAAC,CAAC,CAAA;AAEF,+EAA+E;AAC/E,+BAAuB,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IACnF,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAA;IAC1C,MAAM,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AACtE,CAAC,CAAC,CAAA"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.standaloneBoardServiceRouter = void 0;
|
|
7
|
-
const content_disposition_1 = __importDefault(require("content-disposition"));
|
|
8
|
-
const koa_router_1 = __importDefault(require("koa-router"));
|
|
9
|
-
const typeorm_1 = require("typeorm");
|
|
10
|
-
const auth_base_1 = require("@things-factory/auth-base");
|
|
11
|
-
const fonts_1 = require("../controllers/fonts");
|
|
12
|
-
const headless_model_1 = require("../controllers/headless-model");
|
|
13
|
-
const label_command_1 = require("../controllers/label-command");
|
|
14
|
-
const pdf_1 = require("../controllers/pdf");
|
|
15
|
-
const screenshot_1 = require("../controllers/screenshot");
|
|
16
|
-
const board_1 = require("../service/board/board");
|
|
17
|
-
exports.standaloneBoardServiceRouter = new koa_router_1.default();
|
|
18
|
-
// for board headless
|
|
19
|
-
exports.standaloneBoardServiceRouter.get('/headless-full/:id', async (context, next) => {
|
|
20
|
-
const { domain, user } = context.state;
|
|
21
|
-
const { id } = context.params;
|
|
22
|
-
const { model, base } = await (0, headless_model_1.headlessModel)({ domain, id });
|
|
23
|
-
model.fonts = await (0, fonts_1.fonts)();
|
|
24
|
-
(0, auth_base_1.setAccessTokenCookie)(context, await user.sign({ domain }));
|
|
25
|
-
await context.render('internal-board-full-feature-view', { model, base });
|
|
26
|
-
});
|
|
27
|
-
// for board headless
|
|
28
|
-
exports.standaloneBoardServiceRouter.get('/headless/:id', async (context, next) => {
|
|
29
|
-
const { domain, user } = context.state;
|
|
30
|
-
const { id } = context.params;
|
|
31
|
-
const { model, base } = await (0, headless_model_1.headlessModel)({ domain, id });
|
|
32
|
-
model.fonts = await (0, fonts_1.fonts)();
|
|
33
|
-
(0, auth_base_1.setAccessTokenCookie)(context, await user.sign({ domain }));
|
|
34
|
-
await context.render('internal-board-service-view', { model, base });
|
|
35
|
-
});
|
|
36
|
-
// for board thumbnail
|
|
37
|
-
exports.standaloneBoardServiceRouter.get('/thumbnail/:id', async (context, next) => {
|
|
38
|
-
const { domain } = context.state;
|
|
39
|
-
const { id } = context.params;
|
|
40
|
-
const { name, thumbnail } = await (0, typeorm_1.getRepository)(board_1.Board).findOne({ domain, id });
|
|
41
|
-
if (thumbnail) {
|
|
42
|
-
const index = thumbnail.indexOf(';base64,');
|
|
43
|
-
const base64 = thumbnail.substring(index + 8);
|
|
44
|
-
const buffer = Buffer.from(base64, 'base64');
|
|
45
|
-
context.type = 'image/png';
|
|
46
|
-
context.set('Content-Disposition', (0, content_disposition_1.default)(`thumbnail-${name}.png`));
|
|
47
|
-
context.body = buffer;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
context.throw(404, 'thumbnail not found');
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
// for webpage scrap
|
|
54
|
-
exports.standaloneBoardServiceRouter.get('/screenshot/:id', async (context, next) => {
|
|
55
|
-
const { domain } = context.state;
|
|
56
|
-
const { id } = context.params;
|
|
57
|
-
const { model, board } = await (0, headless_model_1.headlessModel)({ domain, id });
|
|
58
|
-
const data = Object.keys(context.query).length ? context.query : null;
|
|
59
|
-
context.type = 'image/png';
|
|
60
|
-
context.set('Content-Disposition', (0, content_disposition_1.default)(`${board.name}.png`));
|
|
61
|
-
context.body = await (0, screenshot_1.screenshot)({ id, model, data, options: { encoding: 'binary', type: 'png' }, context });
|
|
62
|
-
});
|
|
63
|
-
// for webpage scrap
|
|
64
|
-
exports.standaloneBoardServiceRouter.get('/board/pdf/:id', async (context, next) => {
|
|
65
|
-
const { domain } = context.state;
|
|
66
|
-
const { id } = context.params;
|
|
67
|
-
const { model, board } = await (0, headless_model_1.headlessModel)({ domain, id });
|
|
68
|
-
const data = Object.keys(context.query).length ? context.query : null;
|
|
69
|
-
const result = await (0, pdf_1.pdf)({
|
|
70
|
-
id,
|
|
71
|
-
model,
|
|
72
|
-
data,
|
|
73
|
-
options: {
|
|
74
|
-
format: 'A4'
|
|
75
|
-
},
|
|
76
|
-
context
|
|
77
|
-
});
|
|
78
|
-
context.type = 'application/pdf';
|
|
79
|
-
context.set('Content-Disposition', (0, content_disposition_1.default)(`${board.name}.pdf`));
|
|
80
|
-
context.body = result;
|
|
81
|
-
});
|
|
82
|
-
// for webpage scrap => zpl image print(grf format) command
|
|
83
|
-
exports.standaloneBoardServiceRouter.get('/label-command/:id', async (context, next) => {
|
|
84
|
-
const { id } = context.params;
|
|
85
|
-
const data = Object.keys(context.query).length ? context.query : null;
|
|
86
|
-
const orientation = data && data.orientation;
|
|
87
|
-
const mirror = data && data.mirror;
|
|
88
|
-
const upsideDown = data && data.upsideDown;
|
|
89
|
-
context.type = 'text/plain';
|
|
90
|
-
context.body = await (0, label_command_1.labelcommand)({ id, data, orientation, mirror, upsideDown, context });
|
|
91
|
-
});
|
|
92
|
-
//# sourceMappingURL=standalone-board-service-router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"standalone-board-service-router.js","sourceRoot":"","sources":["../../server/routers/standalone-board-service-router.ts"],"names":[],"mappings":"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"}
|
package/dist-server/routes.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const board_print_router_1 = require("./routers/board-print-router");
|
|
4
|
-
const env_1 = require("@things-factory/env");
|
|
5
|
-
const headless_pool_for_board_1 = require("./controllers/headless-pool-for-board");
|
|
6
|
-
const headless_pool_for_label_1 = require("./controllers/headless-pool-for-label");
|
|
7
|
-
const internal_board_view_router_1 = require("./routers/internal-board-view-router");
|
|
8
|
-
const standalone_board_service_router_1 = require("./routers/standalone-board-service-router");
|
|
9
|
-
const isPathBaseDomain = !env_1.config.get('subdomain') && !env_1.config.get('useVirtualHostBasedDomain');
|
|
10
|
-
process.on('bootstrap-module-global-public-route', (app, domainGlobalPublicRouter) => {
|
|
11
|
-
(0, headless_pool_for_label_1.getHeadlessPool)();
|
|
12
|
-
(0, headless_pool_for_board_1.getHeadlessPool)();
|
|
13
|
-
domainGlobalPublicRouter.use('', internal_board_view_router_1.internalBoardViewRouter.routes(), internal_board_view_router_1.internalBoardViewRouter.allowedMethods());
|
|
14
|
-
});
|
|
15
|
-
process.on('bootstrap-module-domain-private-route', (app, domainPrivateRouter) => {
|
|
16
|
-
if (isPathBaseDomain) {
|
|
17
|
-
domainPrivateRouter.use('/domain/:domain', board_print_router_1.boardPrintRouter.routes(), board_print_router_1.boardPrintRouter.allowedMethods());
|
|
18
|
-
domainPrivateRouter.use('/domain/:domain', standalone_board_service_router_1.standaloneBoardServiceRouter.routes(), standalone_board_service_router_1.standaloneBoardServiceRouter.allowedMethods());
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
domainPrivateRouter.use('', board_print_router_1.boardPrintRouter.routes(), board_print_router_1.boardPrintRouter.allowedMethods());
|
|
22
|
-
domainPrivateRouter.use('', standalone_board_service_router_1.standaloneBoardServiceRouter.routes(), standalone_board_service_router_1.standaloneBoardServiceRouter.allowedMethods());
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":";;AAAA,qEAA+D;AAC/D,6CAA4C;AAC5C,mFAAkG;AAClG,mFAAkG;AAClG,qFAA8E;AAC9E,+FAAwF;AAExF,MAAM,gBAAgB,GAAG,CAAC,YAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,YAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;AAE7F,OAAO,CAAC,EAAE,CAAC,sCAA6C,EAAE,CAAC,GAAG,EAAE,wBAAwB,EAAE,EAAE;IAC1F,IAAA,yCAAuB,GAAE,CAAA;IACzB,IAAA,yCAAuB,GAAE,CAAA;IACzB,wBAAwB,CAAC,GAAG,CAAC,EAAE,EAAE,oDAAuB,CAAC,MAAM,EAAE,EAAE,oDAAuB,CAAC,cAAc,EAAE,CAAC,CAAA;AAC9G,CAAC,CAAC,CAAA;AAEF,OAAO,CAAC,EAAE,CAAC,uCAA8C,EAAE,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE;IACtF,IAAI,gBAAgB,EAAE;QACpB,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,EAAE,qCAAgB,CAAC,MAAM,EAAE,EAAE,qCAAgB,CAAC,cAAc,EAAE,CAAC,CAAA;QACxG,mBAAmB,CAAC,GAAG,CACrB,iBAAiB,EACjB,8DAA4B,CAAC,MAAM,EAAE,EACrC,8DAA4B,CAAC,cAAc,EAAE,CAC9C,CAAA;KACF;SAAM;QACL,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,qCAAgB,CAAC,MAAM,EAAE,EAAE,qCAAgB,CAAC,cAAc,EAAE,CAAC,CAAA;QACzF,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,8DAA4B,CAAC,MAAM,EAAE,EAAE,8DAA4B,CAAC,cAAc,EAAE,CAAC,CAAA;KAClH;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1,133 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.BoardMutation = void 0;
|
|
16
|
-
const type_graphql_1 = require("type-graphql");
|
|
17
|
-
const typeorm_1 = require("typeorm");
|
|
18
|
-
const shell_1 = require("@things-factory/shell");
|
|
19
|
-
const thumbnail_1 = require("../../controllers/thumbnail");
|
|
20
|
-
const group_1 = require("../group/group");
|
|
21
|
-
const board_1 = require("./board");
|
|
22
|
-
const board_type_1 = require("./board-type");
|
|
23
|
-
let BoardMutation = class BoardMutation {
|
|
24
|
-
async createBoard(board, context) {
|
|
25
|
-
const { domain, user, notify } = context.state;
|
|
26
|
-
const repository = (0, typeorm_1.getRepository)(board_1.Board);
|
|
27
|
-
const groupRepository = (0, typeorm_1.getRepository)(group_1.Group);
|
|
28
|
-
const newBoard = Object.assign({}, board);
|
|
29
|
-
if (board.groupId) {
|
|
30
|
-
newBoard.group = await groupRepository.findOne({
|
|
31
|
-
id: board.groupId
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
const base64 = await (0, thumbnail_1.thumbnail)({
|
|
35
|
-
model: board.model,
|
|
36
|
-
context
|
|
37
|
-
});
|
|
38
|
-
if (base64) {
|
|
39
|
-
newBoard.thumbnail = 'data:image/png;base64,' + base64.toString('base64');
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
newBoard.thumbnail = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
|
|
43
|
-
}
|
|
44
|
-
const created = await repository.save(Object.assign(Object.assign({ domain }, newBoard), { creator: user, updater: user }));
|
|
45
|
-
notify &&
|
|
46
|
-
notify({
|
|
47
|
-
mode: 'in-app',
|
|
48
|
-
title: `Board '${created.name}' created`,
|
|
49
|
-
body: `Board '${created.name}' created by ${user.name}\n${created.description}`,
|
|
50
|
-
url: (0, shell_1.getRedirectSubdomainPath)(context, domain.subdomain, `/board-viewer/${created.id}`)
|
|
51
|
-
});
|
|
52
|
-
return created;
|
|
53
|
-
}
|
|
54
|
-
async updateBoard(id, patch, context) {
|
|
55
|
-
const { domain, user, notify } = context.state;
|
|
56
|
-
const repository = (0, typeorm_1.getRepository)(board_1.Board);
|
|
57
|
-
const board = await repository.findOne({ domain, id });
|
|
58
|
-
if (patch.model) {
|
|
59
|
-
const base64 = await (0, thumbnail_1.thumbnail)({
|
|
60
|
-
model: patch.model,
|
|
61
|
-
context
|
|
62
|
-
});
|
|
63
|
-
if (base64) {
|
|
64
|
-
patch.thumbnail = 'data:image/png;base64,' + base64.toString('base64');
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
patch.thumbnail = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (patch.groupId !== undefined) {
|
|
71
|
-
const groupRepository = (0, typeorm_1.getRepository)(group_1.Group);
|
|
72
|
-
board.group =
|
|
73
|
-
(await groupRepository.findOne({
|
|
74
|
-
domain,
|
|
75
|
-
id: patch.groupId
|
|
76
|
-
})) || null;
|
|
77
|
-
delete patch.groupId;
|
|
78
|
-
}
|
|
79
|
-
const updated = await repository.save(Object.assign(Object.assign(Object.assign({}, board), patch), { updater: user }));
|
|
80
|
-
notify &&
|
|
81
|
-
notify({
|
|
82
|
-
mode: 'in-app',
|
|
83
|
-
title: `Board '${updated.name}' updated`,
|
|
84
|
-
body: `Board '${updated.name}' updated by ${user.name}\n${updated.description}`,
|
|
85
|
-
image: (0, shell_1.getRedirectSubdomainPath)(context, domain.subdomain, `/thumbnail/${updated.id}`),
|
|
86
|
-
url: (0, shell_1.getRedirectSubdomainPath)(context, domain.subdomain, `/board-viewer/${updated.id}`)
|
|
87
|
-
});
|
|
88
|
-
return updated;
|
|
89
|
-
}
|
|
90
|
-
async deleteBoard(id, context) {
|
|
91
|
-
const { domain, user, notify } = context.state;
|
|
92
|
-
const repository = (0, typeorm_1.getRepository)(board_1.Board);
|
|
93
|
-
const board = await repository.findOne({ domain, id });
|
|
94
|
-
const deleted = await repository.delete(id);
|
|
95
|
-
notify &&
|
|
96
|
-
notify({
|
|
97
|
-
mode: 'in-app',
|
|
98
|
-
title: `Board '${board.name}' deleted`,
|
|
99
|
-
body: `Board '${board.name}' deleted by ${user.name}\n${board.description}`
|
|
100
|
-
});
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
__decorate([
|
|
105
|
-
(0, type_graphql_1.Mutation)(returns => board_1.Board, { description: 'To create new Board' }),
|
|
106
|
-
__param(0, (0, type_graphql_1.Arg)('board')),
|
|
107
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
108
|
-
__metadata("design:type", Function),
|
|
109
|
-
__metadata("design:paramtypes", [board_type_1.NewBoard, Object]),
|
|
110
|
-
__metadata("design:returntype", Promise)
|
|
111
|
-
], BoardMutation.prototype, "createBoard", null);
|
|
112
|
-
__decorate([
|
|
113
|
-
(0, type_graphql_1.Mutation)(returns => board_1.Board, { description: 'To modify Board information' }),
|
|
114
|
-
__param(0, (0, type_graphql_1.Arg)('id')),
|
|
115
|
-
__param(1, (0, type_graphql_1.Arg)('patch')),
|
|
116
|
-
__param(2, (0, type_graphql_1.Ctx)()),
|
|
117
|
-
__metadata("design:type", Function),
|
|
118
|
-
__metadata("design:paramtypes", [String, board_type_1.BoardPatch, Object]),
|
|
119
|
-
__metadata("design:returntype", Promise)
|
|
120
|
-
], BoardMutation.prototype, "updateBoard", null);
|
|
121
|
-
__decorate([
|
|
122
|
-
(0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete Board' }),
|
|
123
|
-
__param(0, (0, type_graphql_1.Arg)('id')),
|
|
124
|
-
__param(1, (0, type_graphql_1.Ctx)()),
|
|
125
|
-
__metadata("design:type", Function),
|
|
126
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
127
|
-
__metadata("design:returntype", Promise)
|
|
128
|
-
], BoardMutation.prototype, "deleteBoard", null);
|
|
129
|
-
BoardMutation = __decorate([
|
|
130
|
-
(0, type_graphql_1.Resolver)(board_1.Board)
|
|
131
|
-
], BoardMutation);
|
|
132
|
-
exports.BoardMutation = BoardMutation;
|
|
133
|
-
//# sourceMappingURL=board-mutation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"board-mutation.js","sourceRoot":"","sources":["../../../server/service/board/board-mutation.ts"],"names":[],"mappings":"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"}
|