ztechno_core 0.0.21 → 0.0.23

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.
@@ -20,10 +20,6 @@ export declare class ZCryptoService {
20
20
  salt: string;
21
21
  }
22
22
  ),
23
- ): {
24
- salt: string;
25
- data: string;
26
- hash: string;
27
- };
23
+ ): string;
28
24
  }
29
25
  export {};
@@ -82,14 +82,12 @@ class ZCryptoService {
82
82
  .join('');
83
83
  }
84
84
  let hash = data;
85
- for (let i = 0; i < itt; i++) hash = crypto.createHash(hashAlgorithm).update(hash).digest('hex');
85
+ for (let i = 0; i < itt; i++) {
86
+ hash = crypto.createHash(hashAlgorithm).update(hash).digest('hex');
87
+ }
86
88
  const cut = itt.toString().length + 1;
87
- hash = `${cut}$${hash.substring(cut)}`;
88
- return {
89
- salt,
90
- data,
91
- hash,
92
- };
89
+ hash = `${itt}$${hash.substring(cut)}`;
90
+ return hash;
93
91
  }
94
92
  }
95
93
  exports.ZCryptoService = ZCryptoService;
@@ -15,10 +15,11 @@ export declare class ZUserService {
15
15
  private salt;
16
16
  constructor({ sqlService, tableName }: { sqlService: ZSqlService; tableName?: string });
17
17
  private checkTableExists;
18
+ checkTableHasAdmin(): Promise<boolean>;
18
19
  private createTable;
19
20
  ensureTableExists(): Promise<void>;
20
21
  register({ name, pass, role, admin }: ZRequiredUserColumns): Promise<void>;
21
22
  auth({ name, pass }: ZUserCredentials): Promise<boolean>;
22
- private saltPass;
23
+ private hashPass;
23
24
  }
24
25
  export {};
@@ -16,6 +16,12 @@ class ZUserService {
16
16
  `);
17
17
  return res.length > 0;
18
18
  }
19
+ async checkTableHasAdmin() {
20
+ const res = await this.sqlService.query(`
21
+ SELECT id FROM \`${this.tableName}\` WHERE admin=1
22
+ `);
23
+ return res.length > 0;
24
+ }
19
25
  async createTable() {
20
26
  await this.sqlService.query(`
21
27
  CREATE TABLE \`${this.tableName}\` (
@@ -46,24 +52,23 @@ class ZUserService {
46
52
  INSERT INTO \`${this.tableName}\` (name, pass, role, admin)
47
53
  VALUES (?, ?, ?, ?)
48
54
  `,
49
- [name, this.saltPass({ name, pass }), role, admin],
55
+ [name, this.hashPass({ name, pass }), role, admin],
50
56
  );
51
57
  }
52
58
  async auth({ name, pass }) {
53
59
  const res = await this.sqlService.query(
54
60
  `
55
61
  SELECT id, name, role, admin, updated_at, created_at
56
- FROM ${this.tableName}
62
+ FROM \`${this.tableName}\`
57
63
  WHERE name=? AND pass=?
58
64
  `,
59
- [name, this.saltPass({ name, pass })],
65
+ [name, this.hashPass({ name, pass })],
60
66
  );
61
67
  return res.length === 1;
62
68
  }
63
- saltPass({ name, pass }) {
69
+ hashPass({ name, pass }) {
64
70
  const salt = name + this.salt;
65
- const { hash } = crypto_service_1.ZCryptoService.hash('sha256', pass, { saltMode: 'simple', salt });
66
- return hash;
71
+ return crypto_service_1.ZCryptoService.hash('sha256', pass, { saltMode: 'simple', salt });
67
72
  }
68
73
  }
69
74
  exports.ZUserService = ZUserService;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztechno_core",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "description": "Core files for ztechno framework",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",