This commit is contained in:
eneller
2026-03-06 19:07:22 +01:00
parent 0dabdaa136
commit 08c1b4730c
8 changed files with 26 additions and 24 deletions

View File

@@ -5,6 +5,8 @@ services:
POSTGRES_PASSWORD: pass
ports:
- "5432:5432"
volumes:
- ./.docker:/var/lib/postgresql
adminer:
image: adminer

View File

@@ -4,22 +4,22 @@ import User from './user';
@Table
export default class Transaction extends Model{
@Column
amount: number;
amount!: number;
@Column
@ForeignKey(()=> User)
senderID: string;
senderID!: string;
@BelongsTo(() => User, 'senderID')
sender: User;
sender!: User;
@Column
@ForeignKey(()=> User)
receiverID: string;
receiverID!: string;
@BelongsTo(() => User, 'receiverID')
receiver: User;
receiver!: User;
@CreatedAt
creationDate: Date;
date!: Date;
}

View File

@@ -4,18 +4,18 @@ import { Table, Column, Model, CreatedAt, DataType} from 'sequelize-typescript';
export default class User extends Model{
@Column({primaryKey: true, unique: true, allowNull: false})
userID: string;
userID!: string;
@Column
displayName: string;
displayName!: string;
@Column(DataType.DECIMAL(20,2))
balance: number;
balance!: number;
@Column
password: string;
password!: string;
@CreatedAt
creationDate: Date;
creationDate!: Date;
}

View File

@@ -1,17 +1,18 @@
import express from 'express';
import { Transaction } from "@shared/interfaces/transaction"
import Transaction from '../model/transaction';
const router = express.Router();
// Mock data
const mockTransactions: Transaction[] = [
{ id: '1', partner: 'Alice Smith', amount: 50.00, date: new Date('2026-03-01'), type: 'Received' },
{ id: '2', partner: 'Bob Johnson', amount: -25.50, date: new Date('2026-02-28'), type: 'Sent' },
];
// GET /api/transactions
router.get('/', (req, res) => {
res.json(mockTransactions);
router.get('/', async (req, res) => {
try {
const transactions = await Transaction.findAll({ limit: 10 });
res.json(transactions);
} catch (err) {
console.error('Failed to fetch transactions:', err);
res.status(500).json({ error: 'Failed to fetch transactions' });
}
});
export default router;