Move cash transaction to sql

This commit is contained in:
Nikola Petrov
2024-07-16 22:23:54 +02:00
parent e89a8536be
commit 12b9e62f8f
2 changed files with 75 additions and 20 deletions

View File

@@ -1,15 +1,69 @@
import mongoose, { Schema } from 'mongoose';
import { type ResultSetHeader, type RowDataPacket, type QueryOptions } from "mysql2"
import pool from '../miscellaneous/db'
const cashTransaction = new Schema({
'raw': String,
'day': Number,
'month': Number,
'year': Number,
'amount': Number,
'type': Number,
'company': String,
});
interface CashTransaction extends RowDataPacket {
id?: number;
rawMessage?: string;
day?: number;
month?: number;
year?: number;
amount?: number;
type?: number;
company?: string;
}
const CashTransaction = mongoose.model('cashTransaction', cashTransaction);
async function save(rawMessage: string, day: number, month: number, year: number, amount: number, type: number, company: string): Promise<number> {
try {
const options: QueryOptions = {
sql: "INSERT INTO bankCardTransaction (raw, day, month, year, amount, type, company) VALUES (?,?,?,?,?,?,?)",
values: [rawMessage, day, month, year, amount, type, company]
};
const [result, fields] = await pool.query<ResultSetHeader>(options);
return result.affectedRows;
}
catch (err) {
console.log(err);
}
return 0;
}
export default CashTransaction;
async function find(): Promise<CashTransaction[]> {
try {
const [rows, fields] = await pool.query<CashTransaction[]>("SELECT * FROM bankCardTransaction;");
return rows;
}
catch (err) {
console.log(err);
}
return [];
}
async function findWithPar(month: number, year: number): Promise<CashTransaction[]> {
try {
const [rows, fields] = await pool.query<CashTransaction[]>("SELECT * FROM bankCardTransaction;");
return rows;
}
catch (err) {
console.log(err);
}
return [];
}
async function findOneAndDelete(type: number): Promise<number> {
try {
const [result, fields] = await pool.query<ResultSetHeader>("DELETE FROM bankCardTransaction WHERE type = ?;", [type]);
return result.affectedRows;
}
catch (err) {
console.log(err);
}
return 0;
}
export default {
find,
findWithPar,
save,
findOneAndDelete
};