@stashfin/mysql2 1.4.37 → 1.4.38
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/{dist/models → models}/Customer.d.ts +15 -0
- package/package.json +1 -1
- package/README.md +0 -55
- package/dist/index copy.d.ts +0 -17
- package/dist/index copy.js +0 -73
- package/dist/models/Banners.d.ts +0 -21
- package/dist/models/Banners.js +0 -2
- package/dist/models/location.d.ts +0 -19
- package/dist/models/location.js +0 -2
- package/dist/package.json +0 -23
- package/src/index.ts +0 -128
- package/src/indexPromise.ts +0 -112
- package/src/models/BBPSCustomerBillProviders.ts +0 -27
- package/src/models/BBPSProviders.ts +0 -24
- package/src/models/BBPSTransactions.ts +0 -28
- package/src/models/BBPSUtilities.ts +0 -14
- package/src/models/BBPSVendor.ts +0 -12
- package/src/models/Common.ts +0 -21
- package/src/models/Customer.ts +0 -169
- package/src/models/DashboardBlock.ts +0 -32
- package/src/models/Installments.ts +0 -37
- package/src/models/JourneySteps.ts +0 -24
- package/src/models/KycDetails.ts +0 -20
- package/src/models/Loans.ts +0 -47
- package/src/models/Location.ts +0 -19
- package/src/models/Offer.ts +0 -37
- package/src/models/PanDetails.ts +0 -19
- package/src/models/ReferAndEarn.ts +0 -50
- package/src/models/StashCash.ts +0 -46
- package/src/models/User.ts +0 -21
- package/src/models/UserAuthToken.ts +0 -12
- package/src/models/UserDetails.ts +0 -12
- package/src/models/UserKYCBank.ts +0 -9
- package/src/models/UserKYCPan.ts +0 -15
- package/src/models/WealthUser.ts +0 -36
- package/tsconfig.json +0 -16
- /package/{dist/index.d.ts → index.d.ts} +0 -0
- /package/{dist/index.js → index.js} +0 -0
- /package/{dist/indexPromise.d.ts → indexPromise.d.ts} +0 -0
- /package/{dist/indexPromise.js → indexPromise.js} +0 -0
- /package/{dist/models → models}/BBPSCustomerBillProviders.d.ts +0 -0
- /package/{dist/models → models}/BBPSCustomerBillProviders.js +0 -0
- /package/{dist/models → models}/BBPSProviders.d.ts +0 -0
- /package/{dist/models → models}/BBPSProviders.js +0 -0
- /package/{dist/models → models}/BBPSTransactions.d.ts +0 -0
- /package/{dist/models → models}/BBPSTransactions.js +0 -0
- /package/{dist/models → models}/BBPSUtilities.d.ts +0 -0
- /package/{dist/models → models}/BBPSUtilities.js +0 -0
- /package/{dist/models → models}/BBPSVendor.d.ts +0 -0
- /package/{dist/models → models}/BBPSVendor.js +0 -0
- /package/{dist/models → models}/Common.d.ts +0 -0
- /package/{dist/models → models}/Common.js +0 -0
- /package/{dist/models → models}/Customer.js +0 -0
- /package/{dist/models → models}/DashboardBlock.d.ts +0 -0
- /package/{dist/models → models}/DashboardBlock.js +0 -0
- /package/{dist/models → models}/Installments.d.ts +0 -0
- /package/{dist/models → models}/Installments.js +0 -0
- /package/{dist/models → models}/JourneySteps.d.ts +0 -0
- /package/{dist/models → models}/JourneySteps.js +0 -0
- /package/{dist/models → models}/KycDetails.d.ts +0 -0
- /package/{dist/models → models}/KycDetails.js +0 -0
- /package/{dist/models → models}/Loans.d.ts +0 -0
- /package/{dist/models → models}/Loans.js +0 -0
- /package/{dist/models → models}/Location.d.ts +0 -0
- /package/{dist/models → models}/Location.js +0 -0
- /package/{dist/models → models}/Offer.d.ts +0 -0
- /package/{dist/models → models}/Offer.js +0 -0
- /package/{dist/models → models}/PanDetails.d.ts +0 -0
- /package/{dist/models → models}/PanDetails.js +0 -0
- /package/{dist/models → models}/ReferAndEarn.d.ts +0 -0
- /package/{dist/models → models}/ReferAndEarn.js +0 -0
- /package/{dist/models → models}/StashCash.d.ts +0 -0
- /package/{dist/models → models}/StashCash.js +0 -0
- /package/{dist/models → models}/User.d.ts +0 -0
- /package/{dist/models → models}/User.js +0 -0
- /package/{dist/models → models}/UserAuthToken.d.ts +0 -0
- /package/{dist/models → models}/UserAuthToken.js +0 -0
- /package/{dist/models → models}/UserDetails.d.ts +0 -0
- /package/{dist/models → models}/UserDetails.js +0 -0
- /package/{dist/models → models}/UserKYCBank.d.ts +0 -0
- /package/{dist/models → models}/UserKYCBank.js +0 -0
- /package/{dist/models → models}/UserKYCPan.d.ts +0 -0
- /package/{dist/models → models}/UserKYCPan.js +0 -0
- /package/{dist/models → models}/WealthUser.d.ts +0 -0
- /package/{dist/models → models}/WealthUser.js +0 -0
|
@@ -135,6 +135,19 @@ export interface CustomerDocumentsTable {
|
|
|
135
135
|
created_at?: Date | null;
|
|
136
136
|
updated_at?: Date | null;
|
|
137
137
|
}
|
|
138
|
+
export interface CustomerDeviceHistoryTable {
|
|
139
|
+
id: number;
|
|
140
|
+
customer_id: number;
|
|
141
|
+
device?: string | null;
|
|
142
|
+
device_id: string;
|
|
143
|
+
ip?: string | null;
|
|
144
|
+
os_version?: string | null;
|
|
145
|
+
push_id?: string | null;
|
|
146
|
+
app_version?: string | null;
|
|
147
|
+
is_rooted?: boolean;
|
|
148
|
+
created_at?: Date | null;
|
|
149
|
+
updated_at?: Date | null;
|
|
150
|
+
}
|
|
138
151
|
export interface CustomerModel extends CustomerTable, RowDataPacket {
|
|
139
152
|
}
|
|
140
153
|
export interface CustomerBanksModel extends CustomerBanksTable, RowDataPacket {
|
|
@@ -145,3 +158,5 @@ export interface DemographicsModel extends DemographicsTable, RowDataPacket {
|
|
|
145
158
|
}
|
|
146
159
|
export interface CustomerReferenceModel extends CustomerReferenceTable, RowDataPacket {
|
|
147
160
|
}
|
|
161
|
+
export interface CustomerDeviceHistoryModel extends CustomerDeviceHistoryTable, RowDataPacket {
|
|
162
|
+
}
|
package/package.json
CHANGED
package/README.md
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# MySQL Package
|
|
2
|
-
|
|
3
|
-
This is a local package for MySQL database operations.
|
|
4
|
-
|
|
5
|
-
### Installation
|
|
6
|
-
|
|
7
|
-
To install this package, run the following command in your terminal:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install @stashfin/mysql2
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
### Table Interface
|
|
14
|
-
|
|
15
|
-
The package includes a table interface located in the model folder. This interface defines the structure of the tables in the MySQL database.
|
|
16
|
-
|
|
17
|
-
````
|
|
18
|
-
|
|
19
|
-
## Table Interface (model/table.ts)
|
|
20
|
-
|
|
21
|
-
```typescript
|
|
22
|
-
export interface Table {
|
|
23
|
-
id: number;
|
|
24
|
-
name: string;
|
|
25
|
-
// Add other table fields here
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface TableModel extends Table, RowDataPacket {}
|
|
29
|
-
|
|
30
|
-
````
|
|
31
|
-
|
|
32
|
-
### Local Development
|
|
33
|
-
|
|
34
|
-
To publish this package locally for development purposes, run the following command in your terminal:
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
npm run build
|
|
38
|
-
cd dist
|
|
39
|
-
npm link
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Production Package Publish
|
|
43
|
-
|
|
44
|
-
To publish this package, run the following command in your terminal:
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
npm run publish:patch
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Generate the Interfaces from mysql table
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
npx mysql-schema-ts mysql://root:root123@localhost/stashfin --table journey_steps
|
|
54
|
-
npx mysql-schema-ts mysql://root:root123@localhost/stashfin --table journey_steps > src/models/JourneySteps.ts
|
|
55
|
-
```
|
package/dist/index copy.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import mysql, { RowDataPacket, PoolOptions, ResultSetHeader } from 'mysql2/promise';
|
|
2
|
-
export interface MysqlConnectorOptions extends PoolOptions {
|
|
3
|
-
}
|
|
4
|
-
export declare class MysqlConnector {
|
|
5
|
-
private pool;
|
|
6
|
-
private credentials;
|
|
7
|
-
constructor(credentials: PoolOptions);
|
|
8
|
-
/** A random method to simulate a step before to get the class methods */
|
|
9
|
-
getConnection(): Promise<mysql.PoolConnection>;
|
|
10
|
-
queryRow<T extends RowDataPacket>(sql: string, values?: Array<string | number>): Promise<T | undefined>;
|
|
11
|
-
queryRows<T extends RowDataPacket>(sql: string, values?: Array<string | number>): Promise<T[]>;
|
|
12
|
-
queryArray<T extends RowDataPacket>(sql: string, values?: Array<string | number>): Promise<T[]>;
|
|
13
|
-
executeResult(sql: string, values?: unknown[]): Promise<ResultSetHeader>;
|
|
14
|
-
insertData(tableName: string, data: Record<string, string | number>): Promise<ResultSetHeader>;
|
|
15
|
-
updateData(tableName: string, data: Record<string, any>, condition: string, conditionValues?: Array<string | number>): Promise<ResultSetHeader>;
|
|
16
|
-
close(): Promise<void>;
|
|
17
|
-
}
|
package/dist/index copy.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MysqlConnector = void 0;
|
|
7
|
-
const promise_1 = __importDefault(require("mysql2/promise"));
|
|
8
|
-
//define class
|
|
9
|
-
class MysqlConnector {
|
|
10
|
-
pool;
|
|
11
|
-
credentials;
|
|
12
|
-
constructor(credentials) {
|
|
13
|
-
this.credentials = credentials;
|
|
14
|
-
this.pool = promise_1.default.createPool(this.credentials);
|
|
15
|
-
}
|
|
16
|
-
/** A random method to simulate a step before to get the class methods */
|
|
17
|
-
getConnection() {
|
|
18
|
-
if (!this?.pool)
|
|
19
|
-
this.pool = promise_1.default.createPool(this.credentials);
|
|
20
|
-
return this.pool.getConnection();
|
|
21
|
-
}
|
|
22
|
-
async queryRow(sql, values) {
|
|
23
|
-
const connection = await this.getConnection();
|
|
24
|
-
const [rows] = await connection.query(sql, values);
|
|
25
|
-
await connection.release();
|
|
26
|
-
return rows[0] || undefined;
|
|
27
|
-
}
|
|
28
|
-
async queryRows(sql, values) {
|
|
29
|
-
const connection = await this.getConnection();
|
|
30
|
-
const [rows] = await connection.query(sql, values);
|
|
31
|
-
await connection.release();
|
|
32
|
-
return rows;
|
|
33
|
-
}
|
|
34
|
-
async queryArray(sql, values) {
|
|
35
|
-
const connection = await this.getConnection();
|
|
36
|
-
const [rows] = await connection.query({
|
|
37
|
-
sql,
|
|
38
|
-
values,
|
|
39
|
-
rowsAsArray: true,
|
|
40
|
-
});
|
|
41
|
-
await connection.release();
|
|
42
|
-
return rows;
|
|
43
|
-
}
|
|
44
|
-
async executeResult(sql, values) {
|
|
45
|
-
const connection = await this.pool.getConnection();
|
|
46
|
-
const [rows] = await connection.query(sql, values);
|
|
47
|
-
await connection.release();
|
|
48
|
-
return rows;
|
|
49
|
-
}
|
|
50
|
-
async insertData(tableName, data) {
|
|
51
|
-
const keys = Object.keys(data);
|
|
52
|
-
const values = Object.values(data);
|
|
53
|
-
const sql = `INSERT INTO ${tableName} (${keys.join(', ')}) VALUES (${keys
|
|
54
|
-
.map(() => '?')
|
|
55
|
-
.join(', ')})`;
|
|
56
|
-
return this.executeResult(sql, values);
|
|
57
|
-
}
|
|
58
|
-
async updateData(tableName,
|
|
59
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
|
-
data, condition, conditionValues) {
|
|
61
|
-
const keys = Object.keys(data);
|
|
62
|
-
const values = Object.values(data);
|
|
63
|
-
const sql = `UPDATE ${tableName} SET ${keys
|
|
64
|
-
.map((key) => `${key} = ?`)
|
|
65
|
-
.join(', ')} WHERE ${condition}`;
|
|
66
|
-
const finalValues = [...values, ...(conditionValues || [])];
|
|
67
|
-
return this.executeResult(sql, finalValues);
|
|
68
|
-
}
|
|
69
|
-
async close() {
|
|
70
|
-
await this.pool.end();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.MysqlConnector = MysqlConnector;
|
package/dist/models/Banners.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { RowDataPacket } from 'mysql2';
|
|
2
|
-
export type JSONPrimitive = string | number | boolean | null;
|
|
3
|
-
export type JSONValue = JSONObject | JSONArray;
|
|
4
|
-
export type JSONObject = {
|
|
5
|
-
[member: string]: JSONPrimitive;
|
|
6
|
-
};
|
|
7
|
-
export type JSONArray = Array<JSONValue>;
|
|
8
|
-
export interface BannerTable {
|
|
9
|
-
id: number;
|
|
10
|
-
name: string;
|
|
11
|
-
image_url: string;
|
|
12
|
-
web_url?: string | null;
|
|
13
|
-
landing_page?: string | null;
|
|
14
|
-
api_mode?: string | null;
|
|
15
|
-
app_version: number;
|
|
16
|
-
status: string;
|
|
17
|
-
created_at: Date;
|
|
18
|
-
updated_at: Date;
|
|
19
|
-
}
|
|
20
|
-
export interface BannerModel extends BannerTable, RowDataPacket {
|
|
21
|
-
}
|
package/dist/models/Banners.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { RowDataPacket } from 'mysql2';
|
|
2
|
-
export type JSONPrimitive = string | number | boolean | null;
|
|
3
|
-
export type JSONValue = JSONObject | JSONArray;
|
|
4
|
-
export type JSONObject = {
|
|
5
|
-
[member: string]: JSONPrimitive;
|
|
6
|
-
};
|
|
7
|
-
export type JSONArray = Array<JSONValue>;
|
|
8
|
-
export interface State {
|
|
9
|
-
id: number;
|
|
10
|
-
name: string;
|
|
11
|
-
}
|
|
12
|
-
export interface City {
|
|
13
|
-
id: number;
|
|
14
|
-
name: string;
|
|
15
|
-
}
|
|
16
|
-
export interface StateModel extends State, RowDataPacket {
|
|
17
|
-
}
|
|
18
|
-
export interface CityModel extends City, RowDataPacket {
|
|
19
|
-
}
|
package/dist/models/location.js
DELETED
package/dist/package.json
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@stashfin/mysql2",
|
|
3
|
-
"version": "1.4.35",
|
|
4
|
-
"description": "",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build": "tsc --build",
|
|
9
|
-
"build:ws": "tsc --build && copy package.json dist/",
|
|
10
|
-
"postbuild": "cp package.json dist/ ",
|
|
11
|
-
"publish:patch": "npm version patch && npm run build && cd dist && npm publish --access public",
|
|
12
|
-
"publish:minor": "npm version minor && npm run build && cd dist && npm publish --access public"
|
|
13
|
-
},
|
|
14
|
-
"keywords": [],
|
|
15
|
-
"author": "Yogesh Randive",
|
|
16
|
-
"license": "ISC",
|
|
17
|
-
"dependencies": {
|
|
18
|
-
"mysql2": "^3.9.9"
|
|
19
|
-
},
|
|
20
|
-
"devDependencies": {
|
|
21
|
-
"cpy-cli": "^5.0.0"
|
|
22
|
-
}
|
|
23
|
-
}
|
package/src/index.ts
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import mysql, {
|
|
2
|
-
Pool,
|
|
3
|
-
RowDataPacket,
|
|
4
|
-
PoolOptions,
|
|
5
|
-
ResultSetHeader,
|
|
6
|
-
} from 'mysql2';
|
|
7
|
-
|
|
8
|
-
// define options
|
|
9
|
-
export interface MysqlConnectorOptions extends PoolOptions {}
|
|
10
|
-
|
|
11
|
-
//define class
|
|
12
|
-
export class MysqlConnector {
|
|
13
|
-
private pool: Pool;
|
|
14
|
-
private credentials: PoolOptions;
|
|
15
|
-
|
|
16
|
-
constructor(credentials: PoolOptions) {
|
|
17
|
-
this.credentials = credentials;
|
|
18
|
-
this.pool = mysql.createPool(this.credentials);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/** A random method to simulate a step before to get the class methods */
|
|
22
|
-
public getPoolConnection() {
|
|
23
|
-
if (!this?.pool) this.pool = mysql.createPool(this.credentials);
|
|
24
|
-
return this.pool;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
public getConnection() {
|
|
28
|
-
if (!this?.pool) this.pool = mysql.createPool(this.credentials);
|
|
29
|
-
return this.pool.promise().getConnection();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
public async queryRow<T extends RowDataPacket>(
|
|
33
|
-
sql: string,
|
|
34
|
-
values?: Array<string | number>,
|
|
35
|
-
): Promise<T | undefined> {
|
|
36
|
-
const pool = this.getPoolConnection();
|
|
37
|
-
|
|
38
|
-
return new Promise((resolve, reject) => {
|
|
39
|
-
pool.query<T[]>(sql, values, function (err, results, fields) {
|
|
40
|
-
if (err) reject(err);
|
|
41
|
-
// Connection is automatically released when query resolves
|
|
42
|
-
else resolve(results[0] || undefined);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
public async queryRows<T extends RowDataPacket>(
|
|
48
|
-
sql: string,
|
|
49
|
-
values?: Array<string | number>,
|
|
50
|
-
): Promise<T[]> {
|
|
51
|
-
const pool = this.getPoolConnection();
|
|
52
|
-
return new Promise((resolve, reject) => {
|
|
53
|
-
pool.query<T[]>(sql, values, function (err, results, fields) {
|
|
54
|
-
// Connection is automatically released when query resolves
|
|
55
|
-
if (err) reject(err);
|
|
56
|
-
else resolve(results);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
public async queryArray<T extends RowDataPacket>(
|
|
62
|
-
sql: string,
|
|
63
|
-
values?: Array<string | number>,
|
|
64
|
-
): Promise<T[]> {
|
|
65
|
-
const pool = this.getPoolConnection();
|
|
66
|
-
return new Promise((resolve, reject) => {
|
|
67
|
-
pool.query<T[]>(
|
|
68
|
-
{ sql, values, rowsAsArray: true },
|
|
69
|
-
function (err, results, fields) {
|
|
70
|
-
// Connection is automatically released when query resolves
|
|
71
|
-
if (err) reject(err);
|
|
72
|
-
else resolve(results);
|
|
73
|
-
},
|
|
74
|
-
);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
public async executeResult(
|
|
79
|
-
sql: string,
|
|
80
|
-
values?: unknown[],
|
|
81
|
-
): Promise<ResultSetHeader> {
|
|
82
|
-
const pool = this.getPoolConnection();
|
|
83
|
-
|
|
84
|
-
return new Promise((resolve, reject) => {
|
|
85
|
-
pool.query<ResultSetHeader>(sql, values, function (err, results, fields) {
|
|
86
|
-
// Connection is automatically released when query resolves
|
|
87
|
-
if (err) reject(err);
|
|
88
|
-
else resolve(results || undefined);
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
public async insertData(
|
|
94
|
-
tableName: string,
|
|
95
|
-
data: Record<string, string | number>,
|
|
96
|
-
): Promise<ResultSetHeader> {
|
|
97
|
-
const keys = Object.keys(data);
|
|
98
|
-
const values = Object.values(data);
|
|
99
|
-
|
|
100
|
-
const sql = `INSERT INTO ${tableName} (${keys.join(', ')}) VALUES (${keys
|
|
101
|
-
.map(() => '?')
|
|
102
|
-
.join(', ')})`;
|
|
103
|
-
|
|
104
|
-
return this.executeResult(sql, values);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
public async updateData(
|
|
108
|
-
tableName: string,
|
|
109
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
110
|
-
data: Record<string, any>,
|
|
111
|
-
condition: string,
|
|
112
|
-
conditionValues?: Array<string | number>,
|
|
113
|
-
): Promise<ResultSetHeader> {
|
|
114
|
-
const keys = Object.keys(data);
|
|
115
|
-
const values = Object.values(data);
|
|
116
|
-
|
|
117
|
-
const sql = `UPDATE ${tableName} SET ${keys
|
|
118
|
-
.map((key) => `${key} = ?`)
|
|
119
|
-
.join(', ')} WHERE ${condition}`;
|
|
120
|
-
|
|
121
|
-
const finalValues = [...values, ...(conditionValues || [])];
|
|
122
|
-
return this.executeResult(sql, finalValues);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
public async close() {
|
|
126
|
-
await this.pool.end();
|
|
127
|
-
}
|
|
128
|
-
}
|
package/src/indexPromise.ts
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import mysql, {
|
|
2
|
-
Pool,
|
|
3
|
-
RowDataPacket,
|
|
4
|
-
PoolOptions,
|
|
5
|
-
ResultSetHeader,
|
|
6
|
-
} from 'mysql2/promise';
|
|
7
|
-
|
|
8
|
-
// define options
|
|
9
|
-
export interface MysqlConnectorOptions extends PoolOptions {}
|
|
10
|
-
|
|
11
|
-
//define class
|
|
12
|
-
export class MysqlConnector {
|
|
13
|
-
private pool: Pool;
|
|
14
|
-
private credentials: PoolOptions;
|
|
15
|
-
|
|
16
|
-
constructor(credentials: PoolOptions) {
|
|
17
|
-
this.credentials = credentials;
|
|
18
|
-
this.pool = mysql.createPool(this.credentials);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/** A random method to simulate a step before to get the class methods */
|
|
22
|
-
public getConnection() {
|
|
23
|
-
if (!this?.pool) this.pool = mysql.createPool(this.credentials);
|
|
24
|
-
return this.pool.getConnection();
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
public async queryRow<T extends RowDataPacket>(
|
|
28
|
-
sql: string,
|
|
29
|
-
values?: Array<string | number>,
|
|
30
|
-
): Promise<T | undefined> {
|
|
31
|
-
const connection = await this.getConnection();
|
|
32
|
-
const [rows] = await connection.query<T[]>(sql, values);
|
|
33
|
-
await connection.release();
|
|
34
|
-
return rows[0] || undefined;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
public async queryRows<T extends RowDataPacket>(
|
|
38
|
-
sql: string,
|
|
39
|
-
values?: Array<string | number>,
|
|
40
|
-
): Promise<T[]> {
|
|
41
|
-
const connection = await this.getConnection();
|
|
42
|
-
|
|
43
|
-
const [rows] = await connection.query<T[]>(sql, values);
|
|
44
|
-
|
|
45
|
-
await connection.release();
|
|
46
|
-
return rows;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
public async queryArray<T extends RowDataPacket>(
|
|
50
|
-
sql: string,
|
|
51
|
-
values?: Array<string | number>,
|
|
52
|
-
): Promise<T[]> {
|
|
53
|
-
const connection = await this.getConnection();
|
|
54
|
-
|
|
55
|
-
const [rows] = await connection.query<T[]>({
|
|
56
|
-
sql,
|
|
57
|
-
values,
|
|
58
|
-
rowsAsArray: true,
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
await connection.release();
|
|
62
|
-
return rows;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
public async executeResult(
|
|
66
|
-
sql: string,
|
|
67
|
-
values?: unknown[],
|
|
68
|
-
): Promise<ResultSetHeader> {
|
|
69
|
-
const connection = await this.pool.getConnection();
|
|
70
|
-
|
|
71
|
-
const [rows] = await connection.query<ResultSetHeader>(sql, values);
|
|
72
|
-
|
|
73
|
-
await connection.release();
|
|
74
|
-
return rows;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
public async insertData(
|
|
78
|
-
tableName: string,
|
|
79
|
-
data: Record<string, string | number>,
|
|
80
|
-
): Promise<ResultSetHeader> {
|
|
81
|
-
const keys = Object.keys(data);
|
|
82
|
-
const values = Object.values(data);
|
|
83
|
-
|
|
84
|
-
const sql = `INSERT INTO ${tableName} (${keys.join(', ')}) VALUES (${keys
|
|
85
|
-
.map(() => '?')
|
|
86
|
-
.join(', ')})`;
|
|
87
|
-
|
|
88
|
-
return this.executeResult(sql, values);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
public async updateData(
|
|
92
|
-
tableName: string,
|
|
93
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
94
|
-
data: Record<string, any>,
|
|
95
|
-
condition: string,
|
|
96
|
-
conditionValues?: Array<string | number>,
|
|
97
|
-
): Promise<ResultSetHeader> {
|
|
98
|
-
const keys = Object.keys(data);
|
|
99
|
-
const values = Object.values(data);
|
|
100
|
-
|
|
101
|
-
const sql = `UPDATE ${tableName} SET ${keys
|
|
102
|
-
.map((key) => `${key} = ?`)
|
|
103
|
-
.join(', ')} WHERE ${condition}`;
|
|
104
|
-
|
|
105
|
-
const finalValues = [...values, ...(conditionValues || [])];
|
|
106
|
-
return this.executeResult(sql, finalValues);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
public async close() {
|
|
110
|
-
await this.pool.end();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { RowDataPacket } from 'mysql2';
|
|
2
|
-
|
|
3
|
-
export interface CustomerParams {
|
|
4
|
-
name: string;
|
|
5
|
-
value: string;
|
|
6
|
-
}
|
|
7
|
-
export type CustomerParamsArray = CustomerParams[];
|
|
8
|
-
|
|
9
|
-
export interface BBPSCustomerBillProviderTable {
|
|
10
|
-
id: number;
|
|
11
|
-
customer_id: number;
|
|
12
|
-
biller_id: string;
|
|
13
|
-
utility_id: number;
|
|
14
|
-
utility_name: string;
|
|
15
|
-
provider_name: string;
|
|
16
|
-
provider_logo: string;
|
|
17
|
-
customer_name: string;
|
|
18
|
-
account_no: number;
|
|
19
|
-
bill_amount: number;
|
|
20
|
-
bill_number: string;
|
|
21
|
-
customer_params: CustomerParamsArray;
|
|
22
|
-
bill_date: Date;
|
|
23
|
-
created_at: Date;
|
|
24
|
-
updated_at: Date;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export interface BBPSCustomerBillProviderModel extends BBPSCustomerBillProviderTable, RowDataPacket {}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { RowDataPacket } from 'mysql2';
|
|
2
|
-
|
|
3
|
-
export type JSONPrimitive = string | number | boolean | null;
|
|
4
|
-
export type JSONValue = JSONObject | JSONArray;
|
|
5
|
-
export type JSONObject = { [member: string]: JSONPrimitive };
|
|
6
|
-
export type JSONArray = Array<JSONValue>;
|
|
7
|
-
|
|
8
|
-
export interface BBPSProvidersTable {
|
|
9
|
-
id: number;
|
|
10
|
-
name: string;
|
|
11
|
-
alias: string;
|
|
12
|
-
logo: string;
|
|
13
|
-
state: string;
|
|
14
|
-
customer_params: JSONValue;
|
|
15
|
-
utilityid: number;
|
|
16
|
-
vendorid: number;
|
|
17
|
-
billerid: string;
|
|
18
|
-
created_at: Date;
|
|
19
|
-
updated_at: Date;
|
|
20
|
-
is_active: number;
|
|
21
|
-
is_deleted: number;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface BBPSProvidersModel extends BBPSProvidersTable, RowDataPacket {}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { RowDataPacket } from 'mysql2';
|
|
2
|
-
|
|
3
|
-
export interface BBPSTransactionsTable {
|
|
4
|
-
id: number;
|
|
5
|
-
customerid: number;
|
|
6
|
-
utilityid: number;
|
|
7
|
-
providerid: number;
|
|
8
|
-
account: string;
|
|
9
|
-
billamount: number;
|
|
10
|
-
amount: number;
|
|
11
|
-
discount: number;
|
|
12
|
-
promo: string;
|
|
13
|
-
duedate: Date;
|
|
14
|
-
status: string;
|
|
15
|
-
mode: string;
|
|
16
|
-
paymentid: string;
|
|
17
|
-
txnid: string;
|
|
18
|
-
attempted_at: Date;
|
|
19
|
-
paid_at: Date;
|
|
20
|
-
processed_at: Date;
|
|
21
|
-
created_at: Date;
|
|
22
|
-
updated_at: Date;
|
|
23
|
-
is_due: number;
|
|
24
|
-
is_active: number;
|
|
25
|
-
is_deleted: number;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface BBPSTransactionsModel extends BBPSTransactionsTable, RowDataPacket {}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { RowDataPacket } from 'mysql2';
|
|
2
|
-
|
|
3
|
-
export interface BBPSUtilitiesTable {
|
|
4
|
-
id: number;
|
|
5
|
-
name: string;
|
|
6
|
-
logo: string;
|
|
7
|
-
vendorid: number;
|
|
8
|
-
created_at: Date;
|
|
9
|
-
updated_at: Date;
|
|
10
|
-
is_active: number;
|
|
11
|
-
is_deleted: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export interface BBPSUtilitiesModel extends BBPSUtilitiesTable, RowDataPacket {}
|
package/src/models/BBPSVendor.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { RowDataPacket } from 'mysql2';
|
|
2
|
-
|
|
3
|
-
export interface BBPSVendorsTable {
|
|
4
|
-
id: number;
|
|
5
|
-
name: string;
|
|
6
|
-
created_at: Date;
|
|
7
|
-
updated_at: Date;
|
|
8
|
-
is_active: number;
|
|
9
|
-
is_deleted: number;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface BBPSVendorsModel extends BBPSVendorsTable, RowDataPacket {}
|
package/src/models/Common.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export interface Rule {
|
|
2
|
-
key: string;
|
|
3
|
-
value: string | number;
|
|
4
|
-
operator: string;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
export interface Rules {
|
|
8
|
-
data: Rule[];
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface MetaData {
|
|
12
|
-
icon: string;
|
|
13
|
-
title: string;
|
|
14
|
-
eligibilityCriteria: string;
|
|
15
|
-
steps: string[]
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export interface Stat {
|
|
19
|
-
count: number;
|
|
20
|
-
total: number;
|
|
21
|
-
}
|