uranio 0.1.71 → 0.2.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.
- package/.uranio/dist/atom/mysql.js +1 -1
- package/.uranio/dist/atom/mysql.js.map +1 -1
- package/.uranio/dist/client/mysql.d.ts +2 -0
- package/.uranio/dist/client/mysql.js +3 -0
- package/.uranio/dist/client/mysql.js.map +1 -1
- package/.uranio/package.json +1 -1
- package/.uranio/src/client/mysql.ts +5 -0
- package/README.md +41 -0
- package/package.json +3 -3
- package/scripts/version.sh +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/atom/mysql.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,kDAAoC;AAMpC,MAAa,eAAe;IAE1B,YACS,MAAmB,EACnB,IAAY;QADZ,WAAM,GAAN,MAAM,CAAa;QACnB,SAAI,GAAJ,IAAI,CAAQ;IAClB,CAAC;IAEG,KAAK,CAAC,QAAQ,CAAC,KAA2B;QAC/C,MAAM,EAAC,KAAK,EAAE,GAAG,EAAC,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;YAC5C,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,KAAK;YACL,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/atom/mysql.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,13 @@ import mysql from 'mysql2/promise';
|
|
|
9
9
|
export type MySQLClientParams = {
|
|
10
10
|
uri: string;
|
|
11
11
|
use_pool?: boolean;
|
|
12
|
+
timezone?: string;
|
|
12
13
|
};
|
|
13
14
|
export declare class MySQLClient {
|
|
14
15
|
pool?: mysql.Pool;
|
|
15
16
|
main_connection: mysql.Connection | undefined;
|
|
16
17
|
protected uri: string;
|
|
18
|
+
protected timezone: string;
|
|
17
19
|
constructor(params: MySQLClientParams);
|
|
18
20
|
exe(sql: string, values?: any): Promise<any[]>;
|
|
19
21
|
connect(): Promise<void>;
|
|
@@ -16,10 +16,12 @@ const index_1 = require("../log/index");
|
|
|
16
16
|
class MySQLClient {
|
|
17
17
|
constructor(params) {
|
|
18
18
|
this.uri = params.uri;
|
|
19
|
+
this.timezone = params.timezone || '+00:00';
|
|
19
20
|
if (params.use_pool === true) {
|
|
20
21
|
this.pool = promise_1.default.createPool({
|
|
21
22
|
uri: params.uri,
|
|
22
23
|
namedPlaceholders: true,
|
|
24
|
+
timezone: this.timezone,
|
|
23
25
|
});
|
|
24
26
|
}
|
|
25
27
|
}
|
|
@@ -44,6 +46,7 @@ class MySQLClient {
|
|
|
44
46
|
this.main_connection = await promise_1.default.createConnection({
|
|
45
47
|
uri: this.uri,
|
|
46
48
|
namedPlaceholders: true,
|
|
49
|
+
timezone: this.timezone,
|
|
47
50
|
});
|
|
48
51
|
index_1.log.debug(`Connected to MySQL database`);
|
|
49
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/client/mysql.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAEH,6DAAmC;AACnC,wCAAiC;
|
|
1
|
+
{"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/client/mysql.ts"],"names":[],"mappings":"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"}
|
package/.uranio/package.json
CHANGED
|
@@ -12,18 +12,22 @@ import {log} from '../log/index';
|
|
|
12
12
|
export type MySQLClientParams = {
|
|
13
13
|
uri: string;
|
|
14
14
|
use_pool?: boolean;
|
|
15
|
+
timezone?: string;
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
export class MySQLClient {
|
|
18
19
|
public pool?: mysql.Pool;
|
|
19
20
|
public main_connection: mysql.Connection | undefined;
|
|
20
21
|
protected uri: string;
|
|
22
|
+
protected timezone: string;
|
|
21
23
|
constructor(params: MySQLClientParams) {
|
|
22
24
|
this.uri = params.uri;
|
|
25
|
+
this.timezone = params.timezone || '+00:00';
|
|
23
26
|
if (params.use_pool === true) {
|
|
24
27
|
this.pool = mysql.createPool({
|
|
25
28
|
uri: params.uri,
|
|
26
29
|
namedPlaceholders: true,
|
|
30
|
+
timezone: this.timezone,
|
|
27
31
|
});
|
|
28
32
|
}
|
|
29
33
|
}
|
|
@@ -49,6 +53,7 @@ export class MySQLClient {
|
|
|
49
53
|
this.main_connection = await mysql.createConnection({
|
|
50
54
|
uri: this.uri,
|
|
51
55
|
namedPlaceholders: true,
|
|
56
|
+
timezone: this.timezone,
|
|
52
57
|
});
|
|
53
58
|
log.debug(`Connected to MySQL database`);
|
|
54
59
|
}
|
package/README.md
CHANGED
|
@@ -85,6 +85,47 @@ interface Product extends uranio.atom {
|
|
|
85
85
|
// }
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
+
## Configuration
|
|
89
|
+
|
|
90
|
+
### MySQL Client Options
|
|
91
|
+
|
|
92
|
+
When creating a MySQL client, you can configure additional options:
|
|
93
|
+
|
|
94
|
+
```typescript
|
|
95
|
+
import uranio from 'uranio';
|
|
96
|
+
|
|
97
|
+
const uri = process.env.MYSQL_DATABASE_URI || '';
|
|
98
|
+
|
|
99
|
+
// Default: UTC timezone, no connection pool
|
|
100
|
+
const urn = uranio.MySQLClient({ uri });
|
|
101
|
+
|
|
102
|
+
// With connection pool
|
|
103
|
+
const urn = uranio.MySQLClient({
|
|
104
|
+
uri,
|
|
105
|
+
use_pool: true
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
// Custom timezone (default is UTC '+00:00')
|
|
109
|
+
const urn = uranio.MySQLClient({
|
|
110
|
+
uri,
|
|
111
|
+
use_pool: true,
|
|
112
|
+
timezone: '+04:00' // Dubai timezone (GST)
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// Use local server timezone
|
|
116
|
+
const urn = uranio.MySQLClient({
|
|
117
|
+
uri,
|
|
118
|
+
timezone: 'local'
|
|
119
|
+
});
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Timezone Parameter:**
|
|
123
|
+
- **Default**: `'+00:00'` (UTC) - All dates are stored in UTC
|
|
124
|
+
- **Custom**: Any valid timezone offset like `'+04:00'` (Dubai), `'+09:00'` (Tokyo)
|
|
125
|
+
- **Local**: `'local'` - Uses the database server's timezone
|
|
126
|
+
|
|
127
|
+
The timezone setting affects how JavaScript `Date` objects are converted when storing to and retrieving from the database. Using UTC (default) is recommended for consistency across different timezones.
|
|
128
|
+
|
|
88
129
|
### Credits
|
|
89
130
|
|
|
90
131
|
Logo credits [https://www.jacopotripodi.com/](https://www.jacopotripodi.com/)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uranio",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Uranio is a type-safe ODM for MongoDB",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"upgrade:plutonio": "npx remove plutonio && npx add plutonio"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@types/inquirer": "^
|
|
41
|
+
"@types/inquirer": "^8.2.10",
|
|
42
42
|
"@types/node": "^20.9.0",
|
|
43
43
|
"@typescript-eslint/eslint-plugin": "^5.59.1",
|
|
44
44
|
"@typescript-eslint/parser": "^5.59.1",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"@aws-sdk/util-dynamodb": "^3.969.0",
|
|
61
61
|
"app-root-path": "^3.1.0",
|
|
62
62
|
"i0n": "^0.9.0",
|
|
63
|
-
"inquirer": "^
|
|
63
|
+
"inquirer": "^8.2.6",
|
|
64
64
|
"mongodb": "^7.0.0",
|
|
65
65
|
"mysql2": "^3.16.0",
|
|
66
66
|
"plutonio": "^0.7.2",
|
package/scripts/version.sh
CHANGED
|
@@ -14,7 +14,7 @@ if ! npm whoami --loglevel=error > /dev/null 2>&1; then
|
|
|
14
14
|
echo "You are not logged in to npm."
|
|
15
15
|
echo "Please log in to continue."
|
|
16
16
|
echo
|
|
17
|
-
npm login
|
|
17
|
+
npm login 2>&1 | grep -v "npm warn Unknown"
|
|
18
18
|
if ! npm whoami --loglevel=error > /dev/null 2>&1; then
|
|
19
19
|
echo
|
|
20
20
|
echo "Error: npm login failed. Aborting."
|
|
@@ -22,10 +22,10 @@ if ! npm whoami --loglevel=error > /dev/null 2>&1; then
|
|
|
22
22
|
exit 1
|
|
23
23
|
fi
|
|
24
24
|
echo
|
|
25
|
-
echo "Successfully logged in to npm as: $(npm whoami)"
|
|
25
|
+
echo "Successfully logged in to npm as: $(npm whoami 2>/dev/null)"
|
|
26
26
|
echo
|
|
27
27
|
else
|
|
28
|
-
echo "Already logged in to npm as: $(npm whoami --loglevel=error)"
|
|
28
|
+
echo "Already logged in to npm as: $(npm whoami --loglevel=error 2>/dev/null)"
|
|
29
29
|
echo
|
|
30
30
|
fi
|
|
31
31
|
|