- AdminPlansController & Service (CRUD, reorder) - AdminPaymentMethodsController & Service (CRUD, reorder) - AdminPaymentsController & Service (verify, reject, pending count) - AdminUsersController & Service (search, suspend, grant pro access, stats) - AdminConfigController & Service (dynamic config management) - Wire all controllers into AdminModule - Import AdminModule in AppModule Admin API Routes: - GET/POST/PUT/DELETE /admin/plans - GET/POST/PUT/DELETE /admin/payment-methods - GET /admin/payments (with status filter) - POST /admin/payments/:id/verify - POST /admin/payments/:id/reject - GET /admin/users (with search) - POST /admin/users/:id/grant-pro - GET/POST/DELETE /admin/config All routes protected by AuthGuard + AdminGuard
94 lines
3.4 KiB
TypeScript
94 lines
3.4 KiB
TypeScript
import { WalletsService } from './wallets.service';
|
|
import { TransactionsService } from '../transactions/transactions.service';
|
|
interface RequestWithUser {
|
|
user: {
|
|
userId: string;
|
|
};
|
|
}
|
|
export declare class WalletsController {
|
|
private readonly wallets;
|
|
private readonly transactions;
|
|
constructor(wallets: WalletsService, transactions: TransactionsService);
|
|
list(req: RequestWithUser): import("@prisma/client").Prisma.PrismaPromise<{
|
|
id: string;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
name: string;
|
|
userId: string;
|
|
kind: string;
|
|
currency: string | null;
|
|
unit: string | null;
|
|
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
|
|
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
|
|
deletedAt: Date | null;
|
|
}[]>;
|
|
getAllTransactions(req: RequestWithUser): Promise<{
|
|
category: string | null;
|
|
id: string;
|
|
createdAt: Date;
|
|
userId: string;
|
|
amount: import("@prisma/client/runtime/library").Decimal;
|
|
direction: string;
|
|
date: Date;
|
|
memo: string | null;
|
|
walletId: string;
|
|
recurrenceId: string | null;
|
|
}[]>;
|
|
create(req: RequestWithUser, body: {
|
|
name: string;
|
|
currency?: string;
|
|
kind?: 'money' | 'asset';
|
|
unit?: string;
|
|
initialAmount?: number;
|
|
pricePerUnit?: number;
|
|
}): import("@prisma/client").Prisma.Prisma__WalletClient<{
|
|
id: string;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
name: string;
|
|
userId: string;
|
|
kind: string;
|
|
currency: string | null;
|
|
unit: string | null;
|
|
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
|
|
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
|
|
deletedAt: Date | null;
|
|
}, never, import("@prisma/client/runtime/library").DefaultArgs, import("@prisma/client").Prisma.PrismaClientOptions> | {
|
|
error: string;
|
|
};
|
|
update(req: RequestWithUser, id: string, body: {
|
|
name?: string;
|
|
currency?: string;
|
|
kind?: 'money' | 'asset';
|
|
unit?: string;
|
|
initialAmount?: number;
|
|
pricePerUnit?: number;
|
|
}): import("@prisma/client").Prisma.Prisma__WalletClient<{
|
|
id: string;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
name: string;
|
|
userId: string;
|
|
kind: string;
|
|
currency: string | null;
|
|
unit: string | null;
|
|
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
|
|
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
|
|
deletedAt: Date | null;
|
|
}, never, import("@prisma/client/runtime/library").DefaultArgs, import("@prisma/client").Prisma.PrismaClientOptions>;
|
|
delete(req: RequestWithUser, id: string): import("@prisma/client").Prisma.Prisma__WalletClient<{
|
|
id: string;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
name: string;
|
|
userId: string;
|
|
kind: string;
|
|
currency: string | null;
|
|
unit: string | null;
|
|
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
|
|
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
|
|
deletedAt: Date | null;
|
|
}, never, import("@prisma/client/runtime/library").DefaultArgs, import("@prisma/client").Prisma.PrismaClientOptions>;
|
|
}
|
|
export {};
|