@builder6/server 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.controller.d.ts +3 -0
- package/dist/app.controller.js +29 -0
- package/dist/app.controller.js.map +1 -0
- package/dist/app.express.d.ts +2 -0
- package/dist/app.express.js +45 -0
- package/dist/app.express.js.map +1 -0
- package/dist/app.module.d.ts +2 -0
- package/dist/app.module.js +48 -0
- package/dist/app.module.js.map +1 -0
- package/dist/auth/admin.guard.d.ts +8 -0
- package/dist/auth/admin.guard.js +47 -0
- package/dist/auth/admin.guard.js.map +1 -0
- package/dist/auth/auth.controller.d.ts +7 -0
- package/dist/auth/auth.controller.js +80 -0
- package/dist/auth/auth.controller.js.map +1 -0
- package/dist/auth/auth.guard.d.ts +7 -0
- package/dist/auth/auth.guard.js +41 -0
- package/dist/auth/auth.guard.js.map +1 -0
- package/dist/auth/auth.module.d.ts +2 -0
- package/dist/auth/auth.module.js +34 -0
- package/dist/auth/auth.module.js.map +1 -0
- package/dist/auth/auth.service.d.ts +22 -0
- package/dist/auth/auth.service.js +172 -0
- package/dist/auth/auth.service.js.map +1 -0
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.js +22 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/b6.config.d.ts +0 -0
- package/dist/b6.config.js +6 -0
- package/dist/b6.config.js.map +1 -0
- package/dist/b6.server.d.ts +2 -0
- package/dist/b6.server.js +276 -0
- package/dist/b6.server.js.map +1 -0
- package/dist/files/files.controller.d.ts +8 -0
- package/dist/files/files.controller.js +110 -0
- package/dist/files/files.controller.js.map +1 -0
- package/dist/files/files.module.d.ts +2 -0
- package/dist/files/files.module.js +25 -0
- package/dist/files/files.module.js.map +1 -0
- package/dist/files/files.service.d.ts +30 -0
- package/dist/files/files.service.js +206 -0
- package/dist/files/files.service.js.map +1 -0
- package/dist/files/index.d.ts +3 -0
- package/dist/files/index.js +20 -0
- package/dist/files/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +10 -0
- package/dist/main.js.map +1 -0
- package/dist/microsoft365/microsoft365.controller.d.ts +8 -0
- package/dist/microsoft365/microsoft365.controller.js +83 -0
- package/dist/microsoft365/microsoft365.controller.js.map +1 -0
- package/dist/microsoft365/microsoft365.module.d.ts +2 -0
- package/dist/microsoft365/microsoft365.module.js +22 -0
- package/dist/microsoft365/microsoft365.module.js.map +1 -0
- package/dist/microsoft365/microsoft365.service.d.ts +3 -0
- package/dist/microsoft365/microsoft365.service.js +32 -0
- package/dist/microsoft365/microsoft365.service.js.map +1 -0
- package/dist/moleculer/env.config.d.ts +2 -0
- package/dist/moleculer/env.config.js +38 -0
- package/dist/moleculer/env.config.js.map +1 -0
- package/dist/moleculer/moleculer.config.d.ts +2 -0
- package/dist/moleculer/moleculer.config.js +78 -0
- package/dist/moleculer/moleculer.config.js.map +1 -0
- package/dist/moleculer/moleculer.module.d.ts +2 -0
- package/dist/moleculer/moleculer.module.js +20 -0
- package/dist/moleculer/moleculer.module.js.map +1 -0
- package/dist/moleculer/moleculer.service.d.ts +11 -0
- package/dist/moleculer/moleculer.service.js +95 -0
- package/dist/moleculer/moleculer.service.js.map +1 -0
- package/dist/mongodb/index.d.ts +2 -0
- package/dist/mongodb/index.js +19 -0
- package/dist/mongodb/index.js.map +1 -0
- package/dist/mongodb/mongodb.module.d.ts +2 -0
- package/dist/mongodb/mongodb.module.js +21 -0
- package/dist/mongodb/mongodb.module.js.map +1 -0
- package/dist/mongodb/mongodb.service.d.ts +17 -0
- package/dist/mongodb/mongodb.service.js +113 -0
- package/dist/mongodb/mongodb.service.js.map +1 -0
- package/dist/oidc/oidc.controller.d.ts +7 -0
- package/dist/oidc/oidc.controller.js +93 -0
- package/dist/oidc/oidc.controller.js.map +1 -0
- package/dist/oidc/oidc.module.d.ts +2 -0
- package/dist/oidc/oidc.module.js +22 -0
- package/dist/oidc/oidc.module.js.map +1 -0
- package/dist/oidc/oidc.service.d.ts +15 -0
- package/dist/oidc/oidc.service.js +38 -0
- package/dist/oidc/oidc.service.js.map +1 -0
- package/dist/rooms/globals/augmentation.d.ts +25 -0
- package/dist/rooms/globals/augmentation.js +3 -0
- package/dist/rooms/globals/augmentation.js.map +1 -0
- package/dist/rooms/lib/DateToString.d.ts +3 -0
- package/dist/rooms/lib/DateToString.js +3 -0
- package/dist/rooms/lib/DateToString.js.map +1 -0
- package/dist/rooms/lib/Json.d.ts +9 -0
- package/dist/rooms/lib/Json.js +18 -0
- package/dist/rooms/lib/Json.js.map +1 -0
- package/dist/rooms/lib/utils.d.ts +33 -0
- package/dist/rooms/lib/utils.js +122 -0
- package/dist/rooms/lib/utils.js.map +1 -0
- package/dist/rooms/protocol/AuthToken.d.ts +50 -0
- package/dist/rooms/protocol/AuthToken.js +49 -0
- package/dist/rooms/protocol/AuthToken.js.map +1 -0
- package/dist/rooms/protocol/Authentication.d.ts +22 -0
- package/dist/rooms/protocol/Authentication.js +3 -0
- package/dist/rooms/protocol/Authentication.js.map +1 -0
- package/dist/rooms/protocol/BaseActivitiesData.d.ts +4 -0
- package/dist/rooms/protocol/BaseActivitiesData.js +3 -0
- package/dist/rooms/protocol/BaseActivitiesData.js.map +1 -0
- package/dist/rooms/protocol/BaseRoomInfo.d.ts +6 -0
- package/dist/rooms/protocol/BaseRoomInfo.js +3 -0
- package/dist/rooms/protocol/BaseRoomInfo.js.map +1 -0
- package/dist/rooms/protocol/BaseUserMeta.d.ts +10 -0
- package/dist/rooms/protocol/BaseUserMeta.js +3 -0
- package/dist/rooms/protocol/BaseUserMeta.js.map +1 -0
- package/dist/rooms/protocol/ClientMsg.d.ts +41 -0
- package/dist/rooms/protocol/ClientMsg.js +13 -0
- package/dist/rooms/protocol/ClientMsg.js.map +1 -0
- package/dist/rooms/protocol/Comments.d.ts +146 -0
- package/dist/rooms/protocol/Comments.js +3 -0
- package/dist/rooms/protocol/Comments.js.map +1 -0
- package/dist/rooms/protocol/InboxNotifications.d.ts +49 -0
- package/dist/rooms/protocol/InboxNotifications.js +3 -0
- package/dist/rooms/protocol/InboxNotifications.js.map +1 -0
- package/dist/rooms/protocol/Op.d.ts +82 -0
- package/dist/rooms/protocol/Op.js +28 -0
- package/dist/rooms/protocol/Op.js.map +1 -0
- package/dist/rooms/protocol/SerializedCrdt.d.ts +40 -0
- package/dist/rooms/protocol/SerializedCrdt.js +19 -0
- package/dist/rooms/protocol/SerializedCrdt.js.map +1 -0
- package/dist/rooms/protocol/ServerMsg.d.ts +128 -0
- package/dist/rooms/protocol/ServerMsg.js +25 -0
- package/dist/rooms/protocol/ServerMsg.js.map +1 -0
- package/dist/rooms/protocol/VersionHistory.d.ts +9 -0
- package/dist/rooms/protocol/VersionHistory.js +3 -0
- package/dist/rooms/protocol/VersionHistory.js.map +1 -0
- package/dist/rooms/rooms.controller.d.ts +64 -0
- package/dist/rooms/rooms.controller.js +401 -0
- package/dist/rooms/rooms.controller.js.map +1 -0
- package/dist/rooms/rooms.gateway.d.ts +30 -0
- package/dist/rooms/rooms.gateway.js +189 -0
- package/dist/rooms/rooms.gateway.js.map +1 -0
- package/dist/rooms/rooms.guard.d.ts +9 -0
- package/dist/rooms/rooms.guard.js +48 -0
- package/dist/rooms/rooms.guard.js.map +1 -0
- package/dist/rooms/rooms.module.d.ts +2 -0
- package/dist/rooms/rooms.module.js +36 -0
- package/dist/rooms/rooms.module.js.map +1 -0
- package/dist/rooms/rooms.service.d.ts +51 -0
- package/dist/rooms/rooms.service.js +223 -0
- package/dist/rooms/rooms.service.js.map +1 -0
- package/dist/steedos/mongodb.controller.d.ts +13 -0
- package/dist/steedos/mongodb.controller.js +355 -0
- package/dist/steedos/mongodb.controller.js.map +1 -0
- package/dist/steedos/object.service.d.ts +6 -0
- package/dist/steedos/object.service.js +34 -0
- package/dist/steedos/object.service.js.map +1 -0
- package/dist/steedos/steedos.module.d.ts +2 -0
- package/dist/steedos/steedos.module.js +27 -0
- package/dist/steedos/steedos.module.js.map +1 -0
- package/dist/tables/meta.service.d.ts +6 -0
- package/dist/tables/meta.service.js +82 -0
- package/dist/tables/meta.service.js.map +1 -0
- package/dist/tables/records.service.d.ts +13 -0
- package/dist/tables/records.service.js +73 -0
- package/dist/tables/records.service.js.map +1 -0
- package/dist/tables/tables.controller.d.ts +24 -0
- package/dist/tables/tables.controller.js +414 -0
- package/dist/tables/tables.controller.js.map +1 -0
- package/dist/tables/tables.module.d.ts +2 -0
- package/dist/tables/tables.module.js +28 -0
- package/dist/tables/tables.module.js.map +1 -0
- package/package.json +112 -0
- package/public/ag-grid/locale_zh.js +595 -0
- package/public/grid/index.html +25 -0
- package/public/grid/index.js +207 -0
- package/public/grid/styles.css +4 -0
- package/public/pivot/index.html +30 -0
- package/public/pivot/index.js +109 -0
- package/public/pivot/styles.css +7 -0
- package/views/ag-grid/README.md +15 -0
- package/views/ag-grid/ag-grid.hbs +1099 -0
- package/views/devextreme/datagrid.hbs +240 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,gDAA8B;AAC9B,oDAAkC;AAClC,+CAA6B;AAC7B,gDAA8B;AAC9B,iDAA+B"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"b6.config.js","sourceRoot":"","sources":["../src/b6.config.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,GAAG;IACb,MAAM,EAAE;QACJ,KAAK,EAAE,YAAY,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE;KACpD;CACJ,CAAA"}
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const app_express_1 = require("./app.express");
|
|
6
|
+
const project = require("../package.json");
|
|
7
|
+
const childProcess = require('child_process');
|
|
8
|
+
var semver = require('semver');
|
|
9
|
+
if (!semver.satisfies(process.version, ">=14.0.0")) {
|
|
10
|
+
console.log("Unsupported version of Node.js:", process.version);
|
|
11
|
+
console.log("Node-RED requires Node.js v18 or later");
|
|
12
|
+
process.exit(1);
|
|
13
|
+
}
|
|
14
|
+
var util = require("util");
|
|
15
|
+
var nopt = require("nopt");
|
|
16
|
+
var path = require("path");
|
|
17
|
+
const os = require("os");
|
|
18
|
+
const fs = require("fs-extra");
|
|
19
|
+
var knownOpts = {
|
|
20
|
+
"help": Boolean,
|
|
21
|
+
"port": Number,
|
|
22
|
+
"config": [path],
|
|
23
|
+
"title": String,
|
|
24
|
+
"userDir": [path],
|
|
25
|
+
"verbose": Boolean,
|
|
26
|
+
"safe": Boolean,
|
|
27
|
+
"version": Boolean,
|
|
28
|
+
"define": [String, Array]
|
|
29
|
+
};
|
|
30
|
+
var shortHands = {
|
|
31
|
+
"?": ["--help"],
|
|
32
|
+
"p": ["--port"],
|
|
33
|
+
"s": ["--config"],
|
|
34
|
+
"t": ["--help"],
|
|
35
|
+
"u": ["--userDir"],
|
|
36
|
+
"v": ["--verbose"],
|
|
37
|
+
"D": ["--define"]
|
|
38
|
+
};
|
|
39
|
+
nopt.invalidHandler = function (k, v, t) {
|
|
40
|
+
};
|
|
41
|
+
var parsedArgs = nopt(knownOpts, shortHands, process.argv, 2);
|
|
42
|
+
process.env.B6_HOME = process.env.B6_HOME || __dirname;
|
|
43
|
+
const States = {
|
|
44
|
+
STOPPED: 'stopped',
|
|
45
|
+
LOADING: 'loading',
|
|
46
|
+
INSTALLING: 'installing',
|
|
47
|
+
STARTING: 'starting',
|
|
48
|
+
RUNNING: 'running',
|
|
49
|
+
SAFE: 'safe',
|
|
50
|
+
CRASHED: 'crashed',
|
|
51
|
+
STOPPING: 'stopping'
|
|
52
|
+
};
|
|
53
|
+
class B6Server {
|
|
54
|
+
constructor(parsedArgs) {
|
|
55
|
+
this.userDir = process.cwd();
|
|
56
|
+
this.logger = new common_1.Logger(B6Server.name);
|
|
57
|
+
this.state = States.STOPPED;
|
|
58
|
+
this.parsedArgs = parsedArgs || {};
|
|
59
|
+
this.targetState = States.RUNNING;
|
|
60
|
+
this.config = {};
|
|
61
|
+
this.startTimes = [];
|
|
62
|
+
this.runDurations = [];
|
|
63
|
+
this.exitCallback = null;
|
|
64
|
+
this.healthPoll = null;
|
|
65
|
+
this.resourcePoll = null;
|
|
66
|
+
this.cpuAuditLogged = 0;
|
|
67
|
+
this.memoryAuditLogged = 0;
|
|
68
|
+
}
|
|
69
|
+
async loadConfig() {
|
|
70
|
+
if (this.parsedArgs.help) {
|
|
71
|
+
console.log("B6 Server v" + project.version);
|
|
72
|
+
console.log("Usage: b6server [-v] [-?] [--config b6.config.js] [--userDir DIR]");
|
|
73
|
+
console.log(" [--port PORT] [--title TITLE] [--safe] [plugins]");
|
|
74
|
+
console.log("");
|
|
75
|
+
console.log("Options:");
|
|
76
|
+
console.log(" -p, --port PORT port to listen on");
|
|
77
|
+
console.log(" -s, --config FILE use specified config file");
|
|
78
|
+
console.log(" -u, --userDir DIR use specified user directory");
|
|
79
|
+
console.log(" -v, --verbose enable verbose output");
|
|
80
|
+
console.log(" --safe enable safe mode");
|
|
81
|
+
console.log(" --version show version information");
|
|
82
|
+
console.log(" -?, --help show this help");
|
|
83
|
+
console.log("");
|
|
84
|
+
console.log("Documentation can be found at https://builder6.com");
|
|
85
|
+
process.exit();
|
|
86
|
+
}
|
|
87
|
+
if (this.parsedArgs.version) {
|
|
88
|
+
console.log("Builder6 Server v" + project.version);
|
|
89
|
+
console.log("Node.js " + process.version);
|
|
90
|
+
console.log(os.type() + " " + os.release() + " " + os.arch() + " " + os.endianness());
|
|
91
|
+
process.exit();
|
|
92
|
+
}
|
|
93
|
+
if (this.parsedArgs.config) {
|
|
94
|
+
this.configFile = this.parsedArgs.config;
|
|
95
|
+
}
|
|
96
|
+
else if (this.parsedArgs.userDir && fs.existsSync(path.join(this.parsedArgs.userDir, "b6.config.js"))) {
|
|
97
|
+
this.configFile = path.join(this.parsedArgs.userDir, "b6.config.js");
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
if (fs.existsSync(path.join(process.env.B6_HOME, ".config.json"))) {
|
|
101
|
+
this.configFile = path.join(process.env.B6_HOME, "b6.config.js");
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
if (!this.parsedArgs.userDir && !(process.env.HOME || process.env.USERPROFILE || process.env.HOMEPATH)) {
|
|
105
|
+
console.log("Could not find user directory. Ensure $HOME is set for the current user, or use --userDir option");
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
this.userDir = this.parsedArgs.userDir || path.join(process.env.HOME || process.env.USERPROFILE || process.env.HOMEPATH, ".b6");
|
|
109
|
+
var userconfigFile = path.join(this.userDir, "b6.config.js");
|
|
110
|
+
if (fs.existsSync(userconfigFile)) {
|
|
111
|
+
this.configFile = userconfigFile;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
var defaultconfig = path.join(__dirname, "b6.config.js");
|
|
115
|
+
var configStat = fs.statSync(defaultconfig);
|
|
116
|
+
if (configStat.mtime.getTime() <= configStat.ctime.getTime()) {
|
|
117
|
+
fs.copySync(defaultconfig, userconfigFile);
|
|
118
|
+
this.configFile = userconfigFile;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.configFile = defaultconfig;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
this.config = require(this.configFile);
|
|
128
|
+
this.userDir = path.dirname(this.configFile);
|
|
129
|
+
this.config.configFile = this.configFile;
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
console.log("Error loading config file: " + this.configFile);
|
|
133
|
+
if (err.code == 'MODULE_NOT_FOUND') {
|
|
134
|
+
if (err.toString().indexOf(this.configFile) === -1) {
|
|
135
|
+
console.log(err.toString());
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
console.log(err);
|
|
140
|
+
}
|
|
141
|
+
process.exit(1);
|
|
142
|
+
}
|
|
143
|
+
if (this.parsedArgs.verbose) {
|
|
144
|
+
this.config.verbose = true;
|
|
145
|
+
}
|
|
146
|
+
if (this.parsedArgs.safe || (process.env.B6_ENABLE_SAFE_MODE && !/^false$/i.test(process.env.B6_ENABLE_SAFE_MODE))) {
|
|
147
|
+
this.config.safeMode = true;
|
|
148
|
+
}
|
|
149
|
+
if (this.parsedArgs.port !== undefined) {
|
|
150
|
+
this.config.port = this.parsedArgs.port;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
if (this.config.port === undefined) {
|
|
154
|
+
this.config.port = 5100;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (this.parsedArgs.argv.remain.length > 0) {
|
|
158
|
+
this.config.plugin = {
|
|
159
|
+
packages: this.parsedArgs.argv.remain[0]
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
this.config.userDir = this.userDir;
|
|
163
|
+
this.logger.log('Loaded config', this.config);
|
|
164
|
+
}
|
|
165
|
+
getPluginPackages() {
|
|
166
|
+
if (this.config.plugin?.packages) {
|
|
167
|
+
const pluginList = this.config.plugin.packages.split(',');
|
|
168
|
+
const pluginMap = {};
|
|
169
|
+
pluginList.forEach(plugin => {
|
|
170
|
+
const match = plugin.match(/^(@[^@]+\/[^@]+|[^@]+)(?:@(.+))?$/);
|
|
171
|
+
if (match) {
|
|
172
|
+
const name = match[1];
|
|
173
|
+
const version = match[2] || 'latest';
|
|
174
|
+
pluginMap[name] = version;
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
return pluginMap;
|
|
178
|
+
}
|
|
179
|
+
return {};
|
|
180
|
+
}
|
|
181
|
+
async updateNpmrc() {
|
|
182
|
+
const npmrcPath = path.join(this.config.userDir, '.npmrc');
|
|
183
|
+
if (this.config.plugin?.npmrc) {
|
|
184
|
+
try {
|
|
185
|
+
fs.writeFileSync(npmrcPath, this.config.plugin?.npmrc);
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
this.state = States.STOPPED;
|
|
189
|
+
this.logger.log('Unable to write .npmrc file');
|
|
190
|
+
throw error;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
if (fs.existsSync(npmrcPath)) {
|
|
195
|
+
try {
|
|
196
|
+
fs.unlinkSync(npmrcPath);
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
this.state = States.STOPPED;
|
|
200
|
+
this.logger.log('Unable to remove old .npmrc file');
|
|
201
|
+
throw error;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
async updatePackage() {
|
|
207
|
+
const pkgFilePath = path.join(this.userDir, 'package.json');
|
|
208
|
+
if (!fs.existsSync(pkgFilePath)) {
|
|
209
|
+
fs.writeFileSync(pkgFilePath, JSON.stringify({ name: 'b6-server', version: '0.0.1', dependencies: {} }, null, 2));
|
|
210
|
+
}
|
|
211
|
+
const packageContent = fs.readFileSync(pkgFilePath, { encoding: 'utf8' });
|
|
212
|
+
const pkg = JSON.parse(packageContent);
|
|
213
|
+
const existingDependencies = pkg.dependencies || {};
|
|
214
|
+
const wantedDependencies = this.getPluginPackages();
|
|
215
|
+
const existingModules = Object.keys(existingDependencies);
|
|
216
|
+
const wantedModules = Object.keys(wantedDependencies);
|
|
217
|
+
let changed = false;
|
|
218
|
+
if (existingModules.length !== wantedModules.length) {
|
|
219
|
+
changed = true;
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
existingModules.sort();
|
|
223
|
+
wantedModules.sort();
|
|
224
|
+
for (let i = 0; i < existingModules.length; i++) {
|
|
225
|
+
if (existingModules[i] !== wantedModules[i]) {
|
|
226
|
+
changed = true;
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
if (existingDependencies[existingModules[i]] !== wantedDependencies[wantedModules[i]]) {
|
|
230
|
+
changed = true;
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
if (changed) {
|
|
236
|
+
this.state = States.INSTALLING;
|
|
237
|
+
this.logger.log('Updating project dependencies', wantedDependencies);
|
|
238
|
+
pkg.dependencies = wantedDependencies;
|
|
239
|
+
fs.writeFileSync(pkgFilePath, JSON.stringify(pkg, null, 2));
|
|
240
|
+
const npmEnv = Object.assign({}, process.env, this.config.env);
|
|
241
|
+
const npmCommand = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
242
|
+
return new Promise((resolve, reject) => {
|
|
243
|
+
const child = childProcess.spawn(npmCommand, ['install', '--omit=dev', '--no-audit', '--no-update-notifier', '--no-fund'], { windowsHide: true, cwd: path.join(this.userDir), env: npmEnv, shell: true });
|
|
244
|
+
child.stdout.on('data', (data) => {
|
|
245
|
+
this.logger.log('[npm] ' + data);
|
|
246
|
+
});
|
|
247
|
+
child.stderr.on('data', (data) => {
|
|
248
|
+
this.logger.log('[npm] ' + data);
|
|
249
|
+
});
|
|
250
|
+
child.on('error', (err) => {
|
|
251
|
+
this.logger.log('[npm] ' + err.toString());
|
|
252
|
+
});
|
|
253
|
+
child.on('close', (code) => {
|
|
254
|
+
if (code === 0) {
|
|
255
|
+
resolve();
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
reject(new Error(`Failed to install project dependencies ret code: ${code} signal ${child.signalCode}`));
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
}).catch(err => {
|
|
262
|
+
fs.writeFileSync(pkgFilePath, packageContent);
|
|
263
|
+
throw err;
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
async bootstrap() {
|
|
268
|
+
await server.loadConfig();
|
|
269
|
+
await server.updatePackage();
|
|
270
|
+
const app = await (0, app_express_1.default)();
|
|
271
|
+
await app.listen(this.config.port);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
const server = global.b6Server = new B6Server(parsedArgs);
|
|
275
|
+
server.bootstrap();
|
|
276
|
+
//# sourceMappingURL=b6.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"b6.server.js","sourceRoot":"","sources":["../src/b6.server.ts"],"names":[],"mappings":";;;AAkBA,2CAAwC;AAExC,+CAA+C;AAC/C,2CAA2C;AAE3C,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAE7C,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC;AAED,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3B,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AACxB,+BAA+B;AAG/B,IAAI,SAAS,GAAG;IACZ,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,CAAC,IAAI,CAAC;IAChB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,CAAC,IAAI,CAAC;IACjB,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;CAC5B,CAAC;AACF,IAAI,UAAU,GAAG;IACb,GAAG,EAAC,CAAC,QAAQ,CAAC;IACd,GAAG,EAAC,CAAC,QAAQ,CAAC;IACd,GAAG,EAAC,CAAC,UAAU,CAAC;IAGhB,GAAG,EAAC,CAAC,QAAQ,CAAC;IACd,GAAG,EAAC,CAAC,WAAW,CAAC;IACjB,GAAG,EAAC,CAAC,WAAW,CAAC;IACjB,GAAG,EAAC,CAAC,UAAU,CAAC;CACnB,CAAC;AACF,IAAI,CAAC,cAAc,GAAG,UAAS,CAAC,EAAC,CAAC,EAAC,CAAC;AAEpC,CAAC,CAAA;AAED,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,EAAC,UAAU,EAAC,OAAO,CAAC,IAAI,EAAC,CAAC,CAAC,CAAA;AAE1D,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;AAGvD,MAAM,MAAM,GAAG;IACX,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;CACvB,CAAA;AAED,MAAM,QAAQ;IAiBV,YAAa,UAAU;QAhBvB,YAAO,GAAW,OAAO,CAAC,GAAG,EAAE,CAAC;QAcf,WAAM,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAGhD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE,CAAA;QAElC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAA;QAEjC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAGhB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QAItB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QAExB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QAExB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU;QAEd,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAChD,OAAO,CAAC,GAAG,CAAC,UAAU,GAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAC,GAAG,GAAC,EAAE,CAAC,OAAO,EAAE,GAAC,GAAG,GAAC,EAAE,CAAC,IAAI,EAAE,GAAC,GAAG,GAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;YACzE,OAAO,CAAC,IAAI,EAAE,CAAA;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAEzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAErG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAC,cAAc,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACJ,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBAE/D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,cAAc,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrG,OAAO,CAAC,GAAG,CAAC,kGAAkG,CAAC,CAAA;oBAC/G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnB,CAAC;gBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,KAAK,CAAC,CAAC;gBAC/H,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,cAAc,CAAC,CAAC;gBAC5D,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBAEhC,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACJ,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC,cAAc,CAAC,CAAC;oBACxD,IAAI,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAC5C,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;wBAE3D,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAC,cAAc,CAAC,CAAC;wBAC1C,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBAEJ,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;oBACpC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7C,CAAC;QAAC,OAAM,GAAG,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC1D,IAAI,GAAG,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAC;gBACjC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAE,EAAE,CAAC;YACpH,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,EAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAC,CAAC;gBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG;gBACnB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aACzC,CAAA;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhD,CAAC;IACD,iBAAiB;QAGf,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAChE,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IACD,KAAK,CAAC,WAAW;QAEf,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC1D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAA;gBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAE,CAAA;gBAC/C,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACD,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAA;oBAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;oBACnD,MAAM,KAAK,CAAA;gBACf,CAAC;YACL,CAAC;QACL,CAAC;IAEH,CAAC;IACD,KAAK,CAAC,aAAa;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAEhC,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACjH,CAAC;QACD,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QACzE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QACtC,MAAM,oBAAoB,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAA;QACnD,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEpD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QACzD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAErD,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,IAAI,eAAe,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;YAClD,OAAO,GAAG,IAAI,CAAA;QAClB,CAAC;aAAM,CAAC;YACJ,eAAe,CAAC,IAAI,EAAE,CAAA;YACtB,aAAa,CAAC,IAAI,EAAE,CAAA;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,OAAO,GAAG,IAAI,CAAA;oBACd,MAAK;gBACT,CAAC;gBACD,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpF,OAAO,GAAG,IAAI,CAAA;oBACd,MAAK;gBACT,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAA;YAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,kBAAkB,CAAC,CAAA;YACpE,GAAG,CAAC,YAAY,GAAG,kBAAkB,CAAA;YACrC,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;YACnE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAC5B,UAAU,EACV,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,WAAW,CAAC,EAC5E,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;gBAClF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAE,CAAA;gBACrC,CAAC,CAAC,CAAA;gBACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAE,CAAA;gBACnC,CAAC,CAAC,CAAA;gBACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAE,CAAA;gBAC7C,CAAC,CAAC,CAAA;gBACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBACvB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACb,OAAO,EAAE,CAAA;oBACb,CAAC;yBAAM,CAAC;wBACJ,MAAM,CAAC,IAAI,KAAK,CAAC,oDAAoD,IAAI,WAAW,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;oBAC5G,CAAC;gBACL,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBAGX,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;gBAC7C,MAAM,GAAG,CAAA;YACb,CAAC,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAGD,KAAK,CAAC,SAAS;QACX,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAkB,GAAE,CAAC;QAEvC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1D,MAAM,CAAC,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FilesService } from './files.service';
|
|
2
|
+
import { Response } from 'express';
|
|
3
|
+
export declare class FilesController {
|
|
4
|
+
private readonly filesService;
|
|
5
|
+
constructor(filesService: FilesService);
|
|
6
|
+
uploadFile(collectionName: string, file: Express.Multer.File): Promise<object>;
|
|
7
|
+
downloadFile(collectionName: string, fileId: string, fileName: string, res: Response): Promise<void>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
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.FilesController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const platform_express_1 = require("@nestjs/platform-express");
|
|
18
|
+
const files_service_1 = require("./files.service");
|
|
19
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
20
|
+
let FilesController = class FilesController {
|
|
21
|
+
constructor(filesService) {
|
|
22
|
+
this.filesService = filesService;
|
|
23
|
+
}
|
|
24
|
+
async uploadFile(collectionName, file) {
|
|
25
|
+
if (!file) {
|
|
26
|
+
throw new Error('未找到上传的文件');
|
|
27
|
+
}
|
|
28
|
+
const fileRecord = await this.filesService.uploadFile(collectionName, file, {});
|
|
29
|
+
return fileRecord;
|
|
30
|
+
}
|
|
31
|
+
async downloadFile(collectionName, fileId, fileName, res) {
|
|
32
|
+
try {
|
|
33
|
+
if (this.filesService.cfsStore === 'S3') {
|
|
34
|
+
const s3SignedUrl = await this.filesService.getPreSignedUrl(collectionName, fileId);
|
|
35
|
+
if (s3SignedUrl) {
|
|
36
|
+
return res.redirect(s3SignedUrl);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const fileStream = await this.filesService.downloadFileStream(collectionName, fileId);
|
|
40
|
+
fileStream.pipe(res).on('error', () => {
|
|
41
|
+
throw new common_1.HttpException('文件下载失败', common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.FilesController = FilesController;
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, common_1.Post)(':collectionName'),
|
|
52
|
+
(0, swagger_1.ApiOperation)({ summary: 'Upload a file' }),
|
|
53
|
+
(0, swagger_1.ApiParam)({
|
|
54
|
+
name: 'collectionName',
|
|
55
|
+
required: true,
|
|
56
|
+
type: 'string',
|
|
57
|
+
schema: {
|
|
58
|
+
type: 'string',
|
|
59
|
+
default: 'cfs.files.filerecord',
|
|
60
|
+
},
|
|
61
|
+
}),
|
|
62
|
+
(0, swagger_1.ApiConsumes)('multipart/form-data'),
|
|
63
|
+
(0, swagger_1.ApiBody)({
|
|
64
|
+
schema: {
|
|
65
|
+
type: 'object',
|
|
66
|
+
properties: {
|
|
67
|
+
file: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
format: 'binary',
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
}),
|
|
74
|
+
(0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
|
|
75
|
+
__param(0, (0, common_1.Param)('collectionName')),
|
|
76
|
+
__param(1, (0, common_1.UploadedFile)()),
|
|
77
|
+
__metadata("design:type", Function),
|
|
78
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
79
|
+
__metadata("design:returntype", Promise)
|
|
80
|
+
], FilesController.prototype, "uploadFile", null);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, common_1.Get)(':collectionName/:fileId/:fileName?'),
|
|
83
|
+
(0, swagger_1.ApiOperation)({ summary: 'Download a file' }),
|
|
84
|
+
(0, swagger_1.ApiParam)({
|
|
85
|
+
name: 'collectionName',
|
|
86
|
+
required: true,
|
|
87
|
+
type: 'string',
|
|
88
|
+
schema: {
|
|
89
|
+
type: 'string',
|
|
90
|
+
default: 'cfs.files.filerecord',
|
|
91
|
+
},
|
|
92
|
+
}),
|
|
93
|
+
(0, swagger_1.ApiParam)({
|
|
94
|
+
name: 'fileName',
|
|
95
|
+
required: false,
|
|
96
|
+
type: 'string',
|
|
97
|
+
}),
|
|
98
|
+
__param(0, (0, common_1.Param)('collectionName')),
|
|
99
|
+
__param(1, (0, common_1.Param)('fileId')),
|
|
100
|
+
__param(2, (0, common_1.Param)('fileName')),
|
|
101
|
+
__param(3, (0, common_1.Res)()),
|
|
102
|
+
__metadata("design:type", Function),
|
|
103
|
+
__metadata("design:paramtypes", [String, String, String, Object]),
|
|
104
|
+
__metadata("design:returntype", Promise)
|
|
105
|
+
], FilesController.prototype, "downloadFile", null);
|
|
106
|
+
exports.FilesController = FilesController = __decorate([
|
|
107
|
+
(0, common_1.Controller)('api/v6/files/'),
|
|
108
|
+
__metadata("design:paramtypes", [files_service_1.FilesService])
|
|
109
|
+
], FilesController);
|
|
110
|
+
//# sourceMappingURL=files.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.controller.js","sourceRoot":"","sources":["../../src/files/files.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAUwB;AACxB,+DAA2D;AAC3D,mDAA+C;AAE/C,6CAA+E;AAGxE,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IA0BrD,AAAN,KAAK,CAAC,UAAU,CACW,cAAsB,EAC/B,IAAyB;QAEzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CACnD,cAAc,EACd,IAAI,EACJ,EAAE,CACH,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAkBK,AAAN,KAAK,CAAC,YAAY,CACS,cAAsB,EAC9B,MAAc,EACZ,QAAgB,EAC5B,GAAa;QAEpB,IAAI,CAAC;YAEH,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CACzD,cAAc,EACd,MAAM,CACP,CAAC;gBACF,IAAI,WAAW,EAAE,CAAC;oBAEhB,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAC3D,cAAc,EACd,MAAM,CACP,CAAC;YAGF,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpC,MAAM,IAAI,sBAAa,CACrB,QAAQ,EACR,mBAAU,CAAC,qBAAqB,CACjC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,sBAAa,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAU,CAAC,qBAAqB,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;CACF,CAAA;AA7FY,0CAAe;AA2BpB;IAxBL,IAAA,aAAI,EAAC,iBAAiB,CAAC;IACvB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC1C,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;SAChC;KACF,CAAC;IACD,IAAA,qBAAW,EAAC,qBAAqB,CAAC;IAClC,IAAA,iBAAO,EAAC;QACP,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,QAAQ;iBACjB;aACF;SACF;KACF,CAAC;IACD,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IAEtC,WAAA,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAA;IACvB,WAAA,IAAA,qBAAY,GAAE,CAAA;;;;iDAWhB;AAkBK;IAhBL,IAAA,YAAG,EAAC,oCAAoC,CAAC;IACzC,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC5C,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sBAAsB;SAChC;KACF,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACf,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAA;IACvB,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;mDA8BP;0BA5FU,eAAe;IAD3B,IAAA,mBAAU,EAAC,eAAe,CAAC;qCAEiB,4BAAY;GAD5C,eAAe,CA6F3B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.FilesModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const files_controller_1 = require("./files.controller");
|
|
12
|
+
const files_service_1 = require("./files.service");
|
|
13
|
+
const mongodb_module_1 = require("../mongodb/mongodb.module");
|
|
14
|
+
let FilesModule = class FilesModule {
|
|
15
|
+
};
|
|
16
|
+
exports.FilesModule = FilesModule;
|
|
17
|
+
exports.FilesModule = FilesModule = __decorate([
|
|
18
|
+
(0, common_1.Module)({
|
|
19
|
+
imports: [mongodb_module_1.MongodbModule],
|
|
20
|
+
controllers: [files_controller_1.FilesController],
|
|
21
|
+
providers: [files_service_1.FilesService],
|
|
22
|
+
exports: [files_service_1.FilesService],
|
|
23
|
+
})
|
|
24
|
+
], FilesModule);
|
|
25
|
+
//# sourceMappingURL=files.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"files.module.js","sourceRoot":"","sources":["../../src/files/files.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAAqD;AACrD,mDAA+C;AAC/C,8DAAyD;AAQlD,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,8BAAa,CAAC;QACxB,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { MongodbService } from '@/mongodb/mongodb.service';
|
|
2
|
+
import stream from 'stream';
|
|
3
|
+
import { ConfigService } from '@nestjs/config';
|
|
4
|
+
export declare class FilesService {
|
|
5
|
+
private configService;
|
|
6
|
+
private mongodbService;
|
|
7
|
+
private s3;
|
|
8
|
+
cfsStore: string;
|
|
9
|
+
storageDir: string;
|
|
10
|
+
s3Bucket: string;
|
|
11
|
+
rootUrl: string;
|
|
12
|
+
constructor(configService: ConfigService, mongodbService: MongodbService);
|
|
13
|
+
getCollectionFolderName(collectionName: any): string;
|
|
14
|
+
uploadFile(collectionName: string, file: {
|
|
15
|
+
buffer: Buffer;
|
|
16
|
+
originalname: string;
|
|
17
|
+
size: number;
|
|
18
|
+
mimetype?: string;
|
|
19
|
+
}, metadata: {
|
|
20
|
+
_id?: string;
|
|
21
|
+
userId?: string;
|
|
22
|
+
spaceId?: string;
|
|
23
|
+
objectName?: string;
|
|
24
|
+
recordId?: string;
|
|
25
|
+
parentId?: string;
|
|
26
|
+
}): Promise<object>;
|
|
27
|
+
getFile(collectionName: string, fileId: string): Promise<any>;
|
|
28
|
+
getPreSignedUrl(collectionName: string, fileId: string): Promise<string | null>;
|
|
29
|
+
downloadFileStream(collectionName: string, fileId: string): Promise<stream.Readable>;
|
|
30
|
+
}
|