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
This commit is contained in:
dwindown
2025-10-11 14:06:55 +07:00
parent 249f3a9d7d
commit c3bc181063
11 changed files with 1052 additions and 37 deletions

View File

@@ -9,11 +9,11 @@ export declare class TransactionsService {
id: string;
createdAt: Date;
userId: string;
walletId: string;
date: Date;
amount: Prisma.Decimal;
direction: string;
date: Date;
memo: string | null;
walletId: string;
recurrenceId: string | null;
}[]>;
listAll(userId: string): Prisma.PrismaPromise<{
@@ -21,11 +21,11 @@ export declare class TransactionsService {
id: string;
createdAt: Date;
userId: string;
walletId: string;
date: Date;
amount: Prisma.Decimal;
direction: string;
date: Date;
memo: string | null;
walletId: string;
recurrenceId: string | null;
}[]>;
listWithFilters(userId: string, walletId: string, filters: {
@@ -38,11 +38,11 @@ export declare class TransactionsService {
id: string;
createdAt: Date;
userId: string;
walletId: string;
date: Date;
amount: Prisma.Decimal;
direction: string;
date: Date;
memo: string | null;
walletId: string;
recurrenceId: string | null;
}[]>;
create(userId: string, walletId: string, input: {
@@ -56,11 +56,11 @@ export declare class TransactionsService {
id: string;
createdAt: Date;
userId: string;
walletId: string;
date: Date;
amount: Prisma.Decimal;
direction: string;
date: Date;
memo: string | null;
walletId: string;
recurrenceId: string | null;
}>;
update(userId: string, walletId: string, id: string, dto: TransactionUpdateDto): Promise<{
@@ -68,11 +68,11 @@ export declare class TransactionsService {
id: string;
createdAt: Date;
userId: string;
walletId: string;
date: Date;
amount: Prisma.Decimal;
direction: string;
date: Date;
memo: string | null;
walletId: string;
recurrenceId: string | null;
}>;
delete(userId: string, walletId: string, id: string): Promise<{
@@ -80,11 +80,11 @@ export declare class TransactionsService {
id: string;
createdAt: Date;
userId: string;
walletId: string;
date: Date;
amount: Prisma.Decimal;
direction: string;
date: Date;
memo: string | null;
walletId: string;
recurrenceId: string | null;
}>;
}