File size: 834 Bytes
5efe61a 8738ae8 5efe61a 8738ae8 5efe61a 8738ae8 5efe61a 8738ae8 5efe61a 8738ae8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import { StatementModel, TransactionInputDTO, TransactionType } from "../model/statement";
import { BaseDatabase } from "./base-database";
export class WalletDatabase extends BaseDatabase {
saveTransaction = async (user_id: string, amount: number, category: TransactionType) => {
try {
await this.getConnection()
new StatementModel({
user_id, amount, category
}).save()
} catch (error) {
throw new Error(error.message)
}
}
getStatement = async (user_id: string, skip: number, limit: number, order_by: number) => {
try {
await this.getConnection()
return await StatementModel.find({ user_id })
.skip(skip)
.limit(limit)
.sort({
created_at: order_by
})
} catch (error) {
throw new Error(error.message)
}
}
} |