ztechno_core 0.0.49 → 0.0.50
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/sql_service.d.ts +27 -2
- package/lib/sql_service.js +32 -0
- package/lib/user_service.d.ts +1 -1
- package/package.json +1 -1
package/lib/sql_service.d.ts
CHANGED
|
@@ -2,16 +2,40 @@ import * as mysql from 'mysql';
|
|
|
2
2
|
type ZOnErrorCallback = (err: mysql.MysqlError) => any;
|
|
3
3
|
type ZOnLogCallback = (log: string) => any;
|
|
4
4
|
export declare class ZSqlService {
|
|
5
|
+
private options;
|
|
5
6
|
private pool;
|
|
6
7
|
private defaultPoolconfig;
|
|
7
8
|
private listeners;
|
|
8
9
|
private databaseName;
|
|
9
10
|
get database(): string;
|
|
10
|
-
constructor(
|
|
11
|
+
constructor(
|
|
12
|
+
options: mysql.PoolConfig & {
|
|
13
|
+
dateStringTimezone?: string;
|
|
14
|
+
},
|
|
15
|
+
);
|
|
11
16
|
on(eventName: 'err', listener: ZOnErrorCallback): void;
|
|
12
17
|
on(eventName: 'log', listener: ZOnLogCallback): void;
|
|
13
18
|
private triggerEvent;
|
|
14
19
|
private getPoolConnection;
|
|
20
|
+
exec(opt: {
|
|
21
|
+
query: string;
|
|
22
|
+
params?:
|
|
23
|
+
| any[]
|
|
24
|
+
| {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
};
|
|
27
|
+
}): Promise<{
|
|
28
|
+
insertId: number;
|
|
29
|
+
affectedRows: number;
|
|
30
|
+
}>;
|
|
31
|
+
exec<T = any>(opt: {
|
|
32
|
+
query: string;
|
|
33
|
+
params?:
|
|
34
|
+
| any[]
|
|
35
|
+
| {
|
|
36
|
+
[key: string]: any;
|
|
37
|
+
};
|
|
38
|
+
}): Promise<T>;
|
|
15
39
|
query(
|
|
16
40
|
sql: string,
|
|
17
41
|
params?:
|
|
@@ -30,7 +54,8 @@ export declare class ZSqlService {
|
|
|
30
54
|
| {
|
|
31
55
|
[key: string]: any;
|
|
32
56
|
},
|
|
33
|
-
): Promise<T>;
|
|
57
|
+
): Promise<T[]>;
|
|
34
58
|
private formatQueryParams;
|
|
59
|
+
private isSqlDate;
|
|
35
60
|
}
|
|
36
61
|
export {};
|
package/lib/sql_service.js
CHANGED
|
@@ -47,6 +47,7 @@ class ZSqlService {
|
|
|
47
47
|
return this.databaseName;
|
|
48
48
|
}
|
|
49
49
|
constructor(options) {
|
|
50
|
+
this.options = options;
|
|
50
51
|
this.defaultPoolconfig = {
|
|
51
52
|
connectionLimit: 10,
|
|
52
53
|
timeout: 20000,
|
|
@@ -82,6 +83,23 @@ class ZSqlService {
|
|
|
82
83
|
this.pool.getConnection((err, con) => (err ? reject(err) : resolve(con)));
|
|
83
84
|
});
|
|
84
85
|
}
|
|
86
|
+
async exec(opt) {
|
|
87
|
+
const rows = await this.query(opt.query, opt.params);
|
|
88
|
+
if (!Array.isArray(rows)) {
|
|
89
|
+
return rows;
|
|
90
|
+
}
|
|
91
|
+
if (!this.options.dateStringTimezone) {
|
|
92
|
+
return rows;
|
|
93
|
+
}
|
|
94
|
+
return rows.map((row) => {
|
|
95
|
+
Object.keys(row).map((key) => {
|
|
96
|
+
if (this.isSqlDate(row[key])) {
|
|
97
|
+
row[key] = new Date(row[key] + this.options.dateStringTimezone);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
return row;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
85
103
|
async query(sql, params) {
|
|
86
104
|
try {
|
|
87
105
|
const con = await this.getPoolConnection();
|
|
@@ -112,5 +130,19 @@ class ZSqlService {
|
|
|
112
130
|
return values.hasOwnProperty(key) ? con.escape(values[key]) : txt;
|
|
113
131
|
});
|
|
114
132
|
}
|
|
133
|
+
isSqlDate(str) {
|
|
134
|
+
if (
|
|
135
|
+
str &&
|
|
136
|
+
typeof str === 'string' &&
|
|
137
|
+
str[4] === '-' &&
|
|
138
|
+
str[7] === '-' &&
|
|
139
|
+
str[10] === ' ' &&
|
|
140
|
+
str[13] === ':' &&
|
|
141
|
+
str[16] === ':'
|
|
142
|
+
) {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
115
147
|
}
|
|
116
148
|
exports.ZSqlService = ZSqlService;
|
package/lib/user_service.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare class ZUserService {
|
|
|
12
12
|
register({ email, pass, role, admin }: ZRequiredUserColumns): Promise<{
|
|
13
13
|
session: string;
|
|
14
14
|
}>;
|
|
15
|
-
fetch(opt?: { limit: number }): Promise<any[]>;
|
|
15
|
+
fetch(opt?: { limit: number }): Promise<any[][]>;
|
|
16
16
|
exists(
|
|
17
17
|
opt:
|
|
18
18
|
| {
|