checkpoint: goals feature, wallet balance, and goals/wallet detail UI

- Add goals feature (models, migrations, API, web pages)
- Add reserved/centralized wallet balance service
- Add wallet detail page and overview components
- Add new UI components (progress, multi-select, FAB)
- Remove stray empty -H/-d files from working tree
This commit is contained in:
Dwindi Ramadhana
2026-06-17 20:40:00 +07:00
parent 35e93b826a
commit 6a6e74562c
401 changed files with 9517 additions and 397 deletions

29
apps/api/dist/wallets/wallets.service.d.ts vendored Normal file → Executable file
View File

@@ -11,10 +11,25 @@ export declare class WalletsService {
kind: string;
currency: string | null;
unit: string | null;
deletedAt: Date | null;
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
deletedAt: Date | null;
reservedBalance: import("@prisma/client/runtime/library").Decimal;
}[]>;
getOne(userId: string, 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;
deletedAt: Date | null;
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
reservedBalance: import("@prisma/client/runtime/library").Decimal;
} | null, null, import("@prisma/client/runtime/library").DefaultArgs, import("@prisma/client").Prisma.PrismaClientOptions>;
create(userId: string, input: {
name: string;
currency?: string;
@@ -31,9 +46,10 @@ export declare class WalletsService {
kind: string;
currency: string | null;
unit: string | null;
deletedAt: Date | null;
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
deletedAt: Date | null;
reservedBalance: import("@prisma/client/runtime/library").Decimal;
}, never, import("@prisma/client/runtime/library").DefaultArgs, import("@prisma/client").Prisma.PrismaClientOptions>;
update(userId: string, id: string, input: {
name?: string;
@@ -51,9 +67,10 @@ export declare class WalletsService {
kind: string;
currency: string | null;
unit: string | null;
deletedAt: Date | null;
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
deletedAt: Date | null;
reservedBalance: import("@prisma/client/runtime/library").Decimal;
}, never, import("@prisma/client/runtime/library").DefaultArgs, import("@prisma/client").Prisma.PrismaClientOptions>;
bulkUpdatePrices(userId: string, updates: Array<{
walletId: string;
@@ -70,9 +87,10 @@ export declare class WalletsService {
kind: string;
currency: string | null;
unit: string | null;
deletedAt: Date | null;
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
deletedAt: Date | null;
reservedBalance: import("@prisma/client/runtime/library").Decimal;
}[];
}>;
delete(userId: string, id: string): import("@prisma/client").Prisma.Prisma__WalletClient<{
@@ -84,8 +102,9 @@ export declare class WalletsService {
kind: string;
currency: string | null;
unit: string | null;
deletedAt: Date | null;
initialAmount: import("@prisma/client/runtime/library").Decimal | null;
pricePerUnit: import("@prisma/client/runtime/library").Decimal | null;
deletedAt: Date | null;
reservedBalance: import("@prisma/client/runtime/library").Decimal;
}, never, import("@prisma/client/runtime/library").DefaultArgs, import("@prisma/client").Prisma.PrismaClientOptions>;
}