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:
0
apps/api/dist/admin/admin-config.controller.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.controller.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.controller.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.controller.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.service.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.service.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.service.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-config.service.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.controller.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.controller.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.controller.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.controller.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.service.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.service.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.service.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payment-methods.service.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.controller.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.controller.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.controller.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.controller.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.service.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.service.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.service.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-payments.service.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.controller.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.controller.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.controller.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.controller.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.service.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.service.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.service.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-plans.service.js.map
vendored
Normal file → Executable file
44
apps/api/dist/admin/admin-users.controller.d.ts
vendored
Normal file → Executable file
44
apps/api/dist/admin/admin-users.controller.d.ts
vendored
Normal file → Executable file
@@ -6,11 +6,11 @@ export declare class AdminUsersController {
|
||||
id: string;
|
||||
email: string;
|
||||
createdAt: Date;
|
||||
emailVerified: boolean;
|
||||
name: string | null;
|
||||
emailVerified: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
lastLoginAt: Date | null;
|
||||
_count: {
|
||||
transactions: number;
|
||||
wallets: number;
|
||||
@@ -62,11 +62,11 @@ export declare class AdminUsersController {
|
||||
trialEndDate: Date | null;
|
||||
cancelledAt: Date | null;
|
||||
cancellationReason: string | null;
|
||||
})[];
|
||||
}) | null;
|
||||
_count: {
|
||||
payments: number;
|
||||
transactions: number;
|
||||
wallets: number;
|
||||
payments: number;
|
||||
};
|
||||
} & {
|
||||
id: string;
|
||||
@@ -75,20 +75,20 @@ export declare class AdminUsersController {
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
status: string;
|
||||
emailVerified: boolean;
|
||||
passwordHash: string | null;
|
||||
name: string | null;
|
||||
avatarUrl: string | null;
|
||||
defaultCurrency: string | null;
|
||||
timeZone: string | null;
|
||||
emailVerified: boolean;
|
||||
otpEmailEnabled: boolean;
|
||||
otpWhatsappEnabled: boolean;
|
||||
otpTotpEnabled: boolean;
|
||||
otpTotpSecret: string | null;
|
||||
passwordHash: string | null;
|
||||
otpWhatsappEnabled: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
suspendedReason: string | null;
|
||||
lastLoginAt: Date | null;
|
||||
}) | null>;
|
||||
updateRole(id: string, body: {
|
||||
role: string;
|
||||
@@ -99,20 +99,20 @@ export declare class AdminUsersController {
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
status: string;
|
||||
emailVerified: boolean;
|
||||
passwordHash: string | null;
|
||||
name: string | null;
|
||||
avatarUrl: string | null;
|
||||
defaultCurrency: string | null;
|
||||
timeZone: string | null;
|
||||
emailVerified: boolean;
|
||||
otpEmailEnabled: boolean;
|
||||
otpWhatsappEnabled: boolean;
|
||||
otpTotpEnabled: boolean;
|
||||
otpTotpSecret: string | null;
|
||||
passwordHash: string | null;
|
||||
otpWhatsappEnabled: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
suspendedReason: string | null;
|
||||
lastLoginAt: Date | null;
|
||||
}>;
|
||||
suspend(id: string, body: {
|
||||
reason: string;
|
||||
@@ -123,20 +123,20 @@ export declare class AdminUsersController {
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
status: string;
|
||||
emailVerified: boolean;
|
||||
passwordHash: string | null;
|
||||
name: string | null;
|
||||
avatarUrl: string | null;
|
||||
defaultCurrency: string | null;
|
||||
timeZone: string | null;
|
||||
emailVerified: boolean;
|
||||
otpEmailEnabled: boolean;
|
||||
otpWhatsappEnabled: boolean;
|
||||
otpTotpEnabled: boolean;
|
||||
otpTotpSecret: string | null;
|
||||
passwordHash: string | null;
|
||||
otpWhatsappEnabled: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
suspendedReason: string | null;
|
||||
lastLoginAt: Date | null;
|
||||
}>;
|
||||
unsuspend(id: string): Promise<{
|
||||
id: string;
|
||||
@@ -145,20 +145,20 @@ export declare class AdminUsersController {
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
status: string;
|
||||
emailVerified: boolean;
|
||||
passwordHash: string | null;
|
||||
name: string | null;
|
||||
avatarUrl: string | null;
|
||||
defaultCurrency: string | null;
|
||||
timeZone: string | null;
|
||||
emailVerified: boolean;
|
||||
otpEmailEnabled: boolean;
|
||||
otpWhatsappEnabled: boolean;
|
||||
otpTotpEnabled: boolean;
|
||||
otpTotpSecret: string | null;
|
||||
passwordHash: string | null;
|
||||
otpWhatsappEnabled: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
suspendedReason: string | null;
|
||||
lastLoginAt: Date | null;
|
||||
}>;
|
||||
grantProAccess(id: string, body: {
|
||||
planSlug: string;
|
||||
@@ -186,8 +186,8 @@ export declare class AdminUsersController {
|
||||
id: string;
|
||||
email: string;
|
||||
createdAt: Date;
|
||||
emailVerified: boolean;
|
||||
name: string | null;
|
||||
emailVerified: boolean;
|
||||
role: string;
|
||||
}>;
|
||||
update(id: string, body: {
|
||||
@@ -198,8 +198,8 @@ export declare class AdminUsersController {
|
||||
id: string;
|
||||
email: string;
|
||||
createdAt: Date;
|
||||
emailVerified: boolean;
|
||||
name: string | null;
|
||||
emailVerified: boolean;
|
||||
role: string;
|
||||
}>;
|
||||
delete(id: string): Promise<{
|
||||
|
||||
0
apps/api/dist/admin/admin-users.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-users.controller.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-users.controller.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-users.controller.js.map
vendored
Normal file → Executable file
44
apps/api/dist/admin/admin-users.service.d.ts
vendored
Normal file → Executable file
44
apps/api/dist/admin/admin-users.service.d.ts
vendored
Normal file → Executable file
@@ -6,11 +6,11 @@ export declare class AdminUsersService {
|
||||
id: string;
|
||||
email: string;
|
||||
createdAt: Date;
|
||||
emailVerified: boolean;
|
||||
name: string | null;
|
||||
emailVerified: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
lastLoginAt: Date | null;
|
||||
_count: {
|
||||
transactions: number;
|
||||
wallets: number;
|
||||
@@ -57,11 +57,11 @@ export declare class AdminUsersService {
|
||||
trialEndDate: Date | null;
|
||||
cancelledAt: Date | null;
|
||||
cancellationReason: string | null;
|
||||
})[];
|
||||
}) | null;
|
||||
_count: {
|
||||
payments: number;
|
||||
transactions: number;
|
||||
wallets: number;
|
||||
payments: number;
|
||||
};
|
||||
} & {
|
||||
id: string;
|
||||
@@ -70,20 +70,20 @@ export declare class AdminUsersService {
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
status: string;
|
||||
emailVerified: boolean;
|
||||
passwordHash: string | null;
|
||||
name: string | null;
|
||||
avatarUrl: string | null;
|
||||
defaultCurrency: string | null;
|
||||
timeZone: string | null;
|
||||
emailVerified: boolean;
|
||||
otpEmailEnabled: boolean;
|
||||
otpWhatsappEnabled: boolean;
|
||||
otpTotpEnabled: boolean;
|
||||
otpTotpSecret: string | null;
|
||||
passwordHash: string | null;
|
||||
otpWhatsappEnabled: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
suspendedReason: string | null;
|
||||
lastLoginAt: Date | null;
|
||||
}) | null>;
|
||||
updateRole(id: string, role: string): Promise<{
|
||||
id: string;
|
||||
@@ -92,20 +92,20 @@ export declare class AdminUsersService {
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
status: string;
|
||||
emailVerified: boolean;
|
||||
passwordHash: string | null;
|
||||
name: string | null;
|
||||
avatarUrl: string | null;
|
||||
defaultCurrency: string | null;
|
||||
timeZone: string | null;
|
||||
emailVerified: boolean;
|
||||
otpEmailEnabled: boolean;
|
||||
otpWhatsappEnabled: boolean;
|
||||
otpTotpEnabled: boolean;
|
||||
otpTotpSecret: string | null;
|
||||
passwordHash: string | null;
|
||||
otpWhatsappEnabled: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
suspendedReason: string | null;
|
||||
lastLoginAt: Date | null;
|
||||
}>;
|
||||
suspend(id: string, reason: string): Promise<{
|
||||
id: string;
|
||||
@@ -114,20 +114,20 @@ export declare class AdminUsersService {
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
status: string;
|
||||
emailVerified: boolean;
|
||||
passwordHash: string | null;
|
||||
name: string | null;
|
||||
avatarUrl: string | null;
|
||||
defaultCurrency: string | null;
|
||||
timeZone: string | null;
|
||||
emailVerified: boolean;
|
||||
otpEmailEnabled: boolean;
|
||||
otpWhatsappEnabled: boolean;
|
||||
otpTotpEnabled: boolean;
|
||||
otpTotpSecret: string | null;
|
||||
passwordHash: string | null;
|
||||
otpWhatsappEnabled: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
suspendedReason: string | null;
|
||||
lastLoginAt: Date | null;
|
||||
}>;
|
||||
unsuspend(id: string): Promise<{
|
||||
id: string;
|
||||
@@ -136,20 +136,20 @@ export declare class AdminUsersService {
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
status: string;
|
||||
emailVerified: boolean;
|
||||
passwordHash: string | null;
|
||||
name: string | null;
|
||||
avatarUrl: string | null;
|
||||
defaultCurrency: string | null;
|
||||
timeZone: string | null;
|
||||
emailVerified: boolean;
|
||||
otpEmailEnabled: boolean;
|
||||
otpWhatsappEnabled: boolean;
|
||||
otpTotpEnabled: boolean;
|
||||
otpTotpSecret: string | null;
|
||||
passwordHash: string | null;
|
||||
otpWhatsappEnabled: boolean;
|
||||
lastLoginAt: Date | null;
|
||||
role: string;
|
||||
suspendedAt: Date | null;
|
||||
suspendedReason: string | null;
|
||||
lastLoginAt: Date | null;
|
||||
}>;
|
||||
grantProAccess(userId: string, planSlug: string, durationDays: number): Promise<{
|
||||
id: string;
|
||||
@@ -179,8 +179,8 @@ export declare class AdminUsersService {
|
||||
id: string;
|
||||
email: string;
|
||||
createdAt: Date;
|
||||
emailVerified: boolean;
|
||||
name: string | null;
|
||||
emailVerified: boolean;
|
||||
role: string;
|
||||
}>;
|
||||
update(id: string, data: {
|
||||
@@ -191,8 +191,8 @@ export declare class AdminUsersService {
|
||||
id: string;
|
||||
email: string;
|
||||
createdAt: Date;
|
||||
emailVerified: boolean;
|
||||
name: string | null;
|
||||
emailVerified: boolean;
|
||||
role: string;
|
||||
}>;
|
||||
delete(id: string): Promise<{
|
||||
|
||||
0
apps/api/dist/admin/admin-users.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-users.service.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-users.service.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin-users.service.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin.module.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin.module.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin.module.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin.module.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin.module.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/admin.module.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/guards/admin.guard.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/guards/admin.guard.d.ts
vendored
Normal file → Executable file
0
apps/api/dist/admin/guards/admin.guard.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/guards/admin.guard.js
vendored
Normal file → Executable file
0
apps/api/dist/admin/guards/admin.guard.js.map
vendored
Normal file → Executable file
0
apps/api/dist/admin/guards/admin.guard.js.map
vendored
Normal file → Executable file
Reference in New Issue
Block a user