@admc-go-th/admc-library 1.0.6 → 1.0.8

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 (35) hide show
  1. package/controllers/default.d.ts +5 -0
  2. package/controllers/default.js +38 -0
  3. package/databases/models/authAssignment.d.ts +20 -0
  4. package/databases/models/authAssignment.js +88 -0
  5. package/databases/models/authItem.d.ts +28 -0
  6. package/databases/models/authItem.js +111 -0
  7. package/databases/models/authItemChild.d.ts +12 -0
  8. package/databases/models/authItemChild.js +58 -0
  9. package/databases/models/authRole.d.ts +20 -0
  10. package/databases/models/authRole.js +87 -0
  11. package/databases/models/authRoleChild.d.ts +14 -0
  12. package/databases/models/authRoleChild.js +66 -0
  13. package/databases/models/index.d.ts +11 -0
  14. package/databases/models/index.js +736 -0
  15. package/databases/models/mdContent.d.ts +38 -0
  16. package/databases/models/mdContent.js +146 -0
  17. package/databases/models/mdContentGroup.d.ts +22 -0
  18. package/databases/models/mdContentGroup.js +93 -0
  19. package/databases/models/menu.d.ts +26 -0
  20. package/databases/models/menu.js +106 -0
  21. package/databases/models/msModule.d.ts +20 -0
  22. package/databases/models/msModule.js +87 -0
  23. package/databases/models/users.d.ts +50 -0
  24. package/databases/models/users.js +189 -0
  25. package/error/app-error.d.ts +6 -0
  26. package/error/app-error.js +37 -0
  27. package/middleware/authenticate-token.d.ts +7 -0
  28. package/middleware/authenticate-token.js +57 -0
  29. package/middleware/error-handler.d.ts +5 -0
  30. package/middleware/error-handler.js +40 -0
  31. package/package.json +7 -2
  32. package/types/jwt/payload.types.d.ts +11 -0
  33. package/types/jwt/payload.types.js +18 -0
  34. package/utils/date.d.ts +3 -0
  35. package/utils/date.js +43 -0
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var __decorateClass = (decorators, target, key, kind) => {
20
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
21
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
22
+ if (decorator = decorators[i])
23
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
24
+ if (kind && result) __defProp(target, key, result);
25
+ return result;
26
+ };
27
+
28
+ // src/databases/models/users.ts
29
+ var users_exports = {};
30
+ __export(users_exports, {
31
+ users: () => users
32
+ });
33
+ module.exports = __toCommonJS(users_exports);
34
+ var import_sequelize_typescript = require("sequelize-typescript");
35
+ var users = class extends import_sequelize_typescript.Model {
36
+ uuid;
37
+ };
38
+ __decorateClass([
39
+ (0, import_sequelize_typescript.Column)({
40
+ primaryKey: true,
41
+ autoIncrement: true,
42
+ type: import_sequelize_typescript.DataType.INTEGER
43
+ })
44
+ ], users.prototype, "id", 2);
45
+ __decorateClass([
46
+ (0, import_sequelize_typescript.Column)({
47
+ allowNull: false,
48
+ defaultValue: import_sequelize_typescript.DataType.UUIDV4,
49
+ type: import_sequelize_typescript.DataType.UUID
50
+ })
51
+ ], users.prototype, "uuid", 2);
52
+ __decorateClass([
53
+ (0, import_sequelize_typescript.Column)({
54
+ allowNull: true,
55
+ type: import_sequelize_typescript.DataType.STRING(255)
56
+ })
57
+ ], users.prototype, "username", 2);
58
+ __decorateClass([
59
+ (0, import_sequelize_typescript.Column)({
60
+ field: "password_hash",
61
+ allowNull: true,
62
+ type: import_sequelize_typescript.DataType.STRING(255)
63
+ })
64
+ ], users.prototype, "passwordHash", 2);
65
+ __decorateClass([
66
+ (0, import_sequelize_typescript.Column)({
67
+ field: "password_reset_token",
68
+ allowNull: true,
69
+ type: import_sequelize_typescript.DataType.STRING(255)
70
+ })
71
+ ], users.prototype, "passwordResetToken", 2);
72
+ __decorateClass([
73
+ (0, import_sequelize_typescript.Column)({
74
+ field: "verification_token",
75
+ allowNull: true,
76
+ type: import_sequelize_typescript.DataType.STRING(255)
77
+ })
78
+ ], users.prototype, "verificationToken", 2);
79
+ __decorateClass([
80
+ (0, import_sequelize_typescript.Column)({
81
+ allowNull: true,
82
+ type: import_sequelize_typescript.DataType.STRING(255)
83
+ })
84
+ ], users.prototype, "email", 2);
85
+ __decorateClass([
86
+ (0, import_sequelize_typescript.Column)({
87
+ field: "auth_key",
88
+ allowNull: true,
89
+ type: import_sequelize_typescript.DataType.STRING(32)
90
+ })
91
+ ], users.prototype, "authKey", 2);
92
+ __decorateClass([
93
+ (0, import_sequelize_typescript.Column)({
94
+ field: "access_token",
95
+ allowNull: true,
96
+ type: import_sequelize_typescript.DataType.STRING
97
+ })
98
+ ], users.prototype, "accessToken", 2);
99
+ __decorateClass([
100
+ (0, import_sequelize_typescript.Column)({
101
+ field: "user_level",
102
+ allowNull: true,
103
+ type: import_sequelize_typescript.DataType.INTEGER
104
+ })
105
+ ], users.prototype, "userLevel", 2);
106
+ __decorateClass([
107
+ (0, import_sequelize_typescript.Column)({
108
+ field: "user_authen",
109
+ allowNull: true,
110
+ type: import_sequelize_typescript.DataType.STRING(64)
111
+ })
112
+ ], users.prototype, "userAuthen", 2);
113
+ __decorateClass([
114
+ (0, import_sequelize_typescript.Column)({
115
+ field: "user_type",
116
+ allowNull: true,
117
+ type: import_sequelize_typescript.DataType.INTEGER
118
+ })
119
+ ], users.prototype, "userType", 2);
120
+ __decorateClass([
121
+ (0, import_sequelize_typescript.Column)({
122
+ allowNull: true,
123
+ type: import_sequelize_typescript.DataType.STRING(10)
124
+ })
125
+ ], users.prototype, "prefix", 2);
126
+ __decorateClass([
127
+ (0, import_sequelize_typescript.Column)({
128
+ field: "first_name",
129
+ allowNull: true,
130
+ type: import_sequelize_typescript.DataType.STRING(100)
131
+ })
132
+ ], users.prototype, "firstName", 2);
133
+ __decorateClass([
134
+ (0, import_sequelize_typescript.Column)({
135
+ field: "last_name",
136
+ allowNull: true,
137
+ type: import_sequelize_typescript.DataType.STRING(100)
138
+ })
139
+ ], users.prototype, "lastName", 2);
140
+ __decorateClass([
141
+ (0, import_sequelize_typescript.Column)({
142
+ allowNull: true,
143
+ type: import_sequelize_typescript.DataType.STRING(20)
144
+ })
145
+ ], users.prototype, "phone", 2);
146
+ __decorateClass([
147
+ (0, import_sequelize_typescript.Column)({
148
+ allowNull: true,
149
+ type: import_sequelize_typescript.DataType.SMALLINT
150
+ })
151
+ ], users.prototype, "status", 2);
152
+ __decorateClass([
153
+ (0, import_sequelize_typescript.Column)({
154
+ field: "created_by",
155
+ allowNull: true,
156
+ type: import_sequelize_typescript.DataType.STRING(60)
157
+ })
158
+ ], users.prototype, "createdBy", 2);
159
+ __decorateClass([
160
+ (0, import_sequelize_typescript.Column)({
161
+ field: "created_date",
162
+ allowNull: true,
163
+ type: import_sequelize_typescript.DataType.DATE
164
+ })
165
+ ], users.prototype, "createdDate", 2);
166
+ __decorateClass([
167
+ (0, import_sequelize_typescript.Column)({
168
+ field: "updated_by",
169
+ allowNull: true,
170
+ type: import_sequelize_typescript.DataType.STRING(60)
171
+ })
172
+ ], users.prototype, "updatedBy", 2);
173
+ __decorateClass([
174
+ (0, import_sequelize_typescript.Column)({
175
+ field: "updated_date",
176
+ allowNull: true,
177
+ type: import_sequelize_typescript.DataType.DATE
178
+ })
179
+ ], users.prototype, "updatedDate", 2);
180
+ users = __decorateClass([
181
+ (0, import_sequelize_typescript.Table)({
182
+ tableName: "users",
183
+ timestamps: false
184
+ })
185
+ ], users);
186
+ // Annotate the CommonJS export names for ESM import in node:
187
+ 0 && (module.exports = {
188
+ users
189
+ });
@@ -0,0 +1,6 @@
1
+ declare class AppError extends Error {
2
+ statusCode: number;
3
+ constructor(message: string, statusCode?: number);
4
+ }
5
+
6
+ export { AppError };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/error/app-error.ts
21
+ var app_error_exports = {};
22
+ __export(app_error_exports, {
23
+ AppError: () => AppError
24
+ });
25
+ module.exports = __toCommonJS(app_error_exports);
26
+ var AppError = class _AppError extends Error {
27
+ statusCode;
28
+ constructor(message, statusCode = 500) {
29
+ super(message);
30
+ this.statusCode = statusCode;
31
+ Object.setPrototypeOf(this, _AppError.prototype);
32
+ }
33
+ };
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ AppError
37
+ });
@@ -0,0 +1,7 @@
1
+ import { JwtPayload } from '../types/jwt/payload.types.js';
2
+
3
+ declare module 'express-serve-static-core' {
4
+ interface Request {
5
+ user?: JwtPayload;
6
+ }
7
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+
25
+ // src/middleware/authenticate-token.ts
26
+ var import_jsonwebtoken = __toESM(require("jsonwebtoken"));
27
+ function authenticateToken(secretKey) {
28
+ return function authenticate(req, res, next) {
29
+ const authHeader = req.headers["authorization"];
30
+ const token = authHeader?.split(" ")[1];
31
+ if (!token) {
32
+ res.status(401).json({ message: "Token required" });
33
+ return;
34
+ }
35
+ if (!secretKey) {
36
+ res.status(500).json({ message: "Cannot verify Secret Key" });
37
+ return;
38
+ }
39
+ import_jsonwebtoken.default.verify(token, secretKey, (err, decoded) => {
40
+ if (err) {
41
+ res.status(403).json({ message: "Invalid token" });
42
+ return;
43
+ }
44
+ req.user = decoded;
45
+ if (typeof req.user.exp !== "number") {
46
+ return res.status(401).json({ message: "Invalid token: missing expiration" });
47
+ }
48
+ const currentTime = Math.floor(Date.now() / 1e3);
49
+ if (req.user.exp < currentTime) {
50
+ res.status(401).json({ message: "Token expired" });
51
+ return;
52
+ }
53
+ next();
54
+ });
55
+ };
56
+ }
57
+ module.exports = authenticateToken;
@@ -0,0 +1,5 @@
1
+ import { ErrorRequestHandler } from 'express';
2
+
3
+ declare const errorHandler: ErrorRequestHandler;
4
+
5
+ export { errorHandler };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/middleware/error-handler.ts
21
+ var error_handler_exports = {};
22
+ __export(error_handler_exports, {
23
+ errorHandler: () => errorHandler
24
+ });
25
+ module.exports = __toCommonJS(error_handler_exports);
26
+ var errorHandler = (err, req, res, next) => {
27
+ const status = err.statusCode || 500;
28
+ const code = err.code || "INTERNAL_SERVER_ERROR";
29
+ const message = err.message || "Unexpected error occurred";
30
+ res.status(status).json({
31
+ success: false,
32
+ code,
33
+ message,
34
+ ...process.env.NODE_ENV === "development" && { stack: err.stack }
35
+ });
36
+ };
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ errorHandler
40
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@admc-go-th/admc-library",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "",
5
5
  "main": "./index.js",
6
6
  "types": "./index.d.ts",
@@ -12,7 +12,12 @@
12
12
  "format": "prettier --write ."
13
13
  },
14
14
  "files": [
15
- "dist/*",
15
+ "controllers",
16
+ "databases",
17
+ "error",
18
+ "middleware",
19
+ "types",
20
+ "utils",
16
21
  "*.js",
17
22
  "*.d.ts"
18
23
  ],
@@ -0,0 +1,11 @@
1
+ interface JwtPayload {
2
+ uuid: string;
3
+ username: string;
4
+ iss: string;
5
+ sub: string;
6
+ aud: string;
7
+ iat: number;
8
+ exp: number;
9
+ }
10
+
11
+ export type { JwtPayload };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/types/jwt/payload.types.ts
17
+ var payload_types_exports = {};
18
+ module.exports = __toCommonJS(payload_types_exports);
@@ -0,0 +1,3 @@
1
+ declare function formatDate(date: Date, format?: string): string;
2
+
3
+ export { formatDate };
package/utils/date.js ADDED
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/utils/date.ts
31
+ var date_exports = {};
32
+ __export(date_exports, {
33
+ formatDate: () => formatDate
34
+ });
35
+ module.exports = __toCommonJS(date_exports);
36
+ var import_dayjs = __toESM(require("dayjs"));
37
+ function formatDate(date, format = "YYYY-MM-DD HH:mm:ss") {
38
+ return (0, import_dayjs.default)(date).format(format);
39
+ }
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ formatDate
43
+ });