@starbemtech/star-db-query-builder 1.0.10 → 1.0.12
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 +11 -0
- package/coverage/clover.xml +2 -2
- package/coverage/lcov-report/index.html +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/src/default/genericRepository.d.ts +6 -6
- package/dist/src/default/genericRepository.js +2 -10
- package/dist/src/default/genericRepository.js.map +1 -1
- package/dist/src/default/utils.js.map +1 -1
- package/dist/src/services/payment/index.d.ts +2 -0
- package/dist/src/services/payment/index.js +21 -0
- package/dist/src/services/payment/index.js.map +1 -0
- package/index.d.ts +12 -3
- package/index.ts +3 -0
- package/jest.config.ts +0 -0
- package/package.json +2 -2
- package/src/default/genericRepository.ts +15 -20
- package/src/default/utils.ts +1 -1
- package/src/services/payment/index.ts +31 -0
package/README.md
CHANGED
|
@@ -1 +1,12 @@
|
|
|
1
1
|
# star-db-query-builder
|
|
2
|
+
|
|
3
|
+
# Como criar o link local pelo pnpm
|
|
4
|
+
|
|
5
|
+
- Cria um link simbólico para o pacote local no diretório node_modules global.
|
|
6
|
+
$ pnpm link global
|
|
7
|
+
|
|
8
|
+
- Cria um link simbólico para o pacote global especificado no diretório node_modules global.
|
|
9
|
+
$ pnpm link --global <nome-do-pacote>
|
|
10
|
+
|
|
11
|
+
- Cria um link simbólico para o pacote no diretório especificado no diretório node_modules do projeto atual.
|
|
12
|
+
$ pnpm install ../star-db-query-builder
|
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="1712321331534" clover="3.2.0">
|
|
3
|
+
<project timestamp="1712321331534" 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-04-
|
|
89
|
+
at 2024-04-05T12:48:51.531Z
|
|
90
90
|
</div>
|
|
91
91
|
<script src="prettify.js"></script>
|
|
92
92
|
<script>
|
package/dist/index.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ import { PoolOptions as MySqlPoolOptions } from 'mysql2';
|
|
|
3
3
|
import { Conditions as TypeConditions } from './src/default/types';
|
|
4
4
|
export * from './src/db/initDb';
|
|
5
5
|
export * from './src/default/genericRepository';
|
|
6
|
+
export * from './src/services/payment';
|
|
6
7
|
export type { PgPoolConfig, MySqlPoolOptions, TypeConditions };
|
package/dist/index.js
CHANGED
|
@@ -18,4 +18,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
__exportStar(require("./src/db/initDb"), exports);
|
|
19
19
|
// Generic Repository
|
|
20
20
|
__exportStar(require("./src/default/genericRepository"), exports);
|
|
21
|
+
// Services Repository
|
|
22
|
+
__exportStar(require("./src/services/payment"), exports);
|
|
21
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,UAAU;AACV,kDAA+B;AAE/B,qBAAqB;AACrB,kEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,UAAU;AACV,kDAA+B;AAE/B,qBAAqB;AACrB,kEAA+C;AAE/C,sBAAsB;AACtB,yDAAsC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
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
3
|
export declare const findMany: <T>({ tableName, dbClient, select, where, groupBy, orderBy, limit, }: QueryParams<T>) => Promise<T[]>;
|
|
4
|
-
export declare const insert: <
|
|
5
|
-
data:
|
|
4
|
+
export declare const insert: <P, R>({ tableName, dbClient, data, returning, }: QueryParams<R> & {
|
|
5
|
+
data: P;
|
|
6
6
|
returning?: string[] | undefined;
|
|
7
|
-
}) => Promise<
|
|
8
|
-
export declare const update: <
|
|
9
|
-
data:
|
|
7
|
+
}) => Promise<R>;
|
|
8
|
+
export declare const update: <P, R>({ tableName, dbClient, id, data, returning, }: QueryParams<R> & {
|
|
9
|
+
data: P;
|
|
10
10
|
returning?: string[] | undefined;
|
|
11
|
-
}) => Promise<
|
|
11
|
+
}) => Promise<R | void>;
|
|
12
12
|
export declare const deleteOne: <T>({ tableName, dbClient, id, permanently, }: QueryParams<T> & {
|
|
13
13
|
permanently?: boolean | undefined;
|
|
14
14
|
}) => Promise<void>;
|
|
@@ -10,22 +10,14 @@ const findFirst = async ({ tableName, dbClient, select, where, groupBy, orderBy,
|
|
|
10
10
|
throw new Error('DB client is required');
|
|
11
11
|
const fields = (0, utils_1.createSelectFields)(select, dbClient.clientType);
|
|
12
12
|
const [whereClause, params] = (0, utils_1.createWhereClause)(where, 1, dbClient.clientType);
|
|
13
|
-
console.log(whereClause, 'WHERE');
|
|
14
|
-
console.log(params);
|
|
15
13
|
const orderByClause = (0, utils_1.createOrderByClause)(orderBy);
|
|
16
14
|
const groupByClause = (0, utils_1.createGroupByClause)(groupBy);
|
|
17
|
-
|
|
18
|
-
const rows = await dbClient.query(`SELECT ${fields} FROM ${tableName}
|
|
15
|
+
const rows = await dbClient.query(`SELECT ${fields} FROM ${tableName}
|
|
19
16
|
${whereClause.length > 7 ? whereClause : ''}
|
|
20
17
|
${groupByClause}
|
|
21
18
|
${orderByClause}
|
|
22
19
|
`, params);
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
console.log(error, 'ERROR QUERY');
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
20
|
+
return rows[0] || null;
|
|
29
21
|
};
|
|
30
22
|
exports.findFirst = findFirst;
|
|
31
23
|
const findMany = async ({ tableName, dbClient, select, where, groupBy, orderBy, limit, }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genericRepository.js","sourceRoot":"","sources":["../../../src/default/genericRepository.ts"],"names":[],"mappings":";;;AAAA,+BAAiC;AAEjC,mCAQgB;AAET,MAAM,SAAS,GAAG,KAAK,EAAK,EACjC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,GACQ,EAAqB,EAAE;IACtC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC9D,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAA,yBAAiB,EAC7C,KAAK,EACL,CAAC,EACD,QAAQ,CAAC,UAAU,CACpB,CAAA;
|
|
1
|
+
{"version":3,"file":"genericRepository.js","sourceRoot":"","sources":["../../../src/default/genericRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,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;oBACb,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,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;oBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;IACH,CAAC,CAAA;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,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/default/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getByUserAndSubscription = void 0;
|
|
4
|
+
const utils_1 = require("../../default/utils");
|
|
5
|
+
const getByUserAndSubscription = async ({ tableName, dbClient, select, where, }) => {
|
|
6
|
+
if (!tableName)
|
|
7
|
+
throw new Error('Table name is required');
|
|
8
|
+
if (!dbClient)
|
|
9
|
+
throw new Error('DB client is required');
|
|
10
|
+
const fields = (0, utils_1.createSelectFields)(select, dbClient.clientType);
|
|
11
|
+
const [whereClause, params] = (0, utils_1.createWhereClause)(where, 1, dbClient.clientType);
|
|
12
|
+
const rows = await dbClient.query(`SELECT
|
|
13
|
+
${fields}
|
|
14
|
+
FROM payments.plan_association_users pa
|
|
15
|
+
INNER JOIN payments.plans ON pa.plan_id = plans.id
|
|
16
|
+
${whereClause}
|
|
17
|
+
AND pa.status IN ('active', 'cancelation_requested', 'blocked')`, params);
|
|
18
|
+
return rows[0] || null;
|
|
19
|
+
};
|
|
20
|
+
exports.getByUserAndSubscription = getByUserAndSubscription;
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/payment/index.ts"],"names":[],"mappings":";;;AAAA,+CAA2E;AAGpE,MAAM,wBAAwB,GAAG,KAAK,EAAK,EAChD,SAAS,EACT,QAAQ,EACR,MAAM,EACN,KAAK,GACU,EAAqB,EAAE;IACtC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IACzD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEvD,MAAM,MAAM,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC9D,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAA,yBAAiB,EAC7C,KAAK,EACL,CAAC,EACD,QAAQ,CAAC,UAAU,CACpB,CAAA;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAC/B;UACM,MAAM;;;UAGN,WAAW;wEACmD,EACpE,MAAM,CACP,CAAA;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;AACxB,CAAC,CAAA;AA3BY,QAAA,wBAAwB,4BA2BpC"}
|
package/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { DBClients, QueryParams } from './src/default/types'
|
|
|
4
4
|
export declare function initDb<T>(config: { type: DBClients; options: T }): void
|
|
5
5
|
export declare function getDbClient(): IDatabaseClient
|
|
6
6
|
|
|
7
|
+
// Generic Methods
|
|
7
8
|
export declare function findFirst<T>({
|
|
8
9
|
tableName,
|
|
9
10
|
dbClient,
|
|
@@ -11,7 +12,7 @@ export declare function findFirst<T>({
|
|
|
11
12
|
where,
|
|
12
13
|
groupBy,
|
|
13
14
|
orderBy,
|
|
14
|
-
}: QueryParams<T>): Promise<T>
|
|
15
|
+
}: QueryParams<T>): Promise<T | null>
|
|
15
16
|
|
|
16
17
|
export declare function findMany<T>({
|
|
17
18
|
tableName,
|
|
@@ -23,12 +24,12 @@ export declare function findMany<T>({
|
|
|
23
24
|
limit,
|
|
24
25
|
}: QueryParams<T>): Promise<T[]>
|
|
25
26
|
|
|
26
|
-
export declare function insert<
|
|
27
|
+
export declare function insert<P, R>({
|
|
27
28
|
tableName,
|
|
28
29
|
dbClient,
|
|
29
30
|
data,
|
|
30
31
|
returning,
|
|
31
|
-
}: QueryParams<
|
|
32
|
+
}: QueryParams<R> & { data: P; returning?: string[] }): Promise<R | void>
|
|
32
33
|
|
|
33
34
|
export declare function update<T>({
|
|
34
35
|
tableName,
|
|
@@ -44,3 +45,11 @@ export declare function deleteOne<T>({
|
|
|
44
45
|
id,
|
|
45
46
|
permanently,
|
|
46
47
|
}: QueryParams<T> & { permanently?: boolean }): Promise<void>
|
|
48
|
+
|
|
49
|
+
// Services Methods
|
|
50
|
+
export declare function getByUserAndSubscription<T>({
|
|
51
|
+
tableName,
|
|
52
|
+
dbClient,
|
|
53
|
+
select,
|
|
54
|
+
where,
|
|
55
|
+
}: QueryParams<T>): Promise<T | null>
|
package/index.ts
CHANGED
|
@@ -8,5 +8,8 @@ export * from './src/db/initDb'
|
|
|
8
8
|
// Generic Repository
|
|
9
9
|
export * from './src/default/genericRepository'
|
|
10
10
|
|
|
11
|
+
// Services Repository
|
|
12
|
+
export * from './src/services/payment'
|
|
13
|
+
|
|
11
14
|
// Types Definition
|
|
12
15
|
export type { PgPoolConfig, MySqlPoolOptions, TypeConditions }
|
package/jest.config.ts
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@starbemtech/star-db-query-builder",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
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",
|
|
@@ -66,4 +66,4 @@
|
|
|
66
66
|
"pre-commit": "lint-staged"
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
}
|
|
69
|
+
}
|
|
@@ -27,25 +27,20 @@ export const findFirst = async <T>({
|
|
|
27
27
|
1,
|
|
28
28
|
dbClient.clientType
|
|
29
29
|
)
|
|
30
|
-
|
|
31
|
-
console.log(params)
|
|
30
|
+
|
|
32
31
|
const orderByClause = createOrderByClause(orderBy)
|
|
33
32
|
const groupByClause = createGroupByClause(groupBy)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
|
|
34
|
+
const rows = await dbClient.query<T>(
|
|
35
|
+
`SELECT ${fields} FROM ${tableName}
|
|
37
36
|
${whereClause.length > 7 ? whereClause : ''}
|
|
38
37
|
${groupByClause}
|
|
39
38
|
${orderByClause}
|
|
40
39
|
`,
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
params
|
|
41
|
+
)
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
} catch (error) {
|
|
46
|
-
console.log(error, 'ERROR QUERY')
|
|
47
|
-
return null
|
|
48
|
-
}
|
|
43
|
+
return rows[0] || null
|
|
49
44
|
}
|
|
50
45
|
|
|
51
46
|
export const findMany = async <T>({
|
|
@@ -79,12 +74,12 @@ export const findMany = async <T>({
|
|
|
79
74
|
return rows || []
|
|
80
75
|
}
|
|
81
76
|
|
|
82
|
-
export const insert = async <
|
|
77
|
+
export const insert = async <P, R>({
|
|
83
78
|
tableName,
|
|
84
79
|
dbClient,
|
|
85
80
|
data,
|
|
86
81
|
returning,
|
|
87
|
-
}: QueryParams<
|
|
82
|
+
}: QueryParams<R> & { data: P; returning?: string[] }): Promise<R> => {
|
|
88
83
|
if (!tableName) throw new Error('Table name is required')
|
|
89
84
|
if (!dbClient) throw new Error('DB client is required')
|
|
90
85
|
if (!data) throw new Error('Data object is required')
|
|
@@ -113,10 +108,10 @@ export const insert = async <T>({
|
|
|
113
108
|
}
|
|
114
109
|
}
|
|
115
110
|
|
|
116
|
-
const inserted = await dbClient.query<
|
|
111
|
+
const inserted = await dbClient.query<R[]>(query, values)
|
|
117
112
|
|
|
118
113
|
if (dbClient.clientType === 'mysql') {
|
|
119
|
-
const rows = await dbClient.query<
|
|
114
|
+
const rows = await dbClient.query<R>(
|
|
120
115
|
`SELECT ${
|
|
121
116
|
returning && returning.length > 0
|
|
122
117
|
? createSelectFields(returning, dbClient.clientType)
|
|
@@ -134,13 +129,13 @@ export const insert = async <T>({
|
|
|
134
129
|
return inserted[0]
|
|
135
130
|
}
|
|
136
131
|
|
|
137
|
-
export const update = async <
|
|
132
|
+
export const update = async <P, R>({
|
|
138
133
|
tableName,
|
|
139
134
|
dbClient,
|
|
140
135
|
id,
|
|
141
136
|
data,
|
|
142
137
|
returning,
|
|
143
|
-
}: QueryParams<
|
|
138
|
+
}: QueryParams<R> & { data: P; returning?: string[] }): Promise<R | void> => {
|
|
144
139
|
if (!tableName) throw new Error('Table name is required')
|
|
145
140
|
if (!dbClient) throw new Error('DB client is required')
|
|
146
141
|
if (!id) throw new Error('ID is required')
|
|
@@ -158,10 +153,10 @@ export const update = async <T>({
|
|
|
158
153
|
}
|
|
159
154
|
}
|
|
160
155
|
|
|
161
|
-
const updated = await dbClient.query<
|
|
156
|
+
const updated = await dbClient.query<R[]>(query, values)
|
|
162
157
|
|
|
163
158
|
if (dbClient.clientType === 'mysql') {
|
|
164
|
-
const rows = await dbClient.query<
|
|
159
|
+
const rows = await dbClient.query<R>(
|
|
165
160
|
`SELECT ${
|
|
166
161
|
returning && returning.length > 0
|
|
167
162
|
? createSelectFields(returning, dbClient.clientType)
|
package/src/default/utils.ts
CHANGED
|
@@ -97,7 +97,7 @@ export const createWhereClause = <T>(
|
|
|
97
97
|
|
|
98
98
|
if (Array.isArray(compositeConditions)) {
|
|
99
99
|
const subWhereParts = compositeConditions
|
|
100
|
-
.map((subCondition) => {
|
|
100
|
+
.map((subCondition: any) => {
|
|
101
101
|
if (
|
|
102
102
|
typeof subCondition === 'object' &&
|
|
103
103
|
!Array.isArray(subCondition) &&
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createSelectFields, createWhereClause } from '../../default/utils'
|
|
2
|
+
import { QueryParams } from '../../default/types'
|
|
3
|
+
|
|
4
|
+
export const getByUserAndSubscription = async <T>({
|
|
5
|
+
tableName,
|
|
6
|
+
dbClient,
|
|
7
|
+
select,
|
|
8
|
+
where,
|
|
9
|
+
}: QueryParams<T>): Promise<T | null> => {
|
|
10
|
+
if (!tableName) throw new Error('Table name is required')
|
|
11
|
+
if (!dbClient) throw new Error('DB client is required')
|
|
12
|
+
|
|
13
|
+
const fields = createSelectFields(select, dbClient.clientType)
|
|
14
|
+
const [whereClause, params] = createWhereClause<T>(
|
|
15
|
+
where,
|
|
16
|
+
1,
|
|
17
|
+
dbClient.clientType
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
const rows = await dbClient.query<T>(
|
|
21
|
+
`SELECT
|
|
22
|
+
${fields}
|
|
23
|
+
FROM payments.plan_association_users pa
|
|
24
|
+
INNER JOIN payments.plans ON pa.plan_id = plans.id
|
|
25
|
+
${whereClause}
|
|
26
|
+
AND pa.status IN ('active', 'cancelation_requested', 'blocked')`,
|
|
27
|
+
params
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
return rows[0] || null
|
|
31
|
+
}
|