- 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
91 lines
2.6 KiB
TypeScript
91 lines
2.6 KiB
TypeScript
import { PrismaService } from '../prisma/prisma.service';
|
|
import { Prisma } from '@prisma/client';
|
|
import type { TransactionUpdateDto } from './transaction.dto';
|
|
export declare class TransactionsService {
|
|
private prisma;
|
|
constructor(prisma: PrismaService);
|
|
list(userId: string, walletId: string): Prisma.PrismaPromise<{
|
|
category: string | null;
|
|
id: string;
|
|
createdAt: Date;
|
|
userId: string;
|
|
walletId: string;
|
|
date: Date;
|
|
amount: Prisma.Decimal;
|
|
direction: string;
|
|
memo: string | null;
|
|
recurrenceId: string | null;
|
|
}[]>;
|
|
listAll(userId: string): Prisma.PrismaPromise<{
|
|
category: string | null;
|
|
id: string;
|
|
createdAt: Date;
|
|
userId: string;
|
|
walletId: string;
|
|
date: Date;
|
|
amount: Prisma.Decimal;
|
|
direction: string;
|
|
memo: string | null;
|
|
recurrenceId: string | null;
|
|
}[]>;
|
|
listWithFilters(userId: string, walletId: string, filters: {
|
|
from?: string;
|
|
to?: string;
|
|
category?: string;
|
|
direction?: 'in' | 'out';
|
|
}): Prisma.PrismaPromise<{
|
|
category: string | null;
|
|
id: string;
|
|
createdAt: Date;
|
|
userId: string;
|
|
walletId: string;
|
|
date: Date;
|
|
amount: Prisma.Decimal;
|
|
direction: string;
|
|
memo: string | null;
|
|
recurrenceId: string | null;
|
|
}[]>;
|
|
create(userId: string, walletId: string, input: {
|
|
amount: string | number;
|
|
direction: 'in' | 'out';
|
|
date?: string;
|
|
category?: string;
|
|
memo?: string;
|
|
}): Promise<{
|
|
category: string | null;
|
|
id: string;
|
|
createdAt: Date;
|
|
userId: string;
|
|
walletId: string;
|
|
date: Date;
|
|
amount: Prisma.Decimal;
|
|
direction: string;
|
|
memo: string | null;
|
|
recurrenceId: string | null;
|
|
}>;
|
|
update(userId: string, walletId: string, id: string, dto: TransactionUpdateDto): Promise<{
|
|
category: string | null;
|
|
id: string;
|
|
createdAt: Date;
|
|
userId: string;
|
|
walletId: string;
|
|
date: Date;
|
|
amount: Prisma.Decimal;
|
|
direction: string;
|
|
memo: string | null;
|
|
recurrenceId: string | null;
|
|
}>;
|
|
delete(userId: string, walletId: string, id: string): Promise<{
|
|
category: string | null;
|
|
id: string;
|
|
createdAt: Date;
|
|
userId: string;
|
|
walletId: string;
|
|
date: Date;
|
|
amount: Prisma.Decimal;
|
|
direction: string;
|
|
memo: string | null;
|
|
recurrenceId: string | null;
|
|
}>;
|
|
}
|