feat: remove OTP gate from transactions, fix categories auth, add implementation plan

- Remove OtpGateGuard from transactions controller (OTP verified at login)
- Fix categories controller to use authenticated user instead of TEMP_USER_ID
- Add comprehensive implementation plan document
- Update .env.example with WEB_APP_URL
- Prepare for admin dashboard development
This commit is contained in:
dwindown
2025-10-11 14:00:11 +07:00
parent 0da6071eb3
commit 249f3a9d7d
159 changed files with 13748 additions and 3369 deletions

View File

@@ -1,9 +1,14 @@
import type { Response } from 'express';
import { TransactionsService } from './transactions.service';
interface RequestWithUser {
user: {
userId: string;
};
}
export declare class TransactionsController {
private readonly tx;
constructor(tx: TransactionsService);
list(walletId: string): import("@prisma/client").Prisma.PrismaPromise<{
list(req: RequestWithUser, walletId: string): import("@prisma/client").Prisma.PrismaPromise<{
category: string | null;
id: string;
createdAt: Date;
@@ -15,7 +20,7 @@ export declare class TransactionsController {
walletId: string;
recurrenceId: string | null;
}[]>;
create(walletId: string, body: {
create(req: RequestWithUser, walletId: string, body: {
amount: number | string;
direction: 'in' | 'out';
date?: string;
@@ -33,8 +38,8 @@ export declare class TransactionsController {
walletId: string;
recurrenceId: string | null;
}>;
exportCsv(walletId: string, from: string | undefined, to: string | undefined, category: string | undefined, direction: 'in' | 'out' | undefined, res: Response): Promise<void>;
update(walletId: string, id: string, body: unknown): Promise<{
exportCsv(req: RequestWithUser, walletId: string, from: string | undefined, to: string | undefined, category: string | undefined, direction: 'in' | 'out' | undefined, res: Response): Promise<void>;
update(req: RequestWithUser, walletId: string, id: string, body: unknown): Promise<{
category: string | null;
id: string;
createdAt: Date;
@@ -46,7 +51,7 @@ export declare class TransactionsController {
walletId: string;
recurrenceId: string | null;
}>;
delete(walletId: string, id: string): Promise<{
delete(req: RequestWithUser, walletId: string, id: string): Promise<{
category: string | null;
id: string;
createdAt: Date;
@@ -59,3 +64,4 @@ export declare class TransactionsController {
recurrenceId: string | null;
}>;
}
export {};