tinny-backend 1.0.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/README.md +207 -0
- package/dist/admin/auth.d.ts +2 -0
- package/dist/admin/auth.d.ts.map +1 -0
- package/dist/admin/auth.js +2 -0
- package/dist/admin/auth.js.map +1 -0
- package/dist/admin/monitor.d.ts +2 -0
- package/dist/admin/monitor.d.ts.map +1 -0
- package/dist/admin/monitor.js +2 -0
- package/dist/admin/monitor.js.map +1 -0
- package/dist/admin/routes.d.ts +2 -0
- package/dist/admin/routes.d.ts.map +1 -0
- package/dist/admin/routes.js +2 -0
- package/dist/admin/routes.js.map +1 -0
- package/dist/app/index.d.ts +2 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +19 -0
- package/dist/app/index.js.map +1 -0
- package/dist/core/Request.d.ts +4 -0
- package/dist/core/Request.d.ts.map +1 -0
- package/dist/core/Request.js +24 -0
- package/dist/core/Request.js.map +1 -0
- package/dist/core/Response.d.ts +4 -0
- package/dist/core/Response.d.ts.map +1 -0
- package/dist/core/Response.js +78 -0
- package/dist/core/Response.js.map +1 -0
- package/dist/core/Server.d.ts +30 -0
- package/dist/core/Server.d.ts.map +1 -0
- package/dist/core/Server.js +533 -0
- package/dist/core/Server.js.map +1 -0
- package/dist/core/types.d.ts +89 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +3 -0
- package/dist/core/types.js.map +1 -0
- package/dist/examples/example.d.ts +2 -0
- package/dist/examples/example.d.ts.map +1 -0
- package/dist/examples/example.js +11 -0
- package/dist/examples/example.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +127 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +625 -0
- package/dist/server.js.map +1 -0
- package/dist/src/admin/auth.d.ts +13 -0
- package/dist/src/admin/auth.d.ts.map +1 -0
- package/dist/src/admin/auth.js +60 -0
- package/dist/src/admin/auth.js.map +1 -0
- package/dist/src/admin/monitor.d.ts +3 -0
- package/dist/src/admin/monitor.d.ts.map +1 -0
- package/dist/src/admin/monitor.js +83 -0
- package/dist/src/admin/monitor.js.map +1 -0
- package/dist/src/admin/routes.d.ts +14 -0
- package/dist/src/admin/routes.d.ts.map +1 -0
- package/dist/src/admin/routes.js +150 -0
- package/dist/src/admin/routes.js.map +1 -0
- package/dist/src/core/Request.d.ts +4 -0
- package/dist/src/core/Request.d.ts.map +1 -0
- package/dist/src/core/Request.js +24 -0
- package/dist/src/core/Request.js.map +1 -0
- package/dist/src/core/Response.d.ts +4 -0
- package/dist/src/core/Response.d.ts.map +1 -0
- package/dist/src/core/Response.js +78 -0
- package/dist/src/core/Response.js.map +1 -0
- package/dist/src/core/Server.d.ts +34 -0
- package/dist/src/core/Server.d.ts.map +1 -0
- package/dist/src/core/Server.js +290 -0
- package/dist/src/core/Server.js.map +1 -0
- package/dist/src/core/types.d.ts +89 -0
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +3 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/index.d.ts +16 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +17 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/utils/constants.d.ts +12 -0
- package/dist/src/utils/constants.d.ts.map +1 -0
- package/dist/src/utils/constants.js +12 -0
- package/dist/src/utils/constants.js.map +1 -0
- package/dist/utils/constants.d.ts +12 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +12 -0
- package/dist/utils/constants.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Server from "../core/Server.js";
|
|
2
|
+
import type { AdminSessions, ServerReq, ServerRes } from "../core/types.js";
|
|
3
|
+
export type auth_t = {
|
|
4
|
+
Auth: (req: ServerReq, res: ServerRes) => Promise<void>;
|
|
5
|
+
sessions: AdminSessions[];
|
|
6
|
+
key: string;
|
|
7
|
+
SetUsername: (userName: string) => void;
|
|
8
|
+
SetPassword: (passWord: string) => void;
|
|
9
|
+
GetPasswd: () => string;
|
|
10
|
+
GetUser: () => string;
|
|
11
|
+
};
|
|
12
|
+
export default function Authen(server: Server): auth_t;
|
|
13
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/admin/auth.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,KAAK,EACR,aAAa,EACb,SAAS,EACT,SAAS,EACZ,MAAM,kBAAkB,CAAA;AAEzB,MAAM,MAAM,MAAM,GAAG;IACjB,IAAI,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAiErD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as JWT from "jsonwebtoken";
|
|
2
|
+
import * as DOTENV from "dotenv";
|
|
3
|
+
import Server from "../core/Server.js";
|
|
4
|
+
export default function Authen(server) {
|
|
5
|
+
DOTENV.config();
|
|
6
|
+
let username = process.env.ADMIN_USERNAME || "";
|
|
7
|
+
let password = process.env.ADMIN_PASSWORD || "";
|
|
8
|
+
const key = process.env.ADMIN_KEY || "";
|
|
9
|
+
const sessions = [];
|
|
10
|
+
const isAuthed = (res) => {
|
|
11
|
+
const TOKEN = res.getCookie("token");
|
|
12
|
+
if (!TOKEN)
|
|
13
|
+
return false;
|
|
14
|
+
try {
|
|
15
|
+
const decoded = JWT.default.verify(TOKEN.value, key);
|
|
16
|
+
if (typeof decoded.id === undefined)
|
|
17
|
+
throw new Error("None valid token");
|
|
18
|
+
for (let i = 0; i < sessions.length; i++) {
|
|
19
|
+
if (sessions[i]?.id === decoded.id) {
|
|
20
|
+
if (!sessions[i]?.isValid)
|
|
21
|
+
throw new Error("None valid token");
|
|
22
|
+
sessions[i].request += 1;
|
|
23
|
+
res.currentID = decoded.id;
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
throw new Error("None valid UUID");
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
server.log("a user try to login to admin panel using none valid token", "error");
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
};
|
|
35
|
+
const Auth = async (req, res) => {
|
|
36
|
+
if (!isAuthed(res)) {
|
|
37
|
+
if (req.ReqUrl?.pathname == "/")
|
|
38
|
+
return await server.SendFile(res, "public/login/index.html", 401);
|
|
39
|
+
return await server.SendFile(res, "public/status/401.html", 401);
|
|
40
|
+
}
|
|
41
|
+
if (req.ReqUrl?.pathname == "/")
|
|
42
|
+
return await server.SendFile(res, "public/admin/index.html", 200);
|
|
43
|
+
};
|
|
44
|
+
const SetUsername = (userName) => {
|
|
45
|
+
console.log("old pwd ", username);
|
|
46
|
+
username = userName;
|
|
47
|
+
console.log("new pwd ", username);
|
|
48
|
+
};
|
|
49
|
+
const SetPassword = (passWord) => {
|
|
50
|
+
password = passWord;
|
|
51
|
+
};
|
|
52
|
+
const GetPasswd = () => {
|
|
53
|
+
return password;
|
|
54
|
+
};
|
|
55
|
+
const GetUser = () => {
|
|
56
|
+
return username;
|
|
57
|
+
};
|
|
58
|
+
return { Auth, sessions, key, SetUsername, SetPassword, GetPasswd, GetUser };
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/admin/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../src/admin/monitor.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAQvC,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,MAAM,EAAE,MAAM,QA6F7C"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import Server from "../core/Server.js";
|
|
2
|
+
import Authen from "./auth.js";
|
|
3
|
+
import Routes from "./routes.js";
|
|
4
|
+
export default function monitor(server) {
|
|
5
|
+
const { Auth, sessions, key, SetUsername, SetPassword, GetPasswd, GetUser } = Authen(server);
|
|
6
|
+
const { ChangeUser, LogoutSession, ChangePasswd, ChangePasswdAuth, CheckUsername, Status, Logout, Login } = Routes(server, { Auth, sessions, key, SetUsername, SetPassword, GetPasswd, GetUser });
|
|
7
|
+
server.add({
|
|
8
|
+
method: "POST",
|
|
9
|
+
handler: Login,
|
|
10
|
+
path: "/api/login"
|
|
11
|
+
});
|
|
12
|
+
server.add({
|
|
13
|
+
method: "GET",
|
|
14
|
+
middelWares: [Auth],
|
|
15
|
+
handler: async (req, res) => {
|
|
16
|
+
return await server.SendFile(res, "public/login/index.html", 200);
|
|
17
|
+
},
|
|
18
|
+
path: "/"
|
|
19
|
+
});
|
|
20
|
+
server.add({
|
|
21
|
+
method: "GET",
|
|
22
|
+
middelWares: [Auth],
|
|
23
|
+
handler: Logout,
|
|
24
|
+
path: "/api/logout"
|
|
25
|
+
});
|
|
26
|
+
server.add({
|
|
27
|
+
method: "GET",
|
|
28
|
+
middelWares: [Auth],
|
|
29
|
+
path: "/admin/status",
|
|
30
|
+
handler: Status
|
|
31
|
+
});
|
|
32
|
+
server.add({
|
|
33
|
+
method: "GET",
|
|
34
|
+
middelWares: [Auth],
|
|
35
|
+
path: "/messages",
|
|
36
|
+
handler: async (req, res) => {
|
|
37
|
+
res.send(200, {
|
|
38
|
+
"logs": server.getLogs()
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
server.add({
|
|
43
|
+
method: "GET",
|
|
44
|
+
path: "/passwd",
|
|
45
|
+
handler: async (req, res) => {
|
|
46
|
+
return await server.SendFile(res, "./public/login/new-password.html", 200);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
server.add({
|
|
50
|
+
method: "GET",
|
|
51
|
+
path: "/api/passwd/:username",
|
|
52
|
+
handler: CheckUsername
|
|
53
|
+
});
|
|
54
|
+
server.add({
|
|
55
|
+
method: "POST",
|
|
56
|
+
path: "/api/passwd/change",
|
|
57
|
+
handler: ChangePasswd
|
|
58
|
+
});
|
|
59
|
+
server.add({
|
|
60
|
+
method: "POST",
|
|
61
|
+
middelWares: [Auth],
|
|
62
|
+
path: "/api/logout/:SessionId",
|
|
63
|
+
handler: LogoutSession
|
|
64
|
+
});
|
|
65
|
+
server.add({
|
|
66
|
+
method: "POST",
|
|
67
|
+
middelWares: [Auth],
|
|
68
|
+
path: "/passwd/change/auth",
|
|
69
|
+
handler: ChangePasswdAuth
|
|
70
|
+
});
|
|
71
|
+
server.add({
|
|
72
|
+
method: "POST",
|
|
73
|
+
middelWares: [Auth],
|
|
74
|
+
path: "/api/user/change",
|
|
75
|
+
handler: ChangeUser
|
|
76
|
+
});
|
|
77
|
+
server.servDir("./public/doc", "docs");
|
|
78
|
+
server.servDir("./public/imgs", "imgs");
|
|
79
|
+
server.servDir("./public/login", "/", [Auth]);
|
|
80
|
+
server.servDir("./public/admin", "admin", [Auth]);
|
|
81
|
+
server.listen(false);
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../src/admin/monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import Server from "../core/Server.js";
|
|
2
|
+
import type { ServerReq, ServerRes } from "../core/types.js";
|
|
3
|
+
import { type auth_t } from "./auth.js";
|
|
4
|
+
export default function Routes(server: Server, obj: auth_t): {
|
|
5
|
+
ChangeUser: (req: ServerReq, res: ServerRes) => Promise<void>;
|
|
6
|
+
LogoutSession: (req: ServerReq, res: ServerRes) => Promise<void>;
|
|
7
|
+
ChangePasswd: (req: ServerReq, res: ServerRes) => Promise<void>;
|
|
8
|
+
ChangePasswdAuth: (req: ServerReq, res: ServerRes) => Promise<void>;
|
|
9
|
+
CheckUsername: (req: ServerReq, res: ServerRes) => Promise<void>;
|
|
10
|
+
Status: (req: ServerReq, res: ServerRes) => Promise<void>;
|
|
11
|
+
Logout: (req: ServerReq, res: ServerRes) => Promise<void>;
|
|
12
|
+
Login: (req: ServerReq, res: ServerRes) => Promise<void>;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/admin/routes.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,KAAK,EAER,SAAS,EACT,SAAS,EACZ,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,KAAK,MAAM,EAAC,MAAM,WAAW,CAAC;AAIvC,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;sBA4JnB,SAAS,OAAO,SAAS;yBApCtB,SAAS,OAAO,SAAS;wBA5B1B,SAAS,OAAO,SAAS;4BA2CrB,SAAS,OAAO,SAAS;yBAvD5B,SAAS,OAAO,SAAS;kBApBhC,SAAS,OAAO,SAAS;kBA7B7B,SAAS,OAAO,SAAS;iBA1B1B,SAAS,OAAO,SAAS;EA4KtD"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import * as os from "node:os";
|
|
2
|
+
import * as JWT from "jsonwebtoken";
|
|
3
|
+
import Server from "../core/Server.js";
|
|
4
|
+
import {} from "./auth.js";
|
|
5
|
+
export default function Routes(server, obj) {
|
|
6
|
+
const { sessions, key, SetUsername, SetPassword, GetPasswd, GetUser } = obj;
|
|
7
|
+
const Login = async (req, res) => {
|
|
8
|
+
let token;
|
|
9
|
+
try {
|
|
10
|
+
if (!req.body.username || req.body.username !== GetUser() || !req.body.password || req.body.password !== GetPasswd())
|
|
11
|
+
throw new Error("User has entred a none valid cridentials");
|
|
12
|
+
const SESSION_ID = crypto.randomUUID();
|
|
13
|
+
token = JWT.default.sign({ id: SESSION_ID }, key, { expiresIn: "1h" });
|
|
14
|
+
res.addCookie("token", token);
|
|
15
|
+
sessions.push({
|
|
16
|
+
id: SESSION_ID,
|
|
17
|
+
isValid: true,
|
|
18
|
+
creation: Date.now(),
|
|
19
|
+
userAgent: req.headers["user-agent"] ?? "DEVICE",
|
|
20
|
+
ip: req.ip ?? "UNKNOWN",
|
|
21
|
+
request: 0
|
|
22
|
+
});
|
|
23
|
+
res.send(200, "./public/admin/index.html", { "set-cookie": `token=${token}; Path=/; SameSite=Lax; HttpOnly` });
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
res.server.log(err.message, "error");
|
|
27
|
+
res.server.log("A user entred a none valid cridentionl", "error");
|
|
28
|
+
res.send(403, { "Error": "Access Denied" });
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const Logout = async (req, res) => {
|
|
32
|
+
let payloud;
|
|
33
|
+
const TOKEN = res.getCookie("token");
|
|
34
|
+
if (!TOKEN)
|
|
35
|
+
return server.SendFile(res, "public/login/index.html", 401);
|
|
36
|
+
try {
|
|
37
|
+
payloud = JWT.default.verify(TOKEN.value, key);
|
|
38
|
+
if (typeof payloud.id === "undefined")
|
|
39
|
+
throw new Error("an Error is happens");
|
|
40
|
+
for (let i = 0; i < sessions.length; i++) {
|
|
41
|
+
if (sessions[i]?.id === payloud.id) {
|
|
42
|
+
if (!sessions[i]?.isValid)
|
|
43
|
+
throw new Error("None valid token");
|
|
44
|
+
sessions[i].request += 1;
|
|
45
|
+
sessions[i].isValid = false;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return await server.SendFile(res, "public/login/index.html", 200);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
server.log(err.message, "error");
|
|
53
|
+
res.send(403, { "Error": "Access Denied" });
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const Status = async (req, res) => {
|
|
57
|
+
const now = Date.now();
|
|
58
|
+
res.send(200, {
|
|
59
|
+
"Machin uptime": `${Math.floor(os.uptime() / 86400)}d ${Math.floor((os.uptime() % 86400) / 3600)}h ${Math.floor((os.uptime() % 3600) / 60)}m`,
|
|
60
|
+
"Server uptime": `${Math.floor((now - server.getUpTime()) / (1000 * 60 * 60 * 24)) % 60}D ${Math.floor((now - server.getUpTime()) / (1000 * 60 * 60)) % 60}H ${Math.floor((now - server.getUpTime()) / (1000 * 60)) % 60}M ${Math.floor((now - server.getUpTime()) / 1000) % 60}S`,
|
|
61
|
+
"Arch": os.arch(),
|
|
62
|
+
"Platform": os.platform(),
|
|
63
|
+
"Memory": `${(os.totalmem() / (1024 ** 3)).toFixed(2)} GB`,
|
|
64
|
+
"Used Memory": `${((os.totalmem() - os.freemem()) / (1024 ** 3)).toFixed(2)} GB`,
|
|
65
|
+
"Free Memory": `${(os.freemem() / (1024 ** 3)).toFixed(2)} GB`,
|
|
66
|
+
"Cpu": os.cpus()[0],
|
|
67
|
+
"Connected clients": "0",
|
|
68
|
+
"Total requests": server.getReqCount(),
|
|
69
|
+
"Currnet-session": res.currentID,
|
|
70
|
+
"sessions": sessions,
|
|
71
|
+
"routes": server.getMethodHandlers(),
|
|
72
|
+
"logs": server.getLogs()
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
const CheckUsername = async (req, res) => {
|
|
76
|
+
let userName = req.params.username;
|
|
77
|
+
if (typeof userName === undefined)
|
|
78
|
+
return res.send(404, { "user": userName, status: "not found" });
|
|
79
|
+
if (userName === GetUser())
|
|
80
|
+
return res.send(200, { "user": userName, status: "found" });
|
|
81
|
+
return res.send(404, { "user": userName, status: "not found" });
|
|
82
|
+
};
|
|
83
|
+
const ChangePasswd = async (req, res) => {
|
|
84
|
+
try {
|
|
85
|
+
const { userName, oldpwd, newpwd } = req.body;
|
|
86
|
+
if (!userName || !oldpwd || !newpwd)
|
|
87
|
+
return res.send(400, { "user": userName || 'unknown', status: 'missing fields', message: 'Username, old password, and new password are required' });
|
|
88
|
+
if (userName !== GetUser())
|
|
89
|
+
return res.send(404, { "user": userName, status: 'this username not found', message: `${userName} not found` });
|
|
90
|
+
if (oldpwd !== GetPasswd())
|
|
91
|
+
return res.send(401, { "user": userName, status: 'password not corect', message: `Password not corect for ${userName}` });
|
|
92
|
+
if (newpwd.length < 8)
|
|
93
|
+
return res.send(400, { "user": userName, status: 'password must be 8 char +' });
|
|
94
|
+
if (oldpwd === newpwd || newpwd === GetPasswd())
|
|
95
|
+
return res.send(400, { "user": userName, status: 'new password must be different', message: 'New password must be different from current password' });
|
|
96
|
+
SetPassword(newpwd);
|
|
97
|
+
return res.send(200, { "user": userName, status: 'password changed', message: 'Password updated successfully' });
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
server.log(`Password change error: ${error}`, "error");
|
|
101
|
+
return res.send(500, { "user": req.body?.username || 'unknown', status: 'error', message: 'Internal server error' });
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
const LogoutSession = async (req, res) => {
|
|
105
|
+
let SessionID = req.params.SessionId;
|
|
106
|
+
if (typeof SessionID === undefined)
|
|
107
|
+
return res.send(404, { status: "not found" });
|
|
108
|
+
for (let i = 0; i < sessions.length; i++) {
|
|
109
|
+
if (SessionID === sessions[i]?.id) {
|
|
110
|
+
sessions[i].isValid = false;
|
|
111
|
+
return res.send(200, { status: `session ${SessionID} logouted` });
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return res.send(404, { status: "not found" });
|
|
115
|
+
};
|
|
116
|
+
const ChangePasswdAuth = async (req, res) => {
|
|
117
|
+
try {
|
|
118
|
+
const { oldpwd, newpwd } = req.body;
|
|
119
|
+
if (!oldpwd || !newpwd)
|
|
120
|
+
return res.send(401, { status: "all field are required !" });
|
|
121
|
+
if (oldpwd !== GetPasswd())
|
|
122
|
+
return res.send(401, { status: "incorect password" });
|
|
123
|
+
if (oldpwd === newpwd)
|
|
124
|
+
return res.send(400, { status: "old pwd must be defrent from new one" });
|
|
125
|
+
SetPassword(newpwd);
|
|
126
|
+
return res.send(200, { status: "password changed with secc" });
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
res.send(500, { status: "internal server error" });
|
|
130
|
+
}
|
|
131
|
+
return res.send(401, { status: "?" });
|
|
132
|
+
};
|
|
133
|
+
const ChangeUser = async (req, res) => {
|
|
134
|
+
try {
|
|
135
|
+
const { userName } = req.body;
|
|
136
|
+
if (!userName)
|
|
137
|
+
return res.send(401, { status: "all field are required !" });
|
|
138
|
+
if (userName.length <= 3 || userName.length >= 20)
|
|
139
|
+
return res.send(400, { status: "username must be between 4-19" });
|
|
140
|
+
SetUsername(userName);
|
|
141
|
+
return res.send(200, { status: "username changed with secc" });
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
res.send(500, { status: "internal server error" });
|
|
145
|
+
}
|
|
146
|
+
return res.send(401, { status: "?" });
|
|
147
|
+
};
|
|
148
|
+
return { ChangeUser, LogoutSession, ChangePasswd, ChangePasswdAuth, CheckUsername, Status, Logout, Login };
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/admin/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAOvC,OAAO,EAAc,MAAM,WAAW,CAAC;AAIvC,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAc,EAAE,GAAW;IAEtD,MAAM,EAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAC,GAAG,GAAG,CAAA;IAGzE,MAAM,KAAK,GAAG,KAAK,EAAE,GAAc,EAAE,GAAc,EAAE,EAAE;QACnD,IAAI,KAAK,CAAA;QAET,IAAI,CAAC;YACG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAChH,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;YAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;YACtC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC7B,QAAQ,CAAC,IAAI,CAAC;gBACF,EAAE,EAAE,UAAU;gBACd,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;gBACpB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,QAAQ;gBAChD,EAAE,EAAG,GAAiB,CAAC,EAAE,IAAI,SAAS;gBACtC,OAAO,EAAE,CAAC;aACb,CAAC,CAAA;YACV,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,2BAA2B,EAAE,EAAE,YAAY,EAAG,SAAS,KAAK,kCAAkC,EAAE,CAAC,CAAC;QACpH,CAAC;QACD,OAAM,GAAQ,EAAE,CAAC;YACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAA;YACjE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,OAAO,EAAG,eAAe,EAAC,CAAC,CAAA;QAClD,CAAC;IACT,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,EAAE,GAAc,EAAE,GAAc,EAAE,EAAE;QAChD,IAAI,OAAY,CAAA;QAGhB,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK;YACN,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,EAAE,GAAG,CAAC,CAAA;QAE/D,IAAI,CAAC;YACD,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/C,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,WAAW;gBACjC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC,CAAC;gBACtC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,EAAC,CAAC;oBAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO;wBACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBACvC,QAAQ,CAAC,CAAC,CAAmB,CAAC,OAAO,IAAI,CAAC,CAAC;oBAC3C,QAAQ,CAAC,CAAC,CAAmB,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC/C,MAAM;gBACV,CAAC;YACL,CAAC;YACD,OAAO,MAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,EAAE,GAAG,CAAC,CAAA;QACtE,CAAC;QACD,OAAM,GAAQ,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAChC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,OAAO,EAAG,eAAe,EAAC,CAAC,CAAA;QAC9C,CAAC;IACL,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,EAAE,GAAc,EAAE,GAAc,EAAE,EAAE;QAChD,MAAM,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE,CAAA;QAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;YACV,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG;YAC7I,eAAe,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG;YAClR,MAAM,EAAG,EAAE,CAAC,IAAI,EAAE;YAClB,UAAU,EAAG,EAAE,CAAC,QAAQ,EAAE;YAC1B,QAAQ,EAAG,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;YAC3D,aAAa,EAAG,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;YACjF,aAAa,EAAG,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;YAC/D,KAAK,EAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpB,mBAAmB,EAAG,GAAG;YACzB,gBAAgB,EAAG,MAAM,CAAC,WAAW,EAAE;YACvC,iBAAiB,EAAG,GAAW,CAAC,SAAS;YACzC,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAG,MAAM,CAAC,iBAAiB,EAAE;YACrC,MAAM,EAAG,MAAM,CAAC,OAAO,EAAE;SAC5B,CAAC,CAAA;IACN,CAAC,CAAA;IAEL,MAAM,aAAa,GAAG,KAAK,EAAE,GAAc,EAAE,GAAc,EAAE,EAAE;QACvD,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAA;QAElC,IAAI,OAAO,QAAQ,KAAK,SAAS;YAC7B,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAC,CAAC,CAAA;QAEjE,IAAI,QAAQ,KAAK,OAAO,EAAE;YACtB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC,CAAA;QAE7D,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAC,CAAC,CAAA;IACjE,CAAC,CAAA;IAEL,MAAM,YAAY,GAAG,KAAK,EAAE,GAAc,EAAE,GAAc,EAAE,EAAE;QACtD,IAAI,CAAC;YAED,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAE9C,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;gBAC/B,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,uDAAuD,EAAE,CAAC,CAAC;YAExJ,IAAI,QAAQ,KAAK,OAAO,EAAE;gBACtB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,GAAG,QAAQ,YAAY,EAAE,CAAC,CAAC;YAEnH,IAAI,MAAM,KAAK,SAAS,EAAE;gBACtB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,EAAE,2BAA2B,QAAQ,EAAE,EAAE,CAAC,CAAC;YAE7H,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBACjB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAEpF,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;gBAC3C,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gCAAgC,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC,CAAC;YACzJ,WAAW,CAAC,MAAM,CAAC,CAAA;YACnB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,+BAA+B,EAAC,CAAC,CAAA;QAEnH,CAAC;QAAC,OAAM,KAAU,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,0BAA0B,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAC,CAAC,CAAC;QACxH,CAAC;IACL,CAAC,CAAA;IAEL,MAAM,aAAa,GAAG,KAAK,EAAE,GAAc,EAAE,GAAc,EAAE,EAAE;QACvD,IAAI,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAA;QAEpC,IAAI,OAAO,SAAS,KAAK,SAAS;YAC9B,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,CAAC,CAAA;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC,CAAC;YACtC,IAAI,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAC,CAAC;gBAC9B,QAAQ,CAAC,CAAC,CAAS,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,WAAW,SAAS,WAAW,EAAC,CAAC,CAAA;YACnE,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,WAAW,EAAC,CAAC,CAAA;IAC/C,CAAC,CAAA;IAEL,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAc,EAAE,GAAc,EAAE,EAAE;QAC1D,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;YACnC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;gBAClB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,0BAA0B,EAAC,CAAC,CAAA;YAE9D,IAAI,MAAM,KAAK,SAAS,EAAE;gBACtB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,mBAAmB,EAAC,CAAC,CAAA;YAEvD,IAAI,MAAM,KAAK,MAAM;gBACjB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,sCAAsC,EAAC,CAAC,CAAA;YAE1E,WAAW,CAAC,MAAM,CAAC,CAAA;YACnB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,4BAA4B,EAAC,CAAC,CAAA;QAEhE,CAAC;QAAC,MAAM,CAAC;YACL,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,uBAAuB,EAAC,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAA;IACvC,CAAC,CAAA;IAEL,MAAM,UAAU,GAAG,KAAK,EAAE,GAAc,EAAE,GAAc,EAAE,EAAE;QACpD,IAAI,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;YAE7B,IAAI,CAAC,QAAQ;gBACT,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,0BAA0B,EAAC,CAAC,CAAA;YAG9D,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE;gBAC7C,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,+BAA+B,EAAC,CAAC,CAAA;YAEnE,WAAW,CAAC,QAAQ,CAAC,CAAA;YACrB,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,4BAA4B,EAAC,CAAC,CAAA;QAEhE,CAAC;QAAC,MAAM,CAAC;YACL,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,uBAAuB,EAAC,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAA;IACvC,CAAC,CAAA;IAEL,OAAO,EAAC,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,CAAA;AAChH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../../src/core/Request.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAO,aAAa,CAAA;AACjC,OAAO,KAAK,EACR,SAAS,EACZ,MAAM,YAAY,CAAA;AAEnB,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CA2B/E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Server from "./Server.js";
|
|
2
|
+
export default function RequestParser(req, server) {
|
|
3
|
+
let body = "";
|
|
4
|
+
try {
|
|
5
|
+
const NewUrl = "http://" + server.getHost() + ":" + server.getPort() + (req.url ?? "");
|
|
6
|
+
req.ReqUrl = URL.parse(NewUrl);
|
|
7
|
+
req.ReqUrl.pathname = req.ReqUrl?.pathname.replace(/(?<=.)\/+$/, "");
|
|
8
|
+
req.Query = new URLSearchParams(req.ReqUrl.searchParams);
|
|
9
|
+
req.queries = Object.fromEntries(req.Query);
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
server.log(`Cannot parse ${req.url}`, "error");
|
|
13
|
+
req.ReqUrl.pathname = req.url;
|
|
14
|
+
req.queries = {};
|
|
15
|
+
}
|
|
16
|
+
req.ip = req.socket.remoteAddress?.split(':').pop() ?? "DEVICE IP";
|
|
17
|
+
req.server = server;
|
|
18
|
+
server.log(`${req.ip} requested METHOD ${req.method}, PATH ${req.ReqUrl?.pathname}`);
|
|
19
|
+
req.on("data", (chunk) => {
|
|
20
|
+
body += chunk.toString();
|
|
21
|
+
});
|
|
22
|
+
return req;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=Request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Request.js","sourceRoot":"","sources":["../../../src/core/Request.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAO,aAAa,CAAA;AAKjC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,GAAc,EAAE,MAAc;IAChE,IAAI,IAAI,GAAW,EAAE,CAAC;IAEtB,IACA,CAAC;QACG,MAAM,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACvF,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9B,GAAG,CAAC,MAAc,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC9E,GAAG,CAAC,KAAK,GAAG,IAAI,eAAe,CAAE,GAAG,CAAC,MAAc,CAAC,YAAY,CAAC,CAAC;QAClE,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC;IACD,MACA,CAAC;QACG,MAAM,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9C,GAAG,CAAC,MAAc,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC;QACvC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAA;IACpB,CAAC;IACD,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC;IACnE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAA;IAEnB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,qBAAqB,GAAG,CAAC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAErF,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;QACrB,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Response.d.ts","sourceRoot":"","sources":["../../../src/core/Response.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,OAAO,KAAK,EACR,SAAS,EACT,SAAS,EAEZ,MAAM,YAAY,CAAA;AAGnB,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CA4FhG"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import Server from "./Server.js";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
export default function ResponseParser(res, req, server) {
|
|
4
|
+
let cookies = [];
|
|
5
|
+
res.isClosed = false;
|
|
6
|
+
res.ip = req.ip;
|
|
7
|
+
res.getCookie = (name) => {
|
|
8
|
+
if (cookies.length !== 0) {
|
|
9
|
+
for (let i = 0; i < cookies.length; i++)
|
|
10
|
+
if (cookies[i]?.key === name)
|
|
11
|
+
return cookies[i] ?? null;
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
14
|
+
};
|
|
15
|
+
res.setCookie = (name, value) => {
|
|
16
|
+
for (let i = 0; i < cookies.length; i++)
|
|
17
|
+
if (name === cookies[i]?.key)
|
|
18
|
+
cookies[i].value = value;
|
|
19
|
+
};
|
|
20
|
+
res.addCookie = (name, value) => {
|
|
21
|
+
if (name === "" || value === "")
|
|
22
|
+
return;
|
|
23
|
+
if (res.getCookie(name) != null)
|
|
24
|
+
return res.setCookie(name, value);
|
|
25
|
+
cookies.push({ key: name, value });
|
|
26
|
+
};
|
|
27
|
+
res.getAllCookies = () => {
|
|
28
|
+
const ArrayBuffer = [];
|
|
29
|
+
for (let i = 0; i < cookies.length; i++)
|
|
30
|
+
ArrayBuffer.push(`${cookies[i]?.key}=${cookies[i]?.value};`);
|
|
31
|
+
return ArrayBuffer;
|
|
32
|
+
};
|
|
33
|
+
const setCookies = (cookies) => {
|
|
34
|
+
if (!cookies || cookies === "")
|
|
35
|
+
return;
|
|
36
|
+
const pairs = cookies.split("; ");
|
|
37
|
+
if (!pairs)
|
|
38
|
+
return;
|
|
39
|
+
for (let i = 0; i < pairs.length; i++)
|
|
40
|
+
res.addCookie(pairs[i]?.split("=")[0] ?? "", pairs[i]?.split("=")[1] ?? "");
|
|
41
|
+
};
|
|
42
|
+
setCookies(req.headers["cookie"]);
|
|
43
|
+
res.server = server;
|
|
44
|
+
res.send = (status, data, headers) => {
|
|
45
|
+
if (!res.isClosed) {
|
|
46
|
+
res.writeHead(status, { 'Content-Type': 'application/json', ...headers });
|
|
47
|
+
res.end(data ? JSON.stringify(data) : "");
|
|
48
|
+
res.isClosed = true;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
server.log(`Multipple replays on ${req.url}`, "error");
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
res.sendFile = async (status, ContentType, data, headers) => {
|
|
55
|
+
if (!res.isClosed) {
|
|
56
|
+
try {
|
|
57
|
+
const fileData = await fs.promises.readFile(data.PATH);
|
|
58
|
+
if (res.isClosed)
|
|
59
|
+
return;
|
|
60
|
+
res.writeHead(status, { 'Content-Type': ContentType, ...headers });
|
|
61
|
+
res.end(fileData);
|
|
62
|
+
res.isClosed = true;
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
if (res.isClosed)
|
|
66
|
+
return;
|
|
67
|
+
res.writeHead(500, { 'Content-Type': 'text/plain' });
|
|
68
|
+
res.end('500 - Internal Error or File Not Found');
|
|
69
|
+
res.isClosed = true;
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else
|
|
74
|
+
server.log(`Multipple replays on ${req.url}`, "error");
|
|
75
|
+
};
|
|
76
|
+
return res;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=Response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Response.js","sourceRoot":"","sources":["../../../src/core/Response.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ServerOptions, ServerRes, Handlers, AddOption, HandlerFun, Decorator, Logs, DirFiles } from "./types.js";
|
|
2
|
+
export default class Server {
|
|
3
|
+
private PORT;
|
|
4
|
+
private hostname;
|
|
5
|
+
private methodHandler;
|
|
6
|
+
private decorators;
|
|
7
|
+
private server;
|
|
8
|
+
private sessions;
|
|
9
|
+
private uptime;
|
|
10
|
+
private reqCount;
|
|
11
|
+
private logs;
|
|
12
|
+
private ServerName;
|
|
13
|
+
private defaultHandler;
|
|
14
|
+
getMethodHandlers(): Handlers[];
|
|
15
|
+
getDecorators(): Decorator[];
|
|
16
|
+
getUpTime(): number;
|
|
17
|
+
getReqCount(): number;
|
|
18
|
+
getLogs(): Logs[];
|
|
19
|
+
private generateKey;
|
|
20
|
+
private generateSession;
|
|
21
|
+
private getSession;
|
|
22
|
+
getHost(): string;
|
|
23
|
+
getPort(): number;
|
|
24
|
+
add(opt: AddOption): void;
|
|
25
|
+
decorate(name: string, data: any): void;
|
|
26
|
+
useDecorator(name: string): Decorator | null | undefined;
|
|
27
|
+
readDir(DIR: string, prefix: string): Promise<DirFiles | null>;
|
|
28
|
+
servDir(DIR: string, pref: string, middelWares?: HandlerFun[]): Promise<void>;
|
|
29
|
+
SendFile(res: ServerRes, FILE: string, status: number): Promise<void>;
|
|
30
|
+
log(message: string, type?: "error" | "message"): void;
|
|
31
|
+
constructor(args: ServerOptions);
|
|
32
|
+
listen(enableMon?: boolean, callback?: () => void): void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=Server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/core/Server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,aAAa,EAEb,SAAS,EACT,QAAQ,EACR,SAAS,EAET,UAAU,EACV,SAAS,EAET,IAAI,EACJ,QAAQ,EACX,MAAM,YAAY,CAAC;AAgBpB,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAA;IACd,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,cAAc,CAAY;IAElC,iBAAiB;IAIjB,aAAa;IAIb,SAAS;IAIT,WAAW;IAIX,OAAO;IAOP,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,UAAU;IAIlB,OAAO;IAIP,OAAO;IAIP,GAAG,CAAC,GAAG,EAAE,SAAS;IAoBlB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;IAOhC,YAAY,CAAC,IAAI,EAAE,MAAM;IAKnB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgB9D,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE;IA+D7D,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B3E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS;gBAkBnC,IAAI,EAAE,aAAa;IAyF/B,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI;CAOpD"}
|