Files
tabungin/apps/api/dist/transactions/transactions.controller.d.ts
dwindown c3bc181063 feat: add admin dashboard schema and seeder
- Add Plan, Subscription, Payment, PaymentMethod, Coupon models
- Add ApiKey, Webhook models for API access
- Add AppConfig model for dynamic configuration
- Add role, suspendedAt fields to User model
- Create comprehensive seeder with:
  - Admin user (dwindi.ramadhana@gmail.com)
  - Default plans (Free, Pro Monthly, Pro Yearly)
  - Payment methods (BCA, Mandiri, GoPay)
  - App config (maintenance mode)
- Zero data loss migration strategy
2025-10-11 14:06:55 +07:00

68 lines
2.2 KiB
TypeScript

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(req: RequestWithUser, walletId: string): import("@prisma/client").Prisma.PrismaPromise<{
category: string | null;
id: string;
createdAt: Date;
userId: string;
walletId: string;
date: Date;
amount: import("@prisma/client/runtime/library").Decimal;
direction: string;
memo: string | null;
recurrenceId: string | null;
}[]>;
create(req: RequestWithUser, walletId: string, body: {
amount: number | string;
direction: 'in' | 'out';
date?: string;
category?: string;
memo?: string;
}): Promise<{
category: string | null;
id: string;
createdAt: Date;
userId: string;
walletId: string;
date: Date;
amount: import("@prisma/client/runtime/library").Decimal;
direction: string;
memo: string | null;
recurrenceId: string | null;
}>;
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;
userId: string;
walletId: string;
date: Date;
amount: import("@prisma/client/runtime/library").Decimal;
direction: string;
memo: string | null;
recurrenceId: string | null;
}>;
delete(req: RequestWithUser, walletId: string, id: string): Promise<{
category: string | null;
id: string;
createdAt: Date;
userId: string;
walletId: string;
date: Date;
amount: import("@prisma/client/runtime/library").Decimal;
direction: string;
memo: string | null;
recurrenceId: string | null;
}>;
}
export {};