docs: update implementation plan and add backend completion summary
- Mark backend as complete in IMPLEMENTATION_PLAN.md - Create ADMIN_BACKEND_COMPLETE.md with full documentation - Document all API endpoints - Add testing instructions - Add deployment notes
This commit is contained in:
240
ADMIN_BACKEND_COMPLETE.md
Normal file
240
ADMIN_BACKEND_COMPLETE.md
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
# ✅ ADMIN BACKEND COMPLETE
|
||||||
|
|
||||||
|
**Date:** 2025-01-11
|
||||||
|
**Status:** Backend Complete - Frontend Pending
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎉 COMPLETED
|
||||||
|
|
||||||
|
### **1. Database Schema** ✅
|
||||||
|
- 10+ new models added
|
||||||
|
- Zero data loss migration
|
||||||
|
- All fields properly indexed
|
||||||
|
|
||||||
|
### **2. Admin Seeder** ✅
|
||||||
|
- Admin account: `dwindi.ramadhana@gmail.com`
|
||||||
|
- 3 default plans (Free, Pro Monthly, Pro Yearly)
|
||||||
|
- 3 payment methods (BCA, Mandiri, GoPay)
|
||||||
|
- Can run multiple times safely
|
||||||
|
|
||||||
|
### **3. Authentication** ✅
|
||||||
|
- AdminGuard checks role = "admin"
|
||||||
|
- JWT includes role in payload
|
||||||
|
- Auth service generates tokens with role
|
||||||
|
|
||||||
|
### **4. Admin Controllers** ✅
|
||||||
|
|
||||||
|
#### **Plans Management**
|
||||||
|
```
|
||||||
|
GET /admin/plans - List all plans
|
||||||
|
GET /admin/plans/:id - Get plan details
|
||||||
|
POST /admin/plans - Create plan
|
||||||
|
PUT /admin/plans/:id - Update plan
|
||||||
|
DELETE /admin/plans/:id - Soft delete plan
|
||||||
|
POST /admin/plans/reorder - Reorder plans
|
||||||
|
```
|
||||||
|
|
||||||
|
#### **Payment Methods**
|
||||||
|
```
|
||||||
|
GET /admin/payment-methods - List all methods
|
||||||
|
GET /admin/payment-methods/:id - Get method details
|
||||||
|
POST /admin/payment-methods - Create method
|
||||||
|
PUT /admin/payment-methods/:id - Update method
|
||||||
|
DELETE /admin/payment-methods/:id - Delete method
|
||||||
|
POST /admin/payment-methods/reorder - Reorder methods
|
||||||
|
```
|
||||||
|
|
||||||
|
#### **Payment Verification**
|
||||||
|
```
|
||||||
|
GET /admin/payments - List payments (filter by status)
|
||||||
|
GET /admin/payments/pending/count - Count pending payments
|
||||||
|
GET /admin/payments/:id - Get payment details
|
||||||
|
POST /admin/payments/:id/verify - Verify payment (activate subscription)
|
||||||
|
POST /admin/payments/:id/reject - Reject payment
|
||||||
|
```
|
||||||
|
|
||||||
|
#### **User Management**
|
||||||
|
```
|
||||||
|
GET /admin/users - List users (with search)
|
||||||
|
GET /admin/users/stats - Get user statistics
|
||||||
|
GET /admin/users/:id - Get user details
|
||||||
|
PUT /admin/users/:id/role - Change user role
|
||||||
|
POST /admin/users/:id/suspend - Suspend user
|
||||||
|
POST /admin/users/:id/unsuspend - Unsuspend user
|
||||||
|
POST /admin/users/:id/grant-pro - Manually grant Pro access
|
||||||
|
```
|
||||||
|
|
||||||
|
#### **App Configuration**
|
||||||
|
```
|
||||||
|
GET /admin/config - List all configs (filter by category)
|
||||||
|
GET /admin/config/by-category - Get configs grouped by category
|
||||||
|
GET /admin/config/:key - Get specific config
|
||||||
|
POST /admin/config/:key - Create/update config
|
||||||
|
DELETE /admin/config/:key - Delete config
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔐 SECURITY
|
||||||
|
|
||||||
|
All admin routes are protected by:
|
||||||
|
1. **AuthGuard** - Requires valid JWT token
|
||||||
|
2. **AdminGuard** - Requires role = "admin"
|
||||||
|
|
||||||
|
Example request:
|
||||||
|
```bash
|
||||||
|
curl -X GET http://localhost:3001/admin/plans \
|
||||||
|
-H "Authorization: Bearer YOUR_JWT_TOKEN"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 FEATURES
|
||||||
|
|
||||||
|
### **Plans Management**
|
||||||
|
- ✅ Dynamic plans (no hardcoded values)
|
||||||
|
- ✅ Create/edit/delete plans
|
||||||
|
- ✅ Set pricing & features
|
||||||
|
- ✅ Toggle visibility
|
||||||
|
- ✅ Reorder display
|
||||||
|
- ✅ Track subscriptions per plan
|
||||||
|
|
||||||
|
### **Payment Methods**
|
||||||
|
- ✅ Add bank accounts with logos
|
||||||
|
- ✅ Add e-wallets with logos
|
||||||
|
- ✅ Set custom instructions
|
||||||
|
- ✅ Toggle active/inactive
|
||||||
|
- ✅ Reorder display
|
||||||
|
|
||||||
|
### **Payment Verification**
|
||||||
|
- ✅ View pending payments
|
||||||
|
- ✅ Review proof images
|
||||||
|
- ✅ Approve payments (auto-activate subscription)
|
||||||
|
- ✅ Reject payments with reason
|
||||||
|
- ✅ Track verification history
|
||||||
|
|
||||||
|
### **User Management**
|
||||||
|
- ✅ Search users by email/name
|
||||||
|
- ✅ View user details & stats
|
||||||
|
- ✅ Change user role
|
||||||
|
- ✅ Suspend/unsuspend users
|
||||||
|
- ✅ Manually grant Pro access
|
||||||
|
- ✅ View user statistics
|
||||||
|
|
||||||
|
### **App Configuration**
|
||||||
|
- ✅ Dynamic config (no .env restart needed)
|
||||||
|
- ✅ Grouped by category
|
||||||
|
- ✅ Support for secrets (encrypted)
|
||||||
|
- ✅ Audit trail (who changed what)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧪 TESTING
|
||||||
|
|
||||||
|
### **Test Admin Login**
|
||||||
|
```bash
|
||||||
|
# 1. Login as admin
|
||||||
|
curl -X POST http://localhost:3001/auth/login \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"email": "dwindi.ramadhana@gmail.com",
|
||||||
|
"password": "tabungin2k25!@#"
|
||||||
|
}'
|
||||||
|
|
||||||
|
# Response will include JWT token
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Test Admin Endpoints**
|
||||||
|
```bash
|
||||||
|
# 2. Get all plans
|
||||||
|
curl -X GET http://localhost:3001/admin/plans \
|
||||||
|
-H "Authorization: Bearer YOUR_TOKEN"
|
||||||
|
|
||||||
|
# 3. Get all users
|
||||||
|
curl -X GET http://localhost:3001/admin/users \
|
||||||
|
-H "Authorization: Bearer YOUR_TOKEN"
|
||||||
|
|
||||||
|
# 4. Get pending payments
|
||||||
|
curl -X GET http://localhost:3001/admin/payments?status=pending \
|
||||||
|
-H "Authorization: Bearer YOUR_TOKEN"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 NEXT STEPS
|
||||||
|
|
||||||
|
### **Frontend (3-4 hours)**
|
||||||
|
1. Admin layout with sidebar
|
||||||
|
2. Plans management UI
|
||||||
|
3. Payment methods UI
|
||||||
|
4. Payment verification UI
|
||||||
|
5. Users management UI
|
||||||
|
6. App settings UI
|
||||||
|
|
||||||
|
### **Testing (1 hour)**
|
||||||
|
1. Test all CRUD operations
|
||||||
|
2. Test payment verification flow
|
||||||
|
3. Test user management
|
||||||
|
4. Test config management
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 DEPLOYMENT NOTES
|
||||||
|
|
||||||
|
### **Environment Variables**
|
||||||
|
No changes needed. All operational config can be managed via admin dashboard.
|
||||||
|
|
||||||
|
### **Database**
|
||||||
|
Migration already applied. No manual SQL needed.
|
||||||
|
|
||||||
|
### **API Server**
|
||||||
|
Just restart the API server to load new routes:
|
||||||
|
```bash
|
||||||
|
cd apps/api
|
||||||
|
npm run start:dev
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 DOCUMENTATION
|
||||||
|
|
||||||
|
### **Admin Credentials**
|
||||||
|
- Email: `dwindi.ramadhana@gmail.com`
|
||||||
|
- Password: `tabungin2k25!@#`
|
||||||
|
- **⚠️ Change password after first login!**
|
||||||
|
|
||||||
|
### **Default Plans**
|
||||||
|
1. **Free** - Rp 0 (5 wallets, 3 goals)
|
||||||
|
2. **Pro Monthly** - Rp 49,000 (unlimited)
|
||||||
|
3. **Pro Yearly** - Rp 490,000 (unlimited, save 17%)
|
||||||
|
|
||||||
|
### **Default Payment Methods**
|
||||||
|
1. **BCA** - 1234567890 (PT Tabungin Indonesia)
|
||||||
|
2. **Mandiri** - 9876543210 (PT Tabungin Indonesia)
|
||||||
|
3. **GoPay** - 081234567890 (Dwindi Ramadhana)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ CHECKLIST
|
||||||
|
|
||||||
|
- [x] Database schema
|
||||||
|
- [x] Migrations
|
||||||
|
- [x] Seeder
|
||||||
|
- [x] Admin guard
|
||||||
|
- [x] JWT role support
|
||||||
|
- [x] Plans controller & service
|
||||||
|
- [x] Payment methods controller & service
|
||||||
|
- [x] Payments controller & service
|
||||||
|
- [x] Users controller & service
|
||||||
|
- [x] Config controller & service
|
||||||
|
- [x] Admin module
|
||||||
|
- [x] Wired into AppModule
|
||||||
|
- [x] Build successful
|
||||||
|
- [ ] Frontend UI (NEXT)
|
||||||
|
- [ ] End-to-end testing
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Last Updated:** 2025-01-11
|
||||||
|
**Next Session:** Build admin frontend UI
|
||||||
@@ -130,15 +130,15 @@ Tabungin is a personal finance SaaS with unique differentiators:
|
|||||||
- [ ] Phase 1: Admin Dashboard
|
- [ ] Phase 1: Admin Dashboard
|
||||||
- [x] Schema migration ✅
|
- [x] Schema migration ✅
|
||||||
- [x] Seeder ✅
|
- [x] Seeder ✅
|
||||||
- [ ] Backend (IN PROGRESS)
|
- [x] Backend ✅
|
||||||
- [x] Admin Guard
|
- [x] Admin Guard
|
||||||
- [x] JWT Role Support
|
- [x] JWT Role Support
|
||||||
- [ ] Plans CRUD
|
- [x] Plans CRUD
|
||||||
- [ ] Payment Methods CRUD
|
- [x] Payment Methods CRUD
|
||||||
- [ ] Payments Verification
|
- [x] Payments Verification
|
||||||
- [ ] Users Management
|
- [x] Users Management
|
||||||
- [ ] App Config
|
- [x] App Config
|
||||||
- [ ] Frontend
|
- [ ] Frontend (NEXT)
|
||||||
|
|
||||||
**Next:**
|
**Next:**
|
||||||
- [ ] Phase 2: Team
|
- [ ] Phase 2: Team
|
||||||
|
|||||||
56
apps/api/dist/admin/admin-config.controller.d.ts
vendored
56
apps/api/dist/admin/admin-config.controller.d.ts
vendored
@@ -8,52 +8,52 @@ export declare class AdminConfigController {
|
|||||||
private readonly service;
|
private readonly service;
|
||||||
constructor(service: AdminConfigService);
|
constructor(service: AdminConfigService);
|
||||||
findAll(category?: string): Promise<{
|
findAll(category?: string): Promise<{
|
||||||
id: string;
|
|
||||||
key: string;
|
|
||||||
value: string;
|
|
||||||
category: string;
|
category: string;
|
||||||
label: string;
|
id: string;
|
||||||
description: string | null;
|
|
||||||
type: string;
|
|
||||||
isSecret: boolean;
|
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
description: string | null;
|
||||||
|
key: string;
|
||||||
|
label: string;
|
||||||
|
isSecret: boolean;
|
||||||
updatedBy: string | null;
|
updatedBy: string | null;
|
||||||
}[]>;
|
}[]>;
|
||||||
getByCategory(): Promise<Record<string, any[]>>;
|
getByCategory(): Promise<Record<string, any[]>>;
|
||||||
findOne(key: string): Promise<{
|
findOne(key: string): Promise<{
|
||||||
id: string;
|
|
||||||
key: string;
|
|
||||||
value: string;
|
|
||||||
category: string;
|
category: string;
|
||||||
label: string;
|
id: string;
|
||||||
description: string | null;
|
|
||||||
type: string;
|
|
||||||
isSecret: boolean;
|
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
description: string | null;
|
||||||
|
key: string;
|
||||||
|
label: string;
|
||||||
|
isSecret: boolean;
|
||||||
updatedBy: string | null;
|
updatedBy: string | null;
|
||||||
} | null>;
|
} | null>;
|
||||||
upsert(key: string, data: any, req: RequestWithUser): Promise<{
|
upsert(key: string, data: any, req: RequestWithUser): Promise<{
|
||||||
id: string;
|
|
||||||
key: string;
|
|
||||||
value: string;
|
|
||||||
category: string;
|
category: string;
|
||||||
label: string;
|
id: string;
|
||||||
description: string | null;
|
|
||||||
type: string;
|
|
||||||
isSecret: boolean;
|
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
description: string | null;
|
||||||
|
key: string;
|
||||||
|
label: string;
|
||||||
|
isSecret: boolean;
|
||||||
updatedBy: string | null;
|
updatedBy: string | null;
|
||||||
}>;
|
}>;
|
||||||
delete(key: string): Promise<{
|
delete(key: string): Promise<{
|
||||||
id: string;
|
|
||||||
key: string;
|
|
||||||
value: string;
|
|
||||||
category: string;
|
category: string;
|
||||||
label: string;
|
id: string;
|
||||||
description: string | null;
|
|
||||||
type: string;
|
|
||||||
isSecret: boolean;
|
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
description: string | null;
|
||||||
|
key: string;
|
||||||
|
label: string;
|
||||||
|
isSecret: boolean;
|
||||||
updatedBy: string | null;
|
updatedBy: string | null;
|
||||||
}>;
|
}>;
|
||||||
}
|
}
|
||||||
|
|||||||
56
apps/api/dist/admin/admin-config.service.d.ts
vendored
56
apps/api/dist/admin/admin-config.service.d.ts
vendored
@@ -3,51 +3,51 @@ export declare class AdminConfigService {
|
|||||||
private readonly prisma;
|
private readonly prisma;
|
||||||
constructor(prisma: PrismaService);
|
constructor(prisma: PrismaService);
|
||||||
findAll(category?: string): Promise<{
|
findAll(category?: string): Promise<{
|
||||||
id: string;
|
|
||||||
key: string;
|
|
||||||
value: string;
|
|
||||||
category: string;
|
category: string;
|
||||||
label: string;
|
id: string;
|
||||||
description: string | null;
|
|
||||||
type: string;
|
|
||||||
isSecret: boolean;
|
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
description: string | null;
|
||||||
|
key: string;
|
||||||
|
label: string;
|
||||||
|
isSecret: boolean;
|
||||||
updatedBy: string | null;
|
updatedBy: string | null;
|
||||||
}[]>;
|
}[]>;
|
||||||
findOne(key: string): Promise<{
|
findOne(key: string): Promise<{
|
||||||
id: string;
|
|
||||||
key: string;
|
|
||||||
value: string;
|
|
||||||
category: string;
|
category: string;
|
||||||
label: string;
|
id: string;
|
||||||
description: string | null;
|
|
||||||
type: string;
|
|
||||||
isSecret: boolean;
|
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
description: string | null;
|
||||||
|
key: string;
|
||||||
|
label: string;
|
||||||
|
isSecret: boolean;
|
||||||
updatedBy: string | null;
|
updatedBy: string | null;
|
||||||
} | null>;
|
} | null>;
|
||||||
upsert(key: string, data: any, updatedBy: string): Promise<{
|
upsert(key: string, data: any, updatedBy: string): Promise<{
|
||||||
id: string;
|
|
||||||
key: string;
|
|
||||||
value: string;
|
|
||||||
category: string;
|
category: string;
|
||||||
label: string;
|
id: string;
|
||||||
description: string | null;
|
|
||||||
type: string;
|
|
||||||
isSecret: boolean;
|
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
description: string | null;
|
||||||
|
key: string;
|
||||||
|
label: string;
|
||||||
|
isSecret: boolean;
|
||||||
updatedBy: string | null;
|
updatedBy: string | null;
|
||||||
}>;
|
}>;
|
||||||
delete(key: string): Promise<{
|
delete(key: string): Promise<{
|
||||||
id: string;
|
|
||||||
key: string;
|
|
||||||
value: string;
|
|
||||||
category: string;
|
category: string;
|
||||||
label: string;
|
id: string;
|
||||||
description: string | null;
|
|
||||||
type: string;
|
|
||||||
isSecret: boolean;
|
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
type: string;
|
||||||
|
value: string;
|
||||||
|
description: string | null;
|
||||||
|
key: string;
|
||||||
|
label: string;
|
||||||
|
isSecret: boolean;
|
||||||
updatedBy: string | null;
|
updatedBy: string | null;
|
||||||
}>;
|
}>;
|
||||||
getByCategory(): Promise<Record<string, any[]>>;
|
getByCategory(): Promise<Record<string, any[]>>;
|
||||||
|
|||||||
@@ -4,73 +4,73 @@ export declare class AdminPaymentMethodsController {
|
|||||||
constructor(service: AdminPaymentMethodsService);
|
constructor(service: AdminPaymentMethodsService);
|
||||||
findAll(): Promise<{
|
findAll(): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}[]>;
|
}[]>;
|
||||||
findOne(id: string): Promise<{
|
findOne(id: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
} | null>;
|
} | null>;
|
||||||
create(data: any): Promise<{
|
create(data: any): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
update(id: string, data: any): Promise<{
|
update(id: string, data: any): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
delete(id: string): Promise<{
|
delete(id: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
reorder(body: {
|
reorder(body: {
|
||||||
methodIds: string[];
|
methodIds: string[];
|
||||||
|
|||||||
@@ -4,73 +4,73 @@ export declare class AdminPaymentMethodsService {
|
|||||||
constructor(prisma: PrismaService);
|
constructor(prisma: PrismaService);
|
||||||
findAll(): Promise<{
|
findAll(): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}[]>;
|
}[]>;
|
||||||
findOne(id: string): Promise<{
|
findOne(id: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
} | null>;
|
} | null>;
|
||||||
create(data: any): Promise<{
|
create(data: any): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
update(id: string, data: any): Promise<{
|
update(id: string, data: any): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
delete(id: string): Promise<{
|
delete(id: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
type: string;
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
provider: string;
|
provider: string;
|
||||||
|
type: string;
|
||||||
|
sortOrder: number;
|
||||||
|
isActive: boolean;
|
||||||
accountName: string;
|
accountName: string;
|
||||||
accountNumber: string;
|
accountNumber: string;
|
||||||
displayName: string;
|
displayName: string;
|
||||||
logoUrl: string | null;
|
logoUrl: string | null;
|
||||||
instructions: string | null;
|
instructions: string | null;
|
||||||
isActive: boolean;
|
|
||||||
sortOrder: number;
|
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
reorder(methodIds: string[]): Promise<{
|
reorder(methodIds: string[]): Promise<{
|
||||||
success: boolean;
|
success: boolean;
|
||||||
|
|||||||
@@ -16,10 +16,10 @@ export declare class AdminPaymentsController {
|
|||||||
subscription: ({
|
subscription: ({
|
||||||
plan: {
|
plan: {
|
||||||
id: string;
|
id: string;
|
||||||
currency: string;
|
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
@@ -42,10 +42,10 @@ export declare class AdminPaymentsController {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
userId: string;
|
|
||||||
status: string;
|
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
userId: string;
|
||||||
planId: string;
|
planId: string;
|
||||||
startDate: Date;
|
startDate: Date;
|
||||||
endDate: Date;
|
endDate: Date;
|
||||||
@@ -56,19 +56,21 @@ export declare class AdminPaymentsController {
|
|||||||
}) | null;
|
}) | null;
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
method: string;
|
||||||
userId: string;
|
userId: string;
|
||||||
|
currency: string;
|
||||||
|
amount: import("@prisma/client/runtime/library").Decimal;
|
||||||
subscriptionId: string | null;
|
subscriptionId: string | null;
|
||||||
invoiceNumber: string;
|
invoiceNumber: string;
|
||||||
amount: import("@prisma/client/runtime/library").Decimal;
|
|
||||||
currency: string;
|
|
||||||
method: string;
|
|
||||||
tripayReference: string | null;
|
tripayReference: string | null;
|
||||||
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
||||||
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
||||||
paymentChannel: string | null;
|
paymentChannel: string | null;
|
||||||
paymentUrl: string | null;
|
paymentUrl: string | null;
|
||||||
qrUrl: string | null;
|
qrUrl: string | null;
|
||||||
status: string;
|
|
||||||
proofImageUrl: string | null;
|
proofImageUrl: string | null;
|
||||||
transferDate: Date | null;
|
transferDate: Date | null;
|
||||||
verifiedBy: string | null;
|
verifiedBy: string | null;
|
||||||
@@ -79,8 +81,6 @@ export declare class AdminPaymentsController {
|
|||||||
notes: string | null;
|
notes: string | null;
|
||||||
expiresAt: Date | null;
|
expiresAt: Date | null;
|
||||||
paidAt: Date | null;
|
paidAt: Date | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
})[]>;
|
})[]>;
|
||||||
getPendingCount(): Promise<number>;
|
getPendingCount(): Promise<number>;
|
||||||
findOne(id: string): Promise<({
|
findOne(id: string): Promise<({
|
||||||
@@ -92,10 +92,10 @@ export declare class AdminPaymentsController {
|
|||||||
subscription: ({
|
subscription: ({
|
||||||
plan: {
|
plan: {
|
||||||
id: string;
|
id: string;
|
||||||
currency: string;
|
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
@@ -118,10 +118,10 @@ export declare class AdminPaymentsController {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
userId: string;
|
|
||||||
status: string;
|
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
userId: string;
|
||||||
planId: string;
|
planId: string;
|
||||||
startDate: Date;
|
startDate: Date;
|
||||||
endDate: Date;
|
endDate: Date;
|
||||||
@@ -132,19 +132,21 @@ export declare class AdminPaymentsController {
|
|||||||
}) | null;
|
}) | null;
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
method: string;
|
||||||
userId: string;
|
userId: string;
|
||||||
|
currency: string;
|
||||||
|
amount: import("@prisma/client/runtime/library").Decimal;
|
||||||
subscriptionId: string | null;
|
subscriptionId: string | null;
|
||||||
invoiceNumber: string;
|
invoiceNumber: string;
|
||||||
amount: import("@prisma/client/runtime/library").Decimal;
|
|
||||||
currency: string;
|
|
||||||
method: string;
|
|
||||||
tripayReference: string | null;
|
tripayReference: string | null;
|
||||||
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
||||||
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
||||||
paymentChannel: string | null;
|
paymentChannel: string | null;
|
||||||
paymentUrl: string | null;
|
paymentUrl: string | null;
|
||||||
qrUrl: string | null;
|
qrUrl: string | null;
|
||||||
status: string;
|
|
||||||
proofImageUrl: string | null;
|
proofImageUrl: string | null;
|
||||||
transferDate: Date | null;
|
transferDate: Date | null;
|
||||||
verifiedBy: string | null;
|
verifiedBy: string | null;
|
||||||
@@ -155,24 +157,24 @@ export declare class AdminPaymentsController {
|
|||||||
notes: string | null;
|
notes: string | null;
|
||||||
expiresAt: Date | null;
|
expiresAt: Date | null;
|
||||||
paidAt: Date | null;
|
paidAt: Date | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}) | null>;
|
}) | null>;
|
||||||
verify(id: string, req: RequestWithUser): Promise<{
|
verify(id: string, req: RequestWithUser): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
method: string;
|
||||||
userId: string;
|
userId: string;
|
||||||
|
currency: string;
|
||||||
|
amount: import("@prisma/client/runtime/library").Decimal;
|
||||||
subscriptionId: string | null;
|
subscriptionId: string | null;
|
||||||
invoiceNumber: string;
|
invoiceNumber: string;
|
||||||
amount: import("@prisma/client/runtime/library").Decimal;
|
|
||||||
currency: string;
|
|
||||||
method: string;
|
|
||||||
tripayReference: string | null;
|
tripayReference: string | null;
|
||||||
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
||||||
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
||||||
paymentChannel: string | null;
|
paymentChannel: string | null;
|
||||||
paymentUrl: string | null;
|
paymentUrl: string | null;
|
||||||
qrUrl: string | null;
|
qrUrl: string | null;
|
||||||
status: string;
|
|
||||||
proofImageUrl: string | null;
|
proofImageUrl: string | null;
|
||||||
transferDate: Date | null;
|
transferDate: Date | null;
|
||||||
verifiedBy: string | null;
|
verifiedBy: string | null;
|
||||||
@@ -183,26 +185,26 @@ export declare class AdminPaymentsController {
|
|||||||
notes: string | null;
|
notes: string | null;
|
||||||
expiresAt: Date | null;
|
expiresAt: Date | null;
|
||||||
paidAt: Date | null;
|
paidAt: Date | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
reject(id: string, req: RequestWithUser, body: {
|
reject(id: string, req: RequestWithUser, body: {
|
||||||
reason: string;
|
reason: string;
|
||||||
}): Promise<{
|
}): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
method: string;
|
||||||
userId: string;
|
userId: string;
|
||||||
|
currency: string;
|
||||||
|
amount: import("@prisma/client/runtime/library").Decimal;
|
||||||
subscriptionId: string | null;
|
subscriptionId: string | null;
|
||||||
invoiceNumber: string;
|
invoiceNumber: string;
|
||||||
amount: import("@prisma/client/runtime/library").Decimal;
|
|
||||||
currency: string;
|
|
||||||
method: string;
|
|
||||||
tripayReference: string | null;
|
tripayReference: string | null;
|
||||||
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
||||||
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
||||||
paymentChannel: string | null;
|
paymentChannel: string | null;
|
||||||
paymentUrl: string | null;
|
paymentUrl: string | null;
|
||||||
qrUrl: string | null;
|
qrUrl: string | null;
|
||||||
status: string;
|
|
||||||
proofImageUrl: string | null;
|
proofImageUrl: string | null;
|
||||||
transferDate: Date | null;
|
transferDate: Date | null;
|
||||||
verifiedBy: string | null;
|
verifiedBy: string | null;
|
||||||
@@ -213,8 +215,6 @@ export declare class AdminPaymentsController {
|
|||||||
notes: string | null;
|
notes: string | null;
|
||||||
expiresAt: Date | null;
|
expiresAt: Date | null;
|
||||||
paidAt: Date | null;
|
paidAt: Date | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
}
|
}
|
||||||
export {};
|
export {};
|
||||||
|
|||||||
60
apps/api/dist/admin/admin-payments.service.d.ts
vendored
60
apps/api/dist/admin/admin-payments.service.d.ts
vendored
@@ -11,10 +11,10 @@ export declare class AdminPaymentsService {
|
|||||||
subscription: ({
|
subscription: ({
|
||||||
plan: {
|
plan: {
|
||||||
id: string;
|
id: string;
|
||||||
currency: string;
|
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
@@ -37,10 +37,10 @@ export declare class AdminPaymentsService {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
userId: string;
|
|
||||||
status: string;
|
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
userId: string;
|
||||||
planId: string;
|
planId: string;
|
||||||
startDate: Date;
|
startDate: Date;
|
||||||
endDate: Date;
|
endDate: Date;
|
||||||
@@ -51,19 +51,21 @@ export declare class AdminPaymentsService {
|
|||||||
}) | null;
|
}) | null;
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
method: string;
|
||||||
userId: string;
|
userId: string;
|
||||||
|
currency: string;
|
||||||
|
amount: import("@prisma/client/runtime/library").Decimal;
|
||||||
subscriptionId: string | null;
|
subscriptionId: string | null;
|
||||||
invoiceNumber: string;
|
invoiceNumber: string;
|
||||||
amount: import("@prisma/client/runtime/library").Decimal;
|
|
||||||
currency: string;
|
|
||||||
method: string;
|
|
||||||
tripayReference: string | null;
|
tripayReference: string | null;
|
||||||
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
||||||
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
||||||
paymentChannel: string | null;
|
paymentChannel: string | null;
|
||||||
paymentUrl: string | null;
|
paymentUrl: string | null;
|
||||||
qrUrl: string | null;
|
qrUrl: string | null;
|
||||||
status: string;
|
|
||||||
proofImageUrl: string | null;
|
proofImageUrl: string | null;
|
||||||
transferDate: Date | null;
|
transferDate: Date | null;
|
||||||
verifiedBy: string | null;
|
verifiedBy: string | null;
|
||||||
@@ -74,8 +76,6 @@ export declare class AdminPaymentsService {
|
|||||||
notes: string | null;
|
notes: string | null;
|
||||||
expiresAt: Date | null;
|
expiresAt: Date | null;
|
||||||
paidAt: Date | null;
|
paidAt: Date | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
})[]>;
|
})[]>;
|
||||||
findOne(id: string): Promise<({
|
findOne(id: string): Promise<({
|
||||||
user: {
|
user: {
|
||||||
@@ -86,10 +86,10 @@ export declare class AdminPaymentsService {
|
|||||||
subscription: ({
|
subscription: ({
|
||||||
plan: {
|
plan: {
|
||||||
id: string;
|
id: string;
|
||||||
currency: string;
|
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
@@ -112,10 +112,10 @@ export declare class AdminPaymentsService {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
userId: string;
|
|
||||||
status: string;
|
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
userId: string;
|
||||||
planId: string;
|
planId: string;
|
||||||
startDate: Date;
|
startDate: Date;
|
||||||
endDate: Date;
|
endDate: Date;
|
||||||
@@ -126,19 +126,21 @@ export declare class AdminPaymentsService {
|
|||||||
}) | null;
|
}) | null;
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
method: string;
|
||||||
userId: string;
|
userId: string;
|
||||||
|
currency: string;
|
||||||
|
amount: import("@prisma/client/runtime/library").Decimal;
|
||||||
subscriptionId: string | null;
|
subscriptionId: string | null;
|
||||||
invoiceNumber: string;
|
invoiceNumber: string;
|
||||||
amount: import("@prisma/client/runtime/library").Decimal;
|
|
||||||
currency: string;
|
|
||||||
method: string;
|
|
||||||
tripayReference: string | null;
|
tripayReference: string | null;
|
||||||
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
||||||
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
||||||
paymentChannel: string | null;
|
paymentChannel: string | null;
|
||||||
paymentUrl: string | null;
|
paymentUrl: string | null;
|
||||||
qrUrl: string | null;
|
qrUrl: string | null;
|
||||||
status: string;
|
|
||||||
proofImageUrl: string | null;
|
proofImageUrl: string | null;
|
||||||
transferDate: Date | null;
|
transferDate: Date | null;
|
||||||
verifiedBy: string | null;
|
verifiedBy: string | null;
|
||||||
@@ -149,24 +151,24 @@ export declare class AdminPaymentsService {
|
|||||||
notes: string | null;
|
notes: string | null;
|
||||||
expiresAt: Date | null;
|
expiresAt: Date | null;
|
||||||
paidAt: Date | null;
|
paidAt: Date | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}) | null>;
|
}) | null>;
|
||||||
verify(id: string, adminUserId: string): Promise<{
|
verify(id: string, adminUserId: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
method: string;
|
||||||
userId: string;
|
userId: string;
|
||||||
|
currency: string;
|
||||||
|
amount: import("@prisma/client/runtime/library").Decimal;
|
||||||
subscriptionId: string | null;
|
subscriptionId: string | null;
|
||||||
invoiceNumber: string;
|
invoiceNumber: string;
|
||||||
amount: import("@prisma/client/runtime/library").Decimal;
|
|
||||||
currency: string;
|
|
||||||
method: string;
|
|
||||||
tripayReference: string | null;
|
tripayReference: string | null;
|
||||||
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
||||||
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
||||||
paymentChannel: string | null;
|
paymentChannel: string | null;
|
||||||
paymentUrl: string | null;
|
paymentUrl: string | null;
|
||||||
qrUrl: string | null;
|
qrUrl: string | null;
|
||||||
status: string;
|
|
||||||
proofImageUrl: string | null;
|
proofImageUrl: string | null;
|
||||||
transferDate: Date | null;
|
transferDate: Date | null;
|
||||||
verifiedBy: string | null;
|
verifiedBy: string | null;
|
||||||
@@ -177,24 +179,24 @@ export declare class AdminPaymentsService {
|
|||||||
notes: string | null;
|
notes: string | null;
|
||||||
expiresAt: Date | null;
|
expiresAt: Date | null;
|
||||||
paidAt: Date | null;
|
paidAt: Date | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
reject(id: string, adminUserId: string, reason: string): Promise<{
|
reject(id: string, adminUserId: string, reason: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
|
status: string;
|
||||||
|
method: string;
|
||||||
userId: string;
|
userId: string;
|
||||||
|
currency: string;
|
||||||
|
amount: import("@prisma/client/runtime/library").Decimal;
|
||||||
subscriptionId: string | null;
|
subscriptionId: string | null;
|
||||||
invoiceNumber: string;
|
invoiceNumber: string;
|
||||||
amount: import("@prisma/client/runtime/library").Decimal;
|
|
||||||
currency: string;
|
|
||||||
method: string;
|
|
||||||
tripayReference: string | null;
|
tripayReference: string | null;
|
||||||
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
tripayFee: import("@prisma/client/runtime/library").Decimal | null;
|
||||||
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
totalAmount: import("@prisma/client/runtime/library").Decimal;
|
||||||
paymentChannel: string | null;
|
paymentChannel: string | null;
|
||||||
paymentUrl: string | null;
|
paymentUrl: string | null;
|
||||||
qrUrl: string | null;
|
qrUrl: string | null;
|
||||||
status: string;
|
|
||||||
proofImageUrl: string | null;
|
proofImageUrl: string | null;
|
||||||
transferDate: Date | null;
|
transferDate: Date | null;
|
||||||
verifiedBy: string | null;
|
verifiedBy: string | null;
|
||||||
@@ -205,8 +207,6 @@ export declare class AdminPaymentsService {
|
|||||||
notes: string | null;
|
notes: string | null;
|
||||||
expiresAt: Date | null;
|
expiresAt: Date | null;
|
||||||
paidAt: Date | null;
|
paidAt: Date | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
getPendingCount(): Promise<number>;
|
getPendingCount(): Promise<number>;
|
||||||
}
|
}
|
||||||
|
|||||||
30
apps/api/dist/admin/admin-plans.controller.d.ts
vendored
30
apps/api/dist/admin/admin-plans.controller.d.ts
vendored
@@ -8,11 +8,13 @@ export declare class AdminPlansController {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -29,8 +31,6 @@ export declare class AdminPlansController {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
})[]>;
|
})[]>;
|
||||||
findOne(id: string): Promise<({
|
findOne(id: string): Promise<({
|
||||||
_count: {
|
_count: {
|
||||||
@@ -38,11 +38,13 @@ export declare class AdminPlansController {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -59,16 +61,16 @@ export declare class AdminPlansController {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}) | null>;
|
}) | null>;
|
||||||
create(data: any): Promise<{
|
create(data: any): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -85,16 +87,16 @@ export declare class AdminPlansController {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
update(id: string, data: any): Promise<{
|
update(id: string, data: any): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -111,16 +113,16 @@ export declare class AdminPlansController {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
delete(id: string): Promise<{
|
delete(id: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -137,8 +139,6 @@ export declare class AdminPlansController {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
reorder(body: {
|
reorder(body: {
|
||||||
planIds: string[];
|
planIds: string[];
|
||||||
|
|||||||
30
apps/api/dist/admin/admin-plans.service.d.ts
vendored
30
apps/api/dist/admin/admin-plans.service.d.ts
vendored
@@ -8,11 +8,13 @@ export declare class AdminPlansService {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -29,8 +31,6 @@ export declare class AdminPlansService {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
})[]>;
|
})[]>;
|
||||||
findOne(id: string): Promise<({
|
findOne(id: string): Promise<({
|
||||||
_count: {
|
_count: {
|
||||||
@@ -38,11 +38,13 @@ export declare class AdminPlansService {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -59,16 +61,16 @@ export declare class AdminPlansService {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}) | null>;
|
}) | null>;
|
||||||
create(data: any): Promise<{
|
create(data: any): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -85,16 +87,16 @@ export declare class AdminPlansService {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
update(id: string, data: any): Promise<{
|
update(id: string, data: any): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -111,16 +113,16 @@ export declare class AdminPlansService {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
delete(id: string): Promise<{
|
delete(id: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
createdAt: Date;
|
||||||
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -137,8 +139,6 @@ export declare class AdminPlansService {
|
|||||||
maxTeamMembers: number | null;
|
maxTeamMembers: number | null;
|
||||||
apiEnabled: boolean;
|
apiEnabled: boolean;
|
||||||
apiRateLimit: number | null;
|
apiRateLimit: number | null;
|
||||||
createdAt: Date;
|
|
||||||
updatedAt: Date;
|
|
||||||
}>;
|
}>;
|
||||||
reorder(planIds: string[]): Promise<{
|
reorder(planIds: string[]): Promise<{
|
||||||
success: boolean;
|
success: boolean;
|
||||||
|
|||||||
20
apps/api/dist/admin/admin-users.controller.d.ts
vendored
20
apps/api/dist/admin/admin-users.controller.d.ts
vendored
@@ -4,8 +4,8 @@ export declare class AdminUsersController {
|
|||||||
constructor(service: AdminUsersService);
|
constructor(service: AdminUsersService);
|
||||||
findAll(search?: string): Promise<{
|
findAll(search?: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
createdAt: Date;
|
|
||||||
email: string;
|
email: string;
|
||||||
|
createdAt: Date;
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
role: string;
|
role: string;
|
||||||
@@ -28,10 +28,10 @@ export declare class AdminUsersController {
|
|||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -70,15 +70,15 @@ export declare class AdminUsersController {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
email: string;
|
||||||
|
phone: string | null;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
status: string;
|
status: string;
|
||||||
email: string;
|
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
passwordHash: string | null;
|
passwordHash: string | null;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
avatarUrl: string | null;
|
avatarUrl: string | null;
|
||||||
phone: string | null;
|
|
||||||
defaultCurrency: string | null;
|
defaultCurrency: string | null;
|
||||||
timeZone: string | null;
|
timeZone: string | null;
|
||||||
otpEmailEnabled: boolean;
|
otpEmailEnabled: boolean;
|
||||||
@@ -94,15 +94,15 @@ export declare class AdminUsersController {
|
|||||||
role: string;
|
role: string;
|
||||||
}): Promise<{
|
}): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
email: string;
|
||||||
|
phone: string | null;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
status: string;
|
status: string;
|
||||||
email: string;
|
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
passwordHash: string | null;
|
passwordHash: string | null;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
avatarUrl: string | null;
|
avatarUrl: string | null;
|
||||||
phone: string | null;
|
|
||||||
defaultCurrency: string | null;
|
defaultCurrency: string | null;
|
||||||
timeZone: string | null;
|
timeZone: string | null;
|
||||||
otpEmailEnabled: boolean;
|
otpEmailEnabled: boolean;
|
||||||
@@ -118,15 +118,15 @@ export declare class AdminUsersController {
|
|||||||
reason: string;
|
reason: string;
|
||||||
}): Promise<{
|
}): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
email: string;
|
||||||
|
phone: string | null;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
status: string;
|
status: string;
|
||||||
email: string;
|
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
passwordHash: string | null;
|
passwordHash: string | null;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
avatarUrl: string | null;
|
avatarUrl: string | null;
|
||||||
phone: string | null;
|
|
||||||
defaultCurrency: string | null;
|
defaultCurrency: string | null;
|
||||||
timeZone: string | null;
|
timeZone: string | null;
|
||||||
otpEmailEnabled: boolean;
|
otpEmailEnabled: boolean;
|
||||||
@@ -140,15 +140,15 @@ export declare class AdminUsersController {
|
|||||||
}>;
|
}>;
|
||||||
unsuspend(id: string): Promise<{
|
unsuspend(id: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
email: string;
|
||||||
|
phone: string | null;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
status: string;
|
status: string;
|
||||||
email: string;
|
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
passwordHash: string | null;
|
passwordHash: string | null;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
avatarUrl: string | null;
|
avatarUrl: string | null;
|
||||||
phone: string | null;
|
|
||||||
defaultCurrency: string | null;
|
defaultCurrency: string | null;
|
||||||
timeZone: string | null;
|
timeZone: string | null;
|
||||||
otpEmailEnabled: boolean;
|
otpEmailEnabled: boolean;
|
||||||
|
|||||||
20
apps/api/dist/admin/admin-users.service.d.ts
vendored
20
apps/api/dist/admin/admin-users.service.d.ts
vendored
@@ -4,8 +4,8 @@ export declare class AdminUsersService {
|
|||||||
constructor(prisma: PrismaService);
|
constructor(prisma: PrismaService);
|
||||||
findAll(search?: string): Promise<{
|
findAll(search?: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
createdAt: Date;
|
|
||||||
email: string;
|
email: string;
|
||||||
|
createdAt: Date;
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
role: string;
|
role: string;
|
||||||
@@ -23,10 +23,10 @@ export declare class AdminUsersService {
|
|||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
name: string;
|
name: string;
|
||||||
|
currency: string;
|
||||||
slug: string;
|
slug: string;
|
||||||
description: string | null;
|
description: string | null;
|
||||||
price: import("@prisma/client/runtime/library").Decimal;
|
price: import("@prisma/client/runtime/library").Decimal;
|
||||||
currency: string;
|
|
||||||
durationType: string;
|
durationType: string;
|
||||||
durationDays: number | null;
|
durationDays: number | null;
|
||||||
trialDays: number;
|
trialDays: number;
|
||||||
@@ -65,15 +65,15 @@ export declare class AdminUsersService {
|
|||||||
};
|
};
|
||||||
} & {
|
} & {
|
||||||
id: string;
|
id: string;
|
||||||
|
email: string;
|
||||||
|
phone: string | null;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
status: string;
|
status: string;
|
||||||
email: string;
|
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
passwordHash: string | null;
|
passwordHash: string | null;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
avatarUrl: string | null;
|
avatarUrl: string | null;
|
||||||
phone: string | null;
|
|
||||||
defaultCurrency: string | null;
|
defaultCurrency: string | null;
|
||||||
timeZone: string | null;
|
timeZone: string | null;
|
||||||
otpEmailEnabled: boolean;
|
otpEmailEnabled: boolean;
|
||||||
@@ -87,15 +87,15 @@ export declare class AdminUsersService {
|
|||||||
}) | null>;
|
}) | null>;
|
||||||
updateRole(id: string, role: string): Promise<{
|
updateRole(id: string, role: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
email: string;
|
||||||
|
phone: string | null;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
status: string;
|
status: string;
|
||||||
email: string;
|
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
passwordHash: string | null;
|
passwordHash: string | null;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
avatarUrl: string | null;
|
avatarUrl: string | null;
|
||||||
phone: string | null;
|
|
||||||
defaultCurrency: string | null;
|
defaultCurrency: string | null;
|
||||||
timeZone: string | null;
|
timeZone: string | null;
|
||||||
otpEmailEnabled: boolean;
|
otpEmailEnabled: boolean;
|
||||||
@@ -109,15 +109,15 @@ export declare class AdminUsersService {
|
|||||||
}>;
|
}>;
|
||||||
suspend(id: string, reason: string): Promise<{
|
suspend(id: string, reason: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
email: string;
|
||||||
|
phone: string | null;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
status: string;
|
status: string;
|
||||||
email: string;
|
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
passwordHash: string | null;
|
passwordHash: string | null;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
avatarUrl: string | null;
|
avatarUrl: string | null;
|
||||||
phone: string | null;
|
|
||||||
defaultCurrency: string | null;
|
defaultCurrency: string | null;
|
||||||
timeZone: string | null;
|
timeZone: string | null;
|
||||||
otpEmailEnabled: boolean;
|
otpEmailEnabled: boolean;
|
||||||
@@ -131,15 +131,15 @@ export declare class AdminUsersService {
|
|||||||
}>;
|
}>;
|
||||||
unsuspend(id: string): Promise<{
|
unsuspend(id: string): Promise<{
|
||||||
id: string;
|
id: string;
|
||||||
|
email: string;
|
||||||
|
phone: string | null;
|
||||||
createdAt: Date;
|
createdAt: Date;
|
||||||
updatedAt: Date;
|
updatedAt: Date;
|
||||||
status: string;
|
status: string;
|
||||||
email: string;
|
|
||||||
emailVerified: boolean;
|
emailVerified: boolean;
|
||||||
passwordHash: string | null;
|
passwordHash: string | null;
|
||||||
name: string | null;
|
name: string | null;
|
||||||
avatarUrl: string | null;
|
avatarUrl: string | null;
|
||||||
phone: string | null;
|
|
||||||
defaultCurrency: string | null;
|
defaultCurrency: string | null;
|
||||||
timeZone: string | null;
|
timeZone: string | null;
|
||||||
otpEmailEnabled: boolean;
|
otpEmailEnabled: boolean;
|
||||||
|
|||||||
2
apps/api/dist/tsconfig.build.tsbuildinfo
vendored
2
apps/api/dist/tsconfig.build.tsbuildinfo
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user