mdkcontroller 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.
Files changed (126) hide show
  1. package/Cores/file/dk.css +99 -0
  2. package/Cores/file/dk.js +154 -0
  3. package/Cores/file/dk_table.css +63 -0
  4. package/Cores/file/dk_table.js +252 -0
  5. package/Cores/file/error.png +0 -0
  6. package/Cores/file/information.png +0 -0
  7. package/Cores/file/jquery-3.2.1.min.js +4 -0
  8. package/Cores/file/success.png +0 -0
  9. package/Cores/file/warning.png +0 -0
  10. package/Cores/login/css/main.css +462 -0
  11. package/Cores/login/css/util.css +2993 -0
  12. package/Cores/login/fonts/font-awesome-4.7.0/HELP-US-OUT.txt +7 -0
  13. package/Cores/login/fonts/font-awesome-4.7.0/css/font-awesome.css +2337 -0
  14. package/Cores/login/fonts/font-awesome-4.7.0/css/font-awesome.min.css +4 -0
  15. package/Cores/login/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf +0 -0
  16. package/Cores/login/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot +0 -0
  17. package/Cores/login/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg +2671 -0
  18. package/Cores/login/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf +0 -0
  19. package/Cores/login/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff +0 -0
  20. package/Cores/login/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 +0 -0
  21. package/Cores/login/fonts/font-awesome-4.7.0/less/animated.less +34 -0
  22. package/Cores/login/fonts/font-awesome-4.7.0/less/bordered-pulled.less +25 -0
  23. package/Cores/login/fonts/font-awesome-4.7.0/less/core.less +12 -0
  24. package/Cores/login/fonts/font-awesome-4.7.0/less/fixed-width.less +6 -0
  25. package/Cores/login/fonts/font-awesome-4.7.0/less/font-awesome.less +18 -0
  26. package/Cores/login/fonts/font-awesome-4.7.0/less/icons.less +789 -0
  27. package/Cores/login/fonts/font-awesome-4.7.0/less/larger.less +13 -0
  28. package/Cores/login/fonts/font-awesome-4.7.0/less/list.less +19 -0
  29. package/Cores/login/fonts/font-awesome-4.7.0/less/mixins.less +60 -0
  30. package/Cores/login/fonts/font-awesome-4.7.0/less/path.less +15 -0
  31. package/Cores/login/fonts/font-awesome-4.7.0/less/rotated-flipped.less +20 -0
  32. package/Cores/login/fonts/font-awesome-4.7.0/less/screen-reader.less +5 -0
  33. package/Cores/login/fonts/font-awesome-4.7.0/less/stacked.less +20 -0
  34. package/Cores/login/fonts/font-awesome-4.7.0/less/variables.less +800 -0
  35. package/Cores/login/fonts/font-awesome-4.7.0/scss/_animated.scss +34 -0
  36. package/Cores/login/fonts/font-awesome-4.7.0/scss/_bordered-pulled.scss +25 -0
  37. package/Cores/login/fonts/font-awesome-4.7.0/scss/_core.scss +12 -0
  38. package/Cores/login/fonts/font-awesome-4.7.0/scss/_fixed-width.scss +6 -0
  39. package/Cores/login/fonts/font-awesome-4.7.0/scss/_icons.scss +789 -0
  40. package/Cores/login/fonts/font-awesome-4.7.0/scss/_larger.scss +13 -0
  41. package/Cores/login/fonts/font-awesome-4.7.0/scss/_list.scss +19 -0
  42. package/Cores/login/fonts/font-awesome-4.7.0/scss/_mixins.scss +60 -0
  43. package/Cores/login/fonts/font-awesome-4.7.0/scss/_path.scss +15 -0
  44. package/Cores/login/fonts/font-awesome-4.7.0/scss/_rotated-flipped.scss +20 -0
  45. package/Cores/login/fonts/font-awesome-4.7.0/scss/_screen-reader.scss +5 -0
  46. package/Cores/login/fonts/font-awesome-4.7.0/scss/_stacked.scss +20 -0
  47. package/Cores/login/fonts/font-awesome-4.7.0/scss/_variables.scss +800 -0
  48. package/Cores/login/fonts/font-awesome-4.7.0/scss/font-awesome.scss +18 -0
  49. package/Cores/login/fonts/montserrat/Montserrat-Black.ttf +0 -0
  50. package/Cores/login/fonts/montserrat/Montserrat-BlackItalic.ttf +0 -0
  51. package/Cores/login/fonts/montserrat/Montserrat-Bold.ttf +0 -0
  52. package/Cores/login/fonts/montserrat/Montserrat-BoldItalic.ttf +0 -0
  53. package/Cores/login/fonts/montserrat/Montserrat-ExtraBold.ttf +0 -0
  54. package/Cores/login/fonts/montserrat/Montserrat-ExtraBoldItalic.ttf +0 -0
  55. package/Cores/login/fonts/montserrat/Montserrat-ExtraLight.ttf +0 -0
  56. package/Cores/login/fonts/montserrat/Montserrat-ExtraLightItalic.ttf +0 -0
  57. package/Cores/login/fonts/montserrat/Montserrat-Italic.ttf +0 -0
  58. package/Cores/login/fonts/montserrat/Montserrat-Light.ttf +0 -0
  59. package/Cores/login/fonts/montserrat/Montserrat-LightItalic.ttf +0 -0
  60. package/Cores/login/fonts/montserrat/Montserrat-Medium.ttf +0 -0
  61. package/Cores/login/fonts/montserrat/Montserrat-MediumItalic.ttf +0 -0
  62. package/Cores/login/fonts/montserrat/Montserrat-Regular.ttf +0 -0
  63. package/Cores/login/fonts/montserrat/Montserrat-SemiBold.ttf +0 -0
  64. package/Cores/login/fonts/montserrat/Montserrat-SemiBoldItalic.ttf +0 -0
  65. package/Cores/login/fonts/montserrat/Montserrat-Thin.ttf +0 -0
  66. package/Cores/login/fonts/montserrat/Montserrat-ThinItalic.ttf +0 -0
  67. package/Cores/login/fonts/montserrat/OFL.txt +93 -0
  68. package/Cores/login/fonts/poppins/Poppins-Black.ttf +0 -0
  69. package/Cores/login/fonts/poppins/Poppins-BlackItalic.ttf +0 -0
  70. package/Cores/login/fonts/poppins/Poppins-Bold.ttf +0 -0
  71. package/Cores/login/fonts/poppins/Poppins-BoldItalic.ttf +0 -0
  72. package/Cores/login/fonts/poppins/Poppins-ExtraBold.ttf +0 -0
  73. package/Cores/login/fonts/poppins/Poppins-ExtraBoldItalic.ttf +0 -0
  74. package/Cores/login/fonts/poppins/Poppins-ExtraLight.ttf +0 -0
  75. package/Cores/login/fonts/poppins/Poppins-ExtraLightItalic.ttf +0 -0
  76. package/Cores/login/fonts/poppins/Poppins-Italic.ttf +0 -0
  77. package/Cores/login/fonts/poppins/Poppins-Light.ttf +0 -0
  78. package/Cores/login/fonts/poppins/Poppins-LightItalic.ttf +0 -0
  79. package/Cores/login/fonts/poppins/Poppins-Medium.ttf +0 -0
  80. package/Cores/login/fonts/poppins/Poppins-MediumItalic.ttf +0 -0
  81. package/Cores/login/fonts/poppins/Poppins-Regular.ttf +0 -0
  82. package/Cores/login/fonts/poppins/Poppins-SemiBold.ttf +0 -0
  83. package/Cores/login/fonts/poppins/Poppins-SemiBoldItalic.ttf +0 -0
  84. package/Cores/login/fonts/poppins/Poppins-Thin.ttf +0 -0
  85. package/Cores/login/fonts/poppins/Poppins-ThinItalic.ttf +0 -0
  86. package/Cores/login/images/icons/favicon.ico +0 -0
  87. package/Cores/login/images/img-01.png +0 -0
  88. package/Cores/login/index.html +146 -0
  89. package/Cores/login/js/main.js +57 -0
  90. package/Cores/login/register.html +191 -0
  91. package/Cores/login/vendor/animate/animate.css +1579 -0
  92. package/Cores/login/vendor/bootstrap/css/bootstrap-grid.css +1353 -0
  93. package/Cores/login/vendor/bootstrap/css/bootstrap-grid.css.map +1 -0
  94. package/Cores/login/vendor/bootstrap/css/bootstrap-grid.min.css +2 -0
  95. package/Cores/login/vendor/bootstrap/css/bootstrap-grid.min.css.map +1 -0
  96. package/Cores/login/vendor/bootstrap/css/bootstrap-reboot.css +330 -0
  97. package/Cores/login/vendor/bootstrap/css/bootstrap-reboot.css.map +1 -0
  98. package/Cores/login/vendor/bootstrap/css/bootstrap-reboot.min.css +2 -0
  99. package/Cores/login/vendor/bootstrap/css/bootstrap-reboot.min.css.map +1 -0
  100. package/Cores/login/vendor/bootstrap/css/bootstrap.css +8185 -0
  101. package/Cores/login/vendor/bootstrap/css/bootstrap.css.map +1 -0
  102. package/Cores/login/vendor/bootstrap/css/bootstrap.min.css +7 -0
  103. package/Cores/login/vendor/bootstrap/css/bootstrap.min.css.map +1 -0
  104. package/Cores/login/vendor/bootstrap/js/bootstrap.js +3831 -0
  105. package/Cores/login/vendor/bootstrap/js/bootstrap.min.js +6 -0
  106. package/Cores/login/vendor/bootstrap/js/popper.js +2448 -0
  107. package/Cores/login/vendor/bootstrap/js/popper.min.js +5 -0
  108. package/Cores/login/vendor/bootstrap/js/tooltip.js +539 -0
  109. package/Cores/login/vendor/css-hamburgers/hamburgers.css +626 -0
  110. package/Cores/login/vendor/css-hamburgers/hamburgers.min.css +7 -0
  111. package/Cores/login/vendor/jquery/jquery-3.2.1.min.js +4 -0
  112. package/Cores/login/vendor/select2/select2.css +484 -0
  113. package/Cores/login/vendor/select2/select2.js +6450 -0
  114. package/Cores/login/vendor/select2/select2.min.css +1 -0
  115. package/Cores/login/vendor/select2/select2.min.js +3 -0
  116. package/Cores/login/vendor/tilt/tilt.jquery.min.js +1 -0
  117. package/app.js +105 -0
  118. package/dk_modules/authorization.js +47 -0
  119. package/dk_modules/autoSequence.js +23 -0
  120. package/dk_modules/autohtml.js +99 -0
  121. package/dk_modules/dkdb.js +7 -0
  122. package/dk_modules/dkvar.js +50 -0
  123. package/dk_modules/users.js +143 -0
  124. package/package.json +17 -0
  125. package/projectDB.js +5 -0
  126. package/projectVar.js +3 -0
@@ -0,0 +1,143 @@
1
+ import authInstant from "./authorization.js";
2
+ import autoSequenceInstant from "./autoSequence.js";
3
+ import { allowRegister, encodeMini, generateRandomToken, privateKey } from "./dkvar.js";
4
+ export default (router, db) => {
5
+
6
+ const auth = authInstant(db);
7
+ const autoNumber = autoSequenceInstant(db);
8
+ const tbUser = db.data.users;
9
+ const tbLoginToken = db.data.loginTokens;
10
+
11
+
12
+ router.get("/users/gets", auth.validate, (req, res) => {
13
+ res.json({ message: "Get all users" });
14
+ });
15
+
16
+ router.get("/users/get", auth.validate, (req, res) => {
17
+ const userId = req.params.id;
18
+ const userO = tbUser.find({ id: parseInt(userId) });
19
+ res.json({ message: `Get user with ID ${userId}`, user: userO });
20
+ });
21
+ router.get('/users/logout', async (req, res) => {
22
+ const accessToken = req.cookies?.access_token;
23
+ if (accessToken) {
24
+ const indexToken = tbLoginToken.findIndex(f => f.tokenString == accessToken);
25
+ tbLoginToken.slice(indexToken, 1);
26
+ await db.write();
27
+ }
28
+ res.clearCookie('access_token', { httpOnly: true });
29
+ res.clearCookie('sessionUExt', {});
30
+ res.redirect('/login');
31
+ });
32
+
33
+ router.post("/users/login", async (req, res) => {
34
+ const bodyParser = req.body;
35
+ if (bodyParser.userName && bodyParser.password) {
36
+ let userLoging = tbUser.find(f => f.userName == bodyParser.userName.toLowerCase() && f.password == bodyParser.password);
37
+ if (userLoging) {
38
+ const accessToken = generateToken(userLoging.userName);
39
+
40
+ const expiredValue = new Date();
41
+ expiredValue.setMonth(expiredValue.getMonth() + 1);
42
+
43
+ tbLoginToken.push({
44
+ id: autoNumber.getNumber('loginTokens'),
45
+ userId: userLoging.id,
46
+ tokenString: accessToken,
47
+ expired: expiredValue
48
+ });
49
+ await db.write();
50
+ res.cookie('access_token', accessToken, { httpOnly: true, expires: expiredValue });
51
+ res.cookie('sessionUExt', `${encodeMini(userLoging.id, privateKey)}`, { expires: expiredValue });
52
+ res.json({ message: `Đăng nhập thành công.`, success: true });
53
+ } else {
54
+ res.json({ message: `Tài khoản hoặc mật khẩu không chính xác.`, success: false });
55
+ }
56
+ } else {
57
+ res.json({ message: `Không đủ thông tin để đăng nhập.`, success: false });
58
+ }
59
+ });
60
+ router.get("/users/tryGetAccess", (req, res) => {
61
+ const isLogin = auth.validateBool(req, res);
62
+ if (isLogin == 1) {
63
+ const accessToken = req.cookies?.access_token;
64
+ const expiredValue = new Date();
65
+ expiredValue.setMonth(expiredValue.getMonth() + 1);
66
+ res.cookie('access_token', accessToken, { httpOnly: true, expires: expiredValue });
67
+ }
68
+ res.json({ success: true, isLogin: isLogin });
69
+ });
70
+ router.post("/users/create", async (req, res) => {
71
+ if (!allowRegister) {
72
+ res.json({ message: `Chức năng đăng ký tài khoản mới không được cung cấp.`, success: false });
73
+ return;
74
+ }
75
+ const bodyParser = req.body;
76
+ if (bodyParser.userName && bodyParser.email && bodyParser.password) {
77
+ let newUser = tbUser.find(f => f.email == bodyParser.email.toLowerCase());
78
+ if (!newUser) {
79
+ let validateUserName = tbUser.find(f => f.userName == bodyParser.userName.toLowerCase());
80
+ if (validateUserName) {
81
+ res.json({ message: `Tên tài khoản đã có người đăng ký.`, success: false });
82
+ return;
83
+ }
84
+ tbUser
85
+ .push({
86
+ id: autoNumber.getNumber('users'),
87
+ userName: bodyParser.userName.toLowerCase(),
88
+ email: bodyParser.email.toLowerCase(),
89
+ password: bodyParser.password,
90
+ active: true,
91
+ amount: 0
92
+ });
93
+ await db.write();
94
+ newUser = tbUser.find(f => f.userName == bodyParser.userName.toLowerCase());
95
+ res.json({
96
+ message: `Hello, ${bodyParser.userName}! Tài khoản đã được tạo.`,
97
+ user: newUser,
98
+ success: true
99
+ });
100
+ } else {
101
+ res.json({
102
+ message: `Hello, ${newUser.email}! Tài khoản đã có trong hệ thống.`,
103
+ user: newUser,
104
+ success: false
105
+ });
106
+ }
107
+ } else {
108
+ res.json({ message: `Không đủ thông tin để tạo User mới.`, success: false });
109
+ }
110
+ });
111
+
112
+ console.log(
113
+ "Module dk_modules/users.js: (db)=>{ router: router, table: tbUser }"
114
+ );
115
+ return { router: router, table: tbUser };
116
+ };
117
+
118
+ function generateToken(subText) {
119
+ return encodeMini(subText + generateRandomToken(100), privateKey);
120
+ }
121
+ // // Thêm một người dùng mới
122
+ // users
123
+ // .push({ id: 3, name: 'Bob Smith' })
124
+ // .write();
125
+
126
+ // // Hiển thị danh sách người dùng
127
+ // const userList = users.value();
128
+ // console.log('User List:', userList);
129
+
130
+ // // Tìm người dùng có id là 2
131
+ // const userWithId2 = users.find({ id: 2 }).value();
132
+ // console.log('User with ID 2:', userWithId2);
133
+
134
+ // // Cập nhật tên người dùng có id là 1
135
+ // users
136
+ // .find({ id: 1 })
137
+ // .assign({ name: 'Updated Name' })
138
+ // .write();
139
+
140
+ // // Xóa người dùng có id là 2
141
+ // users
142
+ // .remove({ id: 2 })
143
+ // .write();
package/package.json ADDED
@@ -0,0 +1,17 @@
1
+ {
2
+ "dependencies": {
3
+ "cookie-parser": "^1.4.6",
4
+ "express": "^4.18.2",
5
+ "fluent-ffmpeg": "^2.1.2",
6
+ "handlebars": "^4.7.8",
7
+ "lowdb": "^7.0.1",
8
+ "socket.io": "^4.7.2"
9
+ },
10
+ "name": "mdkcontroller",
11
+ "version": "1.0.0",
12
+ "keywords": [],
13
+ "author": "",
14
+ "license": "ISC",
15
+ "description": "",
16
+ "type": "module"
17
+ }
package/projectDB.js ADDED
@@ -0,0 +1,5 @@
1
+ export default function (db) {
2
+ console.log("Module projectDB.js: (db)=> init table for project");
3
+ db.data.videoAccess = db.data.videoAccess || [];
4
+ return db;
5
+ };
package/projectVar.js ADDED
@@ -0,0 +1,3 @@
1
+ //C:\Users\KHANHNBD\Desktop\WWW\ShareFiles\Temp
2
+ // export const apivideoPath = "C:\\Users\\khanh\\Desktop\\WWW\\ShareFiles\\Temp";
3
+ export const demo = "";