@builder6/server 0.15.6 → 0.16.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/bootstrap.js
CHANGED
|
@@ -20,7 +20,6 @@ const swagger_1 = require("@nestjs/swagger");
|
|
|
20
20
|
const cookie_parser_1 = __importDefault(require("cookie-parser"));
|
|
21
21
|
const compression_1 = __importDefault(require("compression"));
|
|
22
22
|
const express_1 = require("express");
|
|
23
|
-
const platform_ws_1 = require("@nestjs/platform-ws");
|
|
24
23
|
const nestjs_pino_1 = require("nestjs-pino");
|
|
25
24
|
const express_session_1 = __importDefault(require("express-session"));
|
|
26
25
|
const connect_redis_1 = require("connect-redis");
|
|
@@ -28,15 +27,17 @@ const ioredis_1 = __importDefault(require("ioredis"));
|
|
|
28
27
|
const http_proxy_middleware_1 = require("http-proxy-middleware");
|
|
29
28
|
const package_json_1 = __importDefault(require("../package.json"));
|
|
30
29
|
const all_exceptions_filter_1 = require("./filters/all-exceptions.filter");
|
|
30
|
+
const core_2 = require("@builder6/core");
|
|
31
31
|
function bootstrap() {
|
|
32
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
33
33
|
var _a;
|
|
34
34
|
const app = yield core_1.NestFactory.create(app_module_1.AppModule, {
|
|
35
35
|
bufferLogs: true,
|
|
36
36
|
});
|
|
37
|
+
global['app'] = app;
|
|
37
38
|
app.useLogger(app.get(nestjs_pino_1.Logger));
|
|
38
39
|
app.useGlobalFilters(new all_exceptions_filter_1.AllExceptionsFilter());
|
|
39
|
-
app.useWebSocketAdapter(new
|
|
40
|
+
app.useWebSocketAdapter(new core_2.HybridAdapter(app));
|
|
40
41
|
app.enableCors({
|
|
41
42
|
origin: function (origin, callback) {
|
|
42
43
|
callback(null, true);
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ var AllExceptionsFilter_1;
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.AllExceptionsFilter = void 0;
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
|
+
const ejs_1 = require("ejs");
|
|
13
|
+
const path_1 = require("path");
|
|
12
14
|
let AllExceptionsFilter = AllExceptionsFilter_1 = class AllExceptionsFilter {
|
|
13
15
|
constructor() {
|
|
14
16
|
this.logger = new common_1.Logger(AllExceptionsFilter_1.name);
|
|
@@ -42,12 +44,26 @@ let AllExceptionsFilter = AllExceptionsFilter_1 = class AllExceptionsFilter {
|
|
|
42
44
|
status: common_1.HttpStatus.INTERNAL_SERVER_ERROR,
|
|
43
45
|
};
|
|
44
46
|
}
|
|
45
|
-
|
|
47
|
+
const filePath = (0, path_1.join)(__dirname, '..', '..', 'views', 'error.ejs');
|
|
48
|
+
(0, ejs_1.renderFile)(filePath, {
|
|
46
49
|
statusCode: errorResponse.status,
|
|
47
50
|
timestamp: new Date().toISOString(),
|
|
48
51
|
path: request.url,
|
|
49
52
|
message: errorResponse.message,
|
|
50
53
|
code: code,
|
|
54
|
+
}, (err, html) => {
|
|
55
|
+
if (err) {
|
|
56
|
+
response.status(errorResponse.status).json({
|
|
57
|
+
statusCode: errorResponse.status,
|
|
58
|
+
timestamp: new Date().toISOString(),
|
|
59
|
+
path: request.url,
|
|
60
|
+
message: errorResponse.message,
|
|
61
|
+
code: code,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
response.status(errorResponse.status).send(html);
|
|
66
|
+
}
|
|
51
67
|
});
|
|
52
68
|
}
|
|
53
69
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"all-exceptions.filter.js","sourceRoot":"","sources":["../../src/filters/all-exceptions.filter.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAOwB;
|
|
1
|
+
{"version":3,"file":"all-exceptions.filter.js","sourceRoot":"","sources":["../../src/filters/all-exceptions.filter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builder6/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
@@ -28,28 +28,30 @@
|
|
|
28
28
|
"test:e2e": "jest --config ./test/jest-e2e.json"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@builder6/cli": "0.
|
|
32
|
-
"@builder6/core": "0.
|
|
33
|
-
"@builder6/docs": "0.
|
|
34
|
-
"@builder6/email": "0.
|
|
35
|
-
"@builder6/files": "0.
|
|
36
|
-
"@builder6/moleculer": "0.
|
|
37
|
-
"@builder6/oidc": "0.
|
|
38
|
-
"@builder6/oidc-provider": "0.
|
|
39
|
-
"@builder6/onlyoffice": "0.
|
|
40
|
-
"@builder6/pages": "0.
|
|
41
|
-
"@builder6/query-mongodb": "0.
|
|
42
|
-
"@builder6/rooms": "0.
|
|
43
|
-
"@builder6/services": "0.
|
|
44
|
-
"@builder6/sharepoint": "0.
|
|
45
|
-
"@builder6/steedos": "0.
|
|
46
|
-
"@builder6/tables": "0.
|
|
31
|
+
"@builder6/cli": "0.16.0",
|
|
32
|
+
"@builder6/core": "0.16.0",
|
|
33
|
+
"@builder6/docs": "0.16.0",
|
|
34
|
+
"@builder6/email": "0.16.0",
|
|
35
|
+
"@builder6/files": "0.16.0",
|
|
36
|
+
"@builder6/moleculer": "0.16.0",
|
|
37
|
+
"@builder6/oidc": "0.16.0",
|
|
38
|
+
"@builder6/oidc-provider": "0.16.0",
|
|
39
|
+
"@builder6/onlyoffice": "0.16.0",
|
|
40
|
+
"@builder6/pages": "0.16.0",
|
|
41
|
+
"@builder6/query-mongodb": "0.16.0",
|
|
42
|
+
"@builder6/rooms": "0.16.0",
|
|
43
|
+
"@builder6/services": "0.16.0",
|
|
44
|
+
"@builder6/sharepoint": "0.16.0",
|
|
45
|
+
"@builder6/steedos": "0.16.0",
|
|
46
|
+
"@builder6/tables": "0.16.0",
|
|
47
47
|
"@nestjs/common": "^11.0.0",
|
|
48
48
|
"@nestjs/config": "^4.0.1",
|
|
49
49
|
"@nestjs/core": "^11.0.0",
|
|
50
50
|
"@nestjs/jwt": "^11.0.0",
|
|
51
|
+
"@nestjs/microservices": "^11.0.15",
|
|
51
52
|
"@nestjs/passport": "^11.0.0",
|
|
52
53
|
"@nestjs/platform-express": "^11.0.0",
|
|
54
|
+
"@nestjs/platform-socket.io": "^11.0.0",
|
|
53
55
|
"@nestjs/platform-ws": "^11.0.0",
|
|
54
56
|
"@nestjs/schedule": "^5.0.0",
|
|
55
57
|
"@nestjs/serve-static": "^5.0.0",
|
|
@@ -81,6 +83,7 @@
|
|
|
81
83
|
"passport-local": "^1.0.0",
|
|
82
84
|
"passport-openidconnect": "^0.1.2",
|
|
83
85
|
"raw-body": "^3.0.0",
|
|
86
|
+
"redis": "^4.7.0",
|
|
84
87
|
"reflect-metadata": "^0.2.0",
|
|
85
88
|
"regenerator-runtime": "^0.14.1",
|
|
86
89
|
"rxjs": "^7.8.1",
|
|
@@ -130,5 +133,5 @@
|
|
|
130
133
|
"publishConfig": {
|
|
131
134
|
"access": "public"
|
|
132
135
|
},
|
|
133
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "40e18aeeac40ebee0a05d65699cfa6696e65fc56"
|
|
134
137
|
}
|
package/views/error.ejs
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>访问被拒绝</title>
|
|
7
|
+
<style>
|
|
8
|
+
:root {
|
|
9
|
+
--bg-color: #ffffff;
|
|
10
|
+
--text-color: #333333;
|
|
11
|
+
--subtext-color: #888888;
|
|
12
|
+
--icon-color: #ff4d4f;
|
|
13
|
+
--border-color: #e0e0e0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@media (prefers-color-scheme: dark) {
|
|
17
|
+
:root {
|
|
18
|
+
--bg-color: #1e1e1e;
|
|
19
|
+
--text-color: #eeeeee;
|
|
20
|
+
--subtext-color: #aaaaaa;
|
|
21
|
+
--icon-color: #ff6b6b;
|
|
22
|
+
--border-color: #333333;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
body {
|
|
27
|
+
margin: 0;
|
|
28
|
+
padding: 0;
|
|
29
|
+
background-color: var(--bg-color);
|
|
30
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
31
|
+
display: flex;
|
|
32
|
+
align-items: center;
|
|
33
|
+
justify-content: center;
|
|
34
|
+
height: 100vh;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.container {
|
|
38
|
+
text-align: center;
|
|
39
|
+
padding: 40px 30px;
|
|
40
|
+
background-color: var(--bg-color);
|
|
41
|
+
border: 1px solid var(--border-color);
|
|
42
|
+
border-radius: 16px;
|
|
43
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
|
|
44
|
+
max-width: 90%;
|
|
45
|
+
width: 400px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.icon {
|
|
49
|
+
font-size: 56px;
|
|
50
|
+
color: var(--icon-color);
|
|
51
|
+
margin-bottom: 20px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.message {
|
|
55
|
+
font-size: 20px;
|
|
56
|
+
color: var(--text-color);
|
|
57
|
+
margin-bottom: 10px;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.subtext {
|
|
61
|
+
font-size: 16px;
|
|
62
|
+
color: var(--subtext-color);
|
|
63
|
+
}
|
|
64
|
+
</style>
|
|
65
|
+
</head>
|
|
66
|
+
<body>
|
|
67
|
+
<div class="container">
|
|
68
|
+
<div class="icon">⚠️</div>
|
|
69
|
+
<div class="message">访问失败,请联系系统管理员</div>
|
|
70
|
+
<div class="subtext"><%= statusCode %> <%= message %></div>
|
|
71
|
+
</div>
|
|
72
|
+
</body>
|
|
73
|
+
</html>
|