ztechno_core 0.0.43 → 0.0.44
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/lib/typings/user_types.d.ts +1 -1
- package/lib/user_service.js +11 -11
- package/package.json +1 -1
package/lib/user_service.js
CHANGED
|
@@ -18,14 +18,14 @@ class ZUserService {
|
|
|
18
18
|
}
|
|
19
19
|
async checkTableHasAdmin() {
|
|
20
20
|
const res = await this.sqlService.query(`
|
|
21
|
-
SELECT
|
|
21
|
+
SELECT user_id FROM \`${this.tableName}\` WHERE admin=1
|
|
22
22
|
`);
|
|
23
23
|
return res.length > 0;
|
|
24
24
|
}
|
|
25
25
|
async createTable() {
|
|
26
26
|
await this.sqlService.query(`
|
|
27
27
|
CREATE TABLE \`${this.tableName}\` (
|
|
28
|
-
\`
|
|
28
|
+
\`user_id\` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
29
29
|
\`email\` varchar(64) NOT NULL,
|
|
30
30
|
\`role\` varchar(64) DEFAULT NULL,
|
|
31
31
|
\`pass\` varchar(512) NOT NULL,
|
|
@@ -33,7 +33,7 @@ class ZUserService {
|
|
|
33
33
|
\`admin\` tinyint(1) NOT NULL,
|
|
34
34
|
\`updated_at\` datetime NOT NULL DEFAULT current_timestamp(),
|
|
35
35
|
\`created_at\` datetime NOT NULL DEFAULT current_timestamp(),
|
|
36
|
-
PRIMARY KEY (\`
|
|
36
|
+
PRIMARY KEY (\`user_id\`),
|
|
37
37
|
UNIQUE KEY \`email_UNIQUE\` (\`email\`),
|
|
38
38
|
KEY \`email\` (\`email\`),
|
|
39
39
|
KEY \`createdat\` (\`created_at\`),
|
|
@@ -62,8 +62,8 @@ class ZUserService {
|
|
|
62
62
|
async find(opt) {
|
|
63
63
|
const rows = await this.sqlService.query(
|
|
64
64
|
`
|
|
65
|
-
SELECT
|
|
66
|
-
WHERE
|
|
65
|
+
SELECT user_id, email, session, role, admin, updated_at, created_at FROM \`${this.tableName}\`
|
|
66
|
+
WHERE email=?`,
|
|
67
67
|
[opt.email],
|
|
68
68
|
);
|
|
69
69
|
return rows[0];
|
|
@@ -75,25 +75,25 @@ class ZUserService {
|
|
|
75
75
|
const res = await (opt.session
|
|
76
76
|
? this.sqlService.query(
|
|
77
77
|
`
|
|
78
|
-
SELECT
|
|
78
|
+
SELECT user_id, email, session, role, admin, updated_at, created_at FROM \`${this.tableName}\`
|
|
79
79
|
WHERE session=?`,
|
|
80
80
|
[opt.session],
|
|
81
81
|
)
|
|
82
82
|
: this.sqlService.query(
|
|
83
83
|
`
|
|
84
|
-
SELECT
|
|
85
|
-
WHERE
|
|
84
|
+
SELECT user_id, email, session, role, admin, updated_at, created_at FROM \`${this.tableName}\`
|
|
85
|
+
WHERE email=? AND pass=?`,
|
|
86
86
|
[opt.email, this.hashPass(opt)],
|
|
87
87
|
));
|
|
88
88
|
return res.length === 0 ? { authenticated: false } : { user: res[0], session: res[0].session, authenticated: true };
|
|
89
89
|
}
|
|
90
|
-
genSession({ email
|
|
90
|
+
genSession({ email }) {
|
|
91
91
|
const salt = this.salt;
|
|
92
|
-
const data =
|
|
92
|
+
const data = email + Date.now() * Math.random();
|
|
93
93
|
return crypto_service_1.ZCryptoService.hash('sha256', data, { saltMode: 'simple', salt });
|
|
94
94
|
}
|
|
95
95
|
hashPass({ email, pass }) {
|
|
96
|
-
const salt =
|
|
96
|
+
const salt = email + this.salt;
|
|
97
97
|
return crypto_service_1.ZCryptoService.hash('sha256', pass, { saltMode: 'simple', salt });
|
|
98
98
|
}
|
|
99
99
|
}
|