uranio 0.1.72 → 1.0.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.
@@ -49,7 +49,7 @@ class MySQLAtomClient {
49
49
  const { query, map } = sql.param.compose_select({
50
50
  table: this.name,
51
51
  where,
52
- limit: 'LIMIT 1',
52
+ limit: '1',
53
53
  });
54
54
  const [rows] = await this.client.exe(query, map);
55
55
  if (Array.isArray(rows) && rows[0]) {
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/atom/mysql.ts"],"names":[],"mappings":"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"}
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;AAOjC,MAAa,WAAW;IAItB,YAAY,MAAyB;QACnC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,iBAAK,CAAC,UAAU,CAAC;gBAC3B,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACM,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,MAAY;QACxC,MAAM,WAAW,GACf,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,iBAAiB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;YAC5C,CAAC,CAAC,EAAE,CAAC;QACT,WAAG,CAAC,KAAK,CAAC,mBAAmB,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QACD,4EAA4E;QAC5E,kEAAkE;QAClE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAO,IAAI,CAAC,eAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IACM,KAAK,CAAC,OAAO;QAClB,WAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,MAAM,iBAAK,CAAC,gBAAgB,CAAC;YAClD,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,iBAAiB,EAAE,IAAI;SACxB,CAAC,CAAC;QACH,WAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC3C,CAAC;IACM,KAAK,CAAC,UAAU;;QACrB,WAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAClD,MAAM,CAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,GAAG,EAAE,CAAA,CAAC;QAClC,WAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAChD,CAAC;IACO,KAAK,CAAC,6BAA6B,CAAC,GAAW,EAAE,MAAY;QACnE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,WAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxD,WAAG,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,QAAQ,6BAA6B,CAAC,CAAC;QACrE,4EAA4E;QAC5E,kEAAkE;QAClE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAO,eAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3E,WAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1C,eAAe,CAAC,OAAO,EAAE,CAAC;QAC1B,WAAG,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,QAAQ,4BAA4B,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;CACF;AA1DD,kCA0DC"}
1
+ {"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/client/mysql.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,6 @@
28
28
  "typescript": "^5.2.2"
29
29
  },
30
30
  "dependencies": {
31
- "uranio": "0.1.72"
31
+ "uranio": "1.0.0"
32
32
  }
33
33
  }
@@ -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
@@ -2,8 +2,8 @@
2
2
 
3
3
  ![uranio logo](./img/uranio_logo_1440x220.png)
4
4
 
5
- Uranio is the lightest Typescript Object Document Mapper (ODM) for MongoDB and
6
- Object Relational Mapping (ORM) for MySQL.\
5
+ Uranio is the lightest Typescript Object Document Mapper (ODM) for MongoDB,
6
+ Object Relational Mapping (ORM) for MySQL, and DynamoDB.\
7
7
  It creates a client for querying collections/tables in a database by just parsing
8
8
  the types in a repository.
9
9
 
@@ -12,8 +12,21 @@ a Data Access Layer (DAL) from the defined types.
12
12
 
13
13
  ## Install
14
14
 
15
+ Uranio uses peer dependencies for database SDKs, so you only install what you need:
16
+
17
+ ### For MongoDB users:
18
+ ```bash
19
+ npm install uranio mongodb
20
+ ```
21
+
22
+ ### For MySQL users:
23
+ ```bash
24
+ npm install uranio mysql2
15
25
  ```
16
- npm install uranio
26
+
27
+ ### For DynamoDB users:
28
+ ```bash
29
+ npm install uranio @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb
17
30
  ```
18
31
 
19
32
  ## How it works
@@ -85,6 +98,75 @@ interface Product extends uranio.atom {
85
98
  // }
86
99
  ```
87
100
 
101
+ ## Configuration
102
+
103
+ ### MySQL Client Options
104
+
105
+ When creating a MySQL client, you can configure additional options:
106
+
107
+ ```typescript
108
+ import uranio from 'uranio';
109
+
110
+ const uri = process.env.MYSQL_DATABASE_URI || '';
111
+
112
+ // Default: UTC timezone, no connection pool
113
+ const urn = uranio.MySQLClient({ uri });
114
+
115
+ // With connection pool
116
+ const urn = uranio.MySQLClient({
117
+ uri,
118
+ use_pool: true
119
+ });
120
+
121
+ // Custom timezone (default is UTC '+00:00')
122
+ const urn = uranio.MySQLClient({
123
+ uri,
124
+ use_pool: true,
125
+ timezone: '+04:00' // Dubai timezone (GST)
126
+ });
127
+
128
+ // Use local server timezone
129
+ const urn = uranio.MySQLClient({
130
+ uri,
131
+ timezone: 'local'
132
+ });
133
+ ```
134
+
135
+ **Timezone Parameter:**
136
+ - **Default**: `'+00:00'` (UTC) - All dates are stored in UTC
137
+ - **Custom**: Any valid timezone offset like `'+04:00'` (Dubai), `'+09:00'` (Tokyo)
138
+ - **Local**: `'local'` - Uses the database server's timezone
139
+
140
+ 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.
141
+
142
+ ## Troubleshooting
143
+
144
+ ### Missing Database SDK Error
145
+
146
+ If you get an error like:
147
+ ```
148
+ Error: Cannot find module 'mongodb'
149
+ Error: Cannot find module 'mysql2'
150
+ Error: Cannot find module '@aws-sdk/client-dynamodb'
151
+ ```
152
+
153
+ This means you haven't installed the required database SDK. Install the SDK for your chosen database:
154
+
155
+ ```bash
156
+ # For MongoDB
157
+ npm install mongodb
158
+
159
+ # For MySQL
160
+ npm install mysql2
161
+
162
+ # For DynamoDB
163
+ npm install @aws-sdk/client-dynamodb @aws-sdk/util-dynamodb
164
+ ```
165
+
166
+ ### Peer Dependency Warnings
167
+
168
+ When installing Uranio, npm may show peer dependency warnings. These are expected since Uranio supports multiple databases. You only need to install the SDK for the database you're actually using.
169
+
88
170
  ### Credits
89
171
 
90
172
  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.1.72",
3
+ "version": "1.0.0",
4
4
  "description": "Uranio is a type-safe ODM for MongoDB",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -56,15 +56,31 @@
56
56
  "typescript": "^5.6.3"
57
57
  },
58
58
  "dependencies": {
59
- "@aws-sdk/client-dynamodb": "^3.969.0",
60
- "@aws-sdk/util-dynamodb": "^3.969.0",
61
59
  "app-root-path": "^3.1.0",
62
60
  "i0n": "^0.9.0",
63
61
  "inquirer": "^8.2.6",
64
- "mongodb": "^7.0.0",
65
- "mysql2": "^3.16.0",
66
62
  "plutonio": "^0.7.2",
67
63
  "r4y": "^0.9.0",
68
64
  "yaml": "^2.8.2"
65
+ },
66
+ "peerDependencies": {
67
+ "mongodb": ">=7.0.0",
68
+ "mysql2": ">=3.16.0",
69
+ "@aws-sdk/client-dynamodb": ">=3.969.0",
70
+ "@aws-sdk/util-dynamodb": ">=3.969.0"
71
+ },
72
+ "peerDependenciesMeta": {
73
+ "mongodb": {
74
+ "optional": true
75
+ },
76
+ "mysql2": {
77
+ "optional": true
78
+ },
79
+ "@aws-sdk/client-dynamodb": {
80
+ "optional": true
81
+ },
82
+ "@aws-sdk/util-dynamodb": {
83
+ "optional": true
84
+ }
69
85
  }
70
86
  }