@starbemtech/star-db-query-builder 1.0.21 → 1.0.22
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/README.md +183 -8
- package/coverage/clover.xml +2 -2
- package/coverage/lcov-report/index.html +1 -1
- package/dist/src/default/genericRepository.d.ts +5 -5
- package/dist/src/default/genericRepository.js +3 -25
- package/dist/src/default/genericRepository.js.map +1 -1
- package/dist/src/default/types.d.ts +0 -5
- package/dist/src/default/utils.d.ts +0 -1
- package/dist/src/default/utils.js +6 -12
- package/dist/src/default/utils.js.map +1 -1
- package/index.d.ts +8 -3
- package/package.json +4 -5
package/README.md
CHANGED
|
@@ -1,12 +1,187 @@
|
|
|
1
|
-
#
|
|
1
|
+
# NodeJS Star DB Query Builder
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
🎉 Welcome to the NodeJS Database Library! This library provides a set of robust methods to interact with your database seamlessly. With TypeScript support, it ensures type safety and great developer experience.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
$ pnpm link global
|
|
5
|
+
## Features
|
|
7
6
|
|
|
8
|
-
-
|
|
9
|
-
|
|
7
|
+
- **TypeScript Declarations**: Ensure type safety and better autocompletion in your IDE.
|
|
8
|
+
- **Flexible Configuration**: Easily initialize and configure the database client.
|
|
9
|
+
- **Comprehensive CRUD Operations**: Perform Create, Read, Update, Delete operations with ease.
|
|
10
|
+
- **Join Queries**: Execute complex join queries effortlessly.
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
## Installation
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
// Use npm
|
|
16
|
+
$ npm install star-db-query-builder
|
|
17
|
+
|
|
18
|
+
// Use yarn
|
|
19
|
+
$ yarn add star-db-query-builder
|
|
20
|
+
|
|
21
|
+
// Use pnpm
|
|
22
|
+
$ pnpm install star-db-query-builder
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
### Initialization
|
|
28
|
+
|
|
29
|
+
First, initialize the database with the appropriate configuration.
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
import { initDb, getDbClient } from 'star-db-query-builder';
|
|
33
|
+
|
|
34
|
+
// Use PostgresSQL
|
|
35
|
+
initDb({
|
|
36
|
+
type: 'pg',
|
|
37
|
+
options: {
|
|
38
|
+
connectionURL: 'YOUR POSTGRES CONNECTION URL'
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// User MySQL
|
|
43
|
+
initDb({
|
|
44
|
+
type: 'mysql',
|
|
45
|
+
options: {
|
|
46
|
+
url: 'YOUR MYSQL CONNECTION URL'
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
// In your service, create an instance of getDbClient
|
|
51
|
+
const dbClient = getDbClient();
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Methods
|
|
55
|
+
|
|
56
|
+
#### findFirst
|
|
57
|
+
|
|
58
|
+
Retrieve the first matching record from a table.
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
import { findFirst } from 'star-db-query-builder';
|
|
62
|
+
|
|
63
|
+
const result = await findFirst({
|
|
64
|
+
tableName: 'users',
|
|
65
|
+
dbClient,
|
|
66
|
+
select: ['id', 'name', 'email'],
|
|
67
|
+
where: {
|
|
68
|
+
id: { operator: '=', value: 1 }
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
console.log(result);
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
#### findMany
|
|
76
|
+
|
|
77
|
+
Retrieve multiple records from a table.
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
import { findMany } from 'star-db-query-builder';
|
|
81
|
+
|
|
82
|
+
const results = await findMany({
|
|
83
|
+
tableName: 'users',
|
|
84
|
+
dbClient,
|
|
85
|
+
select: ['id', 'name', 'email'],
|
|
86
|
+
where: {
|
|
87
|
+
status: { operator: '= ', value: 'active' }
|
|
88
|
+
},
|
|
89
|
+
limit: 10,
|
|
90
|
+
offset: 0,
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
console.log(results);
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
#### insert
|
|
97
|
+
|
|
98
|
+
Insert a new record into a table.
|
|
99
|
+
|
|
100
|
+
```typescript
|
|
101
|
+
import { insert } from 'star-db-query-builder';
|
|
102
|
+
|
|
103
|
+
const newUser = { name: 'John Doe', email: 'john@example.com' };
|
|
104
|
+
|
|
105
|
+
const insertedUser = await insert({
|
|
106
|
+
tableName: 'users',
|
|
107
|
+
dbClient,
|
|
108
|
+
data: newUser,
|
|
109
|
+
returning: ['id', 'name', 'email'],
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
console.log(insertedUser);
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
#### update
|
|
116
|
+
|
|
117
|
+
Update an existing record in a table.
|
|
118
|
+
|
|
119
|
+
```typescript
|
|
120
|
+
import { update } from 'star-db-query-builder';
|
|
121
|
+
|
|
122
|
+
const updatedUser = { name: 'John Smith' };
|
|
123
|
+
|
|
124
|
+
const result = await update({
|
|
125
|
+
tableName: 'users',
|
|
126
|
+
dbClient,
|
|
127
|
+
id: 1,
|
|
128
|
+
data: updatedUser,
|
|
129
|
+
returning: ['id', 'name', 'email'],
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
console.log(result);
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
#### deleteOne
|
|
136
|
+
|
|
137
|
+
Delete a record from a table.
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
import { deleteOne } from 'star-db-query-builder';
|
|
141
|
+
|
|
142
|
+
await deleteOne({
|
|
143
|
+
tableName: 'users',
|
|
144
|
+
dbClient,
|
|
145
|
+
id: 1,
|
|
146
|
+
permanently: true,
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
console.log('User deleted');
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### joins
|
|
153
|
+
|
|
154
|
+
Execute a join query.
|
|
155
|
+
|
|
156
|
+
```typescript
|
|
157
|
+
import { joins } from 'star-db-query-builder';
|
|
158
|
+
|
|
159
|
+
const joinResults = await joins({
|
|
160
|
+
tableName: 'orders',
|
|
161
|
+
dbClient,
|
|
162
|
+
select: ['orders.id', 'users.name'],
|
|
163
|
+
joins: [
|
|
164
|
+
{
|
|
165
|
+
table: 'users',
|
|
166
|
+
on: { 'orders.userId': 'users.id' },
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
where: {
|
|
170
|
+
JOINS: [
|
|
171
|
+
{
|
|
172
|
+
'users.id': { operator: '=', value: exist.user_id }
|
|
173
|
+
}
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
console.log(joinResults);
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## License
|
|
182
|
+
|
|
183
|
+
This project is licensed under the MIT License.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
👨💻 Happy Coding!
|
package/coverage/clover.xml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
2
|
+
<coverage generated="1720092263427" clover="3.2.0">
|
|
3
|
+
<project timestamp="1720092263427" name="All files">
|
|
4
4
|
<metrics statements="0" coveredstatements="0" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0" elements="0" coveredelements="0" complexity="0" loc="0" ncloc="0" packages="0" files="0" classes="0"/>
|
|
5
5
|
</project>
|
|
6
6
|
</coverage>
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
87
87
|
Code coverage generated by
|
|
88
88
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
89
|
-
at 2024-
|
|
89
|
+
at 2024-07-04T11:24:23.422Z
|
|
90
90
|
</div>
|
|
91
91
|
<script src="prettify.js"></script>
|
|
92
92
|
<script>
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { QueryParams } from './types';
|
|
2
2
|
export declare const findFirst: <T>({ tableName, dbClient, select, where, groupBy, orderBy, }: QueryParams<T>) => Promise<T | null>;
|
|
3
|
-
export declare const findMany: <T>({ tableName, dbClient, select, where, groupBy, orderBy, limit,
|
|
3
|
+
export declare const findMany: <T>({ tableName, dbClient, select, where, groupBy, orderBy, limit, }: QueryParams<T>) => Promise<T[]>;
|
|
4
4
|
export declare const insert: <P, R>({ tableName, dbClient, data, returning, }: QueryParams<R> & {
|
|
5
5
|
data: P;
|
|
6
|
-
returning?: string[];
|
|
6
|
+
returning?: string[] | undefined;
|
|
7
7
|
}) => Promise<R>;
|
|
8
8
|
export declare const update: <P, R>({ tableName, dbClient, id, data, returning, }: QueryParams<R> & {
|
|
9
9
|
data: P;
|
|
10
|
-
returning?: string[];
|
|
10
|
+
returning?: string[] | undefined;
|
|
11
11
|
}) => Promise<R | void>;
|
|
12
12
|
export declare const deleteOne: <T>({ tableName, dbClient, id, permanently, }: QueryParams<T> & {
|
|
13
|
-
permanently?: boolean;
|
|
13
|
+
permanently?: boolean | undefined;
|
|
14
14
|
}) => Promise<void>;
|
|
15
|
-
export declare const joins: <T>({ tableName, dbClient, select, joins, where,
|
|
15
|
+
export declare const joins: <T>({ tableName, dbClient, select, joins, where, }: QueryParams<T>) => Promise<T[]>;
|
|
@@ -20,7 +20,7 @@ const findFirst = async ({ tableName, dbClient, select, where, groupBy, orderBy,
|
|
|
20
20
|
return rows[0] || null;
|
|
21
21
|
};
|
|
22
22
|
exports.findFirst = findFirst;
|
|
23
|
-
const findMany = async ({ tableName, dbClient, select, where, groupBy, orderBy, limit,
|
|
23
|
+
const findMany = async ({ tableName, dbClient, select, where, groupBy, orderBy, limit, }) => {
|
|
24
24
|
if (!tableName)
|
|
25
25
|
throw new Error('Table name is required');
|
|
26
26
|
if (!dbClient)
|
|
@@ -30,13 +30,11 @@ const findMany = async ({ tableName, dbClient, select, where, groupBy, orderBy,
|
|
|
30
30
|
const orderByClause = (0, utils_1.createOrderByClause)(orderBy);
|
|
31
31
|
const groupByClause = (0, utils_1.createGroupByClause)(groupBy);
|
|
32
32
|
const limitClause = (0, utils_1.createLimitClause)(limit);
|
|
33
|
-
const offsetClause = (0, utils_1.createOffsetClause)(offset);
|
|
34
33
|
const rows = await dbClient.query(`SELECT ${fields} FROM ${tableName}
|
|
35
34
|
${whereClause.length > 7 ? whereClause : ''}
|
|
36
35
|
${groupByClause}
|
|
37
36
|
${orderByClause}
|
|
38
37
|
${limitClause}
|
|
39
|
-
${offsetClause}
|
|
40
38
|
`, params);
|
|
41
39
|
return rows || [];
|
|
42
40
|
};
|
|
@@ -90,7 +88,7 @@ const update = async ({ tableName, dbClient, id, data, returning, }) => {
|
|
|
90
88
|
let query = `UPDATE ${tableName} SET ${setClause} WHERE id = '${id}'`;
|
|
91
89
|
if (dbClient.clientType === 'pg') {
|
|
92
90
|
if (returning && returning.length > 0) {
|
|
93
|
-
query += `
|
|
91
|
+
query += ` RETURNIN ${(0, utils_1.createSelectFields)(returning, dbClient.clientType)}`;
|
|
94
92
|
}
|
|
95
93
|
}
|
|
96
94
|
const updated = await dbClient.query(query, values);
|
|
@@ -118,7 +116,7 @@ const deleteOne = async ({ tableName, dbClient, id, permanently = false, }) => {
|
|
|
118
116
|
: `UPDATE ${tableName} SET status = 'deleted' WHERE id = ${dbClient.clientType === 'pg' ? '$1' : '?'}`, [id]);
|
|
119
117
|
};
|
|
120
118
|
exports.deleteOne = deleteOne;
|
|
121
|
-
const joins = async ({ tableName, dbClient, select, joins, where,
|
|
119
|
+
const joins = async ({ tableName, dbClient, select, joins, where, }) => {
|
|
122
120
|
if (!tableName)
|
|
123
121
|
throw new Error('Table name is required');
|
|
124
122
|
if (!dbClient)
|
|
@@ -126,19 +124,11 @@ const joins = async ({ tableName, dbClient, select, joins, where, groupBy, order
|
|
|
126
124
|
const fields = Array.isArray(select) ? select : [];
|
|
127
125
|
const selectFields = (0, utils_1.createSelectFields)(fields, dbClient.clientType);
|
|
128
126
|
const [whereClause, params] = (0, utils_1.createWhereClause)(where, 1, dbClient.clientType);
|
|
129
|
-
const groupByClause = (0, utils_1.createGroupByClause)(groupBy);
|
|
130
|
-
const orderByClause = (0, utils_1.createOrderByClause)(orderBy);
|
|
131
|
-
const limitClause = (0, utils_1.createLimitClause)(limit);
|
|
132
|
-
const offsetClause = (0, utils_1.createOffsetClause)(offset);
|
|
133
127
|
const queryBuilder = {
|
|
134
128
|
select: [selectFields],
|
|
135
129
|
from: tableName,
|
|
136
130
|
joins: joins,
|
|
137
131
|
where: whereClause,
|
|
138
|
-
groupBy: [groupByClause],
|
|
139
|
-
orderBy: orderByClause,
|
|
140
|
-
limit: limitClause,
|
|
141
|
-
offset: offsetClause,
|
|
142
132
|
};
|
|
143
133
|
const queryString = await buildQuery(queryBuilder);
|
|
144
134
|
const rows = await dbClient.query(queryString, params);
|
|
@@ -155,18 +145,6 @@ async function buildQuery(params) {
|
|
|
155
145
|
if (params.where) {
|
|
156
146
|
queryString += `${params.where}`;
|
|
157
147
|
}
|
|
158
|
-
if (params.groupBy) {
|
|
159
|
-
queryString += `${params.groupBy}`;
|
|
160
|
-
}
|
|
161
|
-
if (params.orderBy) {
|
|
162
|
-
queryString += `${params.orderBy}`;
|
|
163
|
-
}
|
|
164
|
-
if (params.limit) {
|
|
165
|
-
queryString += `${params.limit}`;
|
|
166
|
-
}
|
|
167
|
-
if (params.offset) {
|
|
168
|
-
queryString += `${params.offset}`;
|
|
169
|
-
}
|
|
170
148
|
return queryString;
|
|
171
149
|
}
|
|
172
150
|
//# sourceMappingURL=genericRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genericRepository.js","sourceRoot":"","sources":["../../../src/default/genericRepository.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAEjC,
|
|
1
|
+
{"version":3,"file":"genericRepository.js","sourceRoot":"","sources":["../../../src/default/genericRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,6 @@ export interface QueryParams<T> {
|
|
|
32
32
|
orderBy?: OrderBy;
|
|
33
33
|
groupBy?: string[];
|
|
34
34
|
limit?: number;
|
|
35
|
-
offset?: number;
|
|
36
35
|
joins?: JoinClause[];
|
|
37
36
|
}
|
|
38
37
|
interface JoinClause {
|
|
@@ -45,9 +44,5 @@ export interface QueryBuilder {
|
|
|
45
44
|
from?: string;
|
|
46
45
|
joins?: JoinClause[];
|
|
47
46
|
where?: string;
|
|
48
|
-
groupBy?: string[];
|
|
49
|
-
orderBy?: string;
|
|
50
|
-
limit?: string;
|
|
51
|
-
offset?: string;
|
|
52
47
|
}
|
|
53
48
|
export {};
|
|
@@ -6,4 +6,3 @@ export declare const createWhereClause: <T>(conditions: Conditions<T> | undefine
|
|
|
6
6
|
export declare const createOrderByClause: (orderBy?: OrderBy) => string;
|
|
7
7
|
export declare const createGroupByClause: (groupBy?: string[]) => string;
|
|
8
8
|
export declare const createLimitClause: (limit?: number) => string;
|
|
9
|
-
export declare const createOffsetClause: (offset?: number) => string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createLimitClause = exports.createGroupByClause = exports.createOrderByClause = exports.createWhereClause = exports.generateSetClause = exports.generatePlaceholders = exports.createSelectFields = void 0;
|
|
4
4
|
const arrayToStringWithQuotes = (items, clientType) => {
|
|
5
|
-
const itemsWithQuotes = items.map((item) => clientType === 'pg' ?
|
|
5
|
+
const itemsWithQuotes = items.map((item) => clientType === 'pg' ? `"${item}"` : `${item}`);
|
|
6
6
|
return itemsWithQuotes.join(', ');
|
|
7
7
|
};
|
|
8
8
|
const pgPlaceholderGenerator = (index) => `$${index}`;
|
|
@@ -41,24 +41,24 @@ const createWhereClause = (conditions = {}, startIndex = 1, clientType) => {
|
|
|
41
41
|
.join(', ');
|
|
42
42
|
if (operator === 'BETWEEN') {
|
|
43
43
|
whereParts.push(clientType === 'pg'
|
|
44
|
-
?
|
|
44
|
+
? `"${key}" ${operator} ${placeholders.replace(', ', ' AND ')}`
|
|
45
45
|
: `${key} ${operator} ${placeholders.replace(', ', ' AND ')}`);
|
|
46
46
|
}
|
|
47
47
|
else if (operator === 'IN') {
|
|
48
48
|
whereParts.push(clientType === 'pg'
|
|
49
|
-
?
|
|
49
|
+
? `"${key}" ${operator} ${placeholders.replace(', ', ' AND ')}`
|
|
50
50
|
: `${key} ${operator} (${placeholders})`);
|
|
51
51
|
}
|
|
52
52
|
else {
|
|
53
53
|
whereParts.push(clientType === 'pg'
|
|
54
|
-
?
|
|
54
|
+
? `"${key}" ${operator} (${placeholders})`
|
|
55
55
|
: `${key} ${operator} ${placeholders}`);
|
|
56
56
|
}
|
|
57
57
|
values.push(...value);
|
|
58
58
|
}
|
|
59
59
|
else {
|
|
60
60
|
whereParts.push(clientType === 'pg'
|
|
61
|
-
?
|
|
61
|
+
? `"${key}" ${operator} ${pgPlaceholderGenerator(index++)}`
|
|
62
62
|
: `${key} ${operator} ${mysqlPlaceholderGenerator()}`);
|
|
63
63
|
values.push(value);
|
|
64
64
|
}
|
|
@@ -146,10 +146,4 @@ const createLimitClause = (limit) => {
|
|
|
146
146
|
return ` LIMIT ${limit}`;
|
|
147
147
|
};
|
|
148
148
|
exports.createLimitClause = createLimitClause;
|
|
149
|
-
const createOffsetClause = (offset) => {
|
|
150
|
-
if (!offset)
|
|
151
|
-
return '';
|
|
152
|
-
return ` OFFSET ${offset}`;
|
|
153
|
-
};
|
|
154
|
-
exports.createOffsetClause = createOffsetClause;
|
|
155
149
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/default/utils.ts"],"names":[],"mappings":";;;AAEA,MAAM,uBAAuB,GAAG,CAC9B,KAAe,EACf,UAAqB,EACb,EAAE;IACV,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/default/utils.ts"],"names":[],"mappings":";;;AAEA,MAAM,uBAAuB,GAAG,CAC9B,KAAe,EACf,UAAqB,EACb,EAAE;IACV,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAC9C,CAAA;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAA;AAC7D,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;AAEpC,MAAM,kBAAkB,GAAG,CAChC,SAAmB,EAAE,EACrB,UAAqB,EACb,EAAE;IACV,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAChC,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC;QAC7C,CAAC,CAAC,GAAG,CAAA;AACT,CAAC,CAAA;AAPY,QAAA,kBAAkB,sBAO9B;AAEM,MAAM,oBAAoB,GAAG,CAClC,IAAW,EACX,UAAqB,EACb,EAAE;IACV,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAChE,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AAPY,QAAA,oBAAoB,wBAOhC;AAEM,MAAM,iBAAiB,GAAG,CAC/B,IAAW,EACX,UAAqB,EACb,EAAE;IACV,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClB,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAC9D;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC,CAAA;AATY,QAAA,iBAAiB,qBAS7B;AAEM,MAAM,iBAAiB,GAAG,CAC/B,aAA4B,EAAE,EAC9B,UAAU,GAAG,CAAC,EACd,UAAqB,EACI,EAAE;IAC3B,IAAI,KAAK,GAAG,UAAU,CAAA;IACtB,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,MAAM,GAAU,EAAE,CAAA;IAExB,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,SAAuB,EAAE,EAAE;QAChE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACxD,IAAI,UAAU,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;gBACpD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;gBACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzB,MAAM,YAAY,GAAG,KAAK;yBACvB,GAAG,CAAC,GAAG,EAAE,CACR,UAAU,KAAK,IAAI;wBACjB,CAAC,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;wBACjC,CAAC,CAAC,yBAAyB,EAAE,CAChC;yBACA,IAAI,CAAC,IAAI,CAAC,CAAA;oBAEb,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,IAAI;4BACjB,CAAC,CAAC,IAAI,GAAG,KAAK,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;4BAC/D,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAChE,CAAA;oBACH,CAAC;yBAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;wBAC7B,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,IAAI;4BACjB,CAAC,CAAC,IAAI,GAAG,KAAK,QAAQ,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;4BAC/D,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,KAAK,YAAY,GAAG,CAC3C,CAAA;oBACH,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,IAAI;4BACjB,CAAC,CAAC,IAAI,GAAG,KAAK,QAAQ,KAAK,YAAY,GAAG;4BAC1C,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,IAAI,YAAY,EAAE,CACzC,CAAA;oBACH,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;gBACvB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,IAAI;wBACjB,CAAC,CAAC,IAAI,GAAG,KAAK,QAAQ,IAAI,sBAAsB,CAAC,KAAK,EAAE,CAAC,EAAE;wBAC3D,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,IAAI,yBAAyB,EAAE,EAAE,CACxD,CAAA;oBAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACvD,MAAM,mBAAmB,GAAG,UAAU,CAAC,KAAK,CAAA;QAE5C,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,mBAAmB;iBACtC,GAAG,CAAC,CAAC,YAAiB,EAAE,EAAE;gBACzB,IACE,OAAO,YAAY,KAAK,QAAQ;oBAChC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC5B,YAAY,KAAK,IAAI,EACrB,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;oBACxC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;oBAEnC,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;oBAChC,OAAO,UAAU,CAAC,GAAG,EAAE,CAAA;gBACzB,CAAC;gBACD,OAAO,EAAE,CAAA;YACX,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;YACzB,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,IAAI;gBACjB,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,eAAe,GAAG,CAAC,GAAG;gBACnD,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CACpD,CAAA;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClD,6DAA6D;YAC7D,mBAAmB;YACnB,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,IAAI,IAAI,UAAU,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QACpD,MAAM,mBAAmB,GAAG,UAAU,CAAC,EAAE,IAAI,UAAU,CAAC,GAAG,CAAA;QAE3D,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,mBAAmB;iBACtC,GAAG,CAAC,CAAC,YAAiB,EAAE,EAAE;gBACzB,IACE,OAAO,YAAY,KAAK,QAAQ;oBAChC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC5B,YAAY,KAAK,IAAI,EACrB,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;oBACxC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;oBACnC,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;oBAChC,OAAO,UAAU,CAAC,GAAG,EAAE,CAAA;gBACzB,CAAC;gBAED,OAAO,EAAE,CAAA;YACX,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;YAEzB,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,IAAI;gBACjB,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,eAAe,GAAG,CAAC,GAAG;gBACnD,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CACpD,CAAA;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAClD,6DAA6D;YAC7D,mBAAmB;YACnB,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEnE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AACrC,CAAC,CAAA;AAlIY,QAAA,iBAAiB,qBAkI7B;AAEM,MAAM,mBAAmB,GAAG,CAAC,OAAiB,EAAE,EAAE;IACvD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzE,OAAO,aAAa,MAAM,EAAE,CAAA;AAC9B,CAAC,CAAA;AAJY,QAAA,mBAAmB,uBAI/B;AAEM,MAAM,mBAAmB,GAAG,CAAC,OAAkB,EAAE,EAAE;IACxD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAC/C,OAAO,aAAa,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;AAC1C,CAAC,CAAA;AAHY,QAAA,mBAAmB,uBAG/B;AAEM,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,EAAE;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,OAAO,UAAU,KAAK,EAAE,CAAA;AAC1B,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B"}
|
package/index.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export declare function findMany<T>({
|
|
|
22
22
|
groupBy,
|
|
23
23
|
orderBy,
|
|
24
24
|
limit,
|
|
25
|
+
offset,
|
|
25
26
|
}: QueryParams<T>): Promise<T[]>
|
|
26
27
|
|
|
27
28
|
export declare function insert<P, R>({
|
|
@@ -46,10 +47,14 @@ export declare function deleteOne<T>({
|
|
|
46
47
|
permanently,
|
|
47
48
|
}: QueryParams<T> & { permanently?: boolean }): Promise<void>
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
export declare function getByUserAndSubscription<T>({
|
|
50
|
+
export declare function joins<T>({
|
|
51
51
|
tableName,
|
|
52
52
|
dbClient,
|
|
53
53
|
select,
|
|
54
|
+
joins,
|
|
54
55
|
where,
|
|
55
|
-
|
|
56
|
+
groupBy,
|
|
57
|
+
orderBy,
|
|
58
|
+
limit,
|
|
59
|
+
offset,
|
|
60
|
+
}: QueryParams<T>): Promise<T[]>
|
package/package.json
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@starbemtech/star-db-query-builder",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.22",
|
|
4
4
|
"description": "A query builder to be used with mysql or postgres",
|
|
5
5
|
"author": "Julio Sousa <julio.sousa@starbem.app>",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"engines": {
|
|
10
|
-
"node": ">=
|
|
11
|
-
"pnpm": ">=8.6.7 <9"
|
|
10
|
+
"node": ">=18"
|
|
12
11
|
},
|
|
13
12
|
"scripts": {
|
|
14
13
|
"build": "tsc",
|
|
@@ -42,7 +41,6 @@
|
|
|
42
41
|
"eslint-config-prettier": "^9.1.0",
|
|
43
42
|
"eslint-plugin-jest": "^27.9.0",
|
|
44
43
|
"eslint-plugin-prettier": "^5.1.3",
|
|
45
|
-
"git-commit-msg-linter": "^5.0.7",
|
|
46
44
|
"husky": "^9.0.11",
|
|
47
45
|
"jest": "^29.7.0",
|
|
48
46
|
"lint-staged": "^15.2.2",
|
|
@@ -65,5 +63,6 @@
|
|
|
65
63
|
"hooks": {
|
|
66
64
|
"pre-commit": "lint-staged"
|
|
67
65
|
}
|
|
68
|
-
}
|
|
66
|
+
},
|
|
67
|
+
"packageManager": "pnpm@8.6.2"
|
|
69
68
|
}
|