53 lines
1.8 KiB
Go
53 lines
1.8 KiB
Go
package admindashboard
|
|
|
|
import "time"
|
|
|
|
type DashboardDTO struct {
|
|
Metrics MetricsDTO `json:"metrics"`
|
|
Pending PendingDTO `json:"pending"`
|
|
RecentOrders []RecentOrderDTO `json:"recent_orders"`
|
|
RecentDisputes []RecentDisputeDTO `json:"recent_disputes"`
|
|
GeneratedAt time.Time `json:"generated_at"`
|
|
}
|
|
|
|
type MetricsDTO struct {
|
|
TotalUsers int64 `json:"total_users"`
|
|
VerifiedUsers int64 `json:"verified_users"`
|
|
TotalListings int64 `json:"total_listings"`
|
|
PublishedListings int64 `json:"published_listings"`
|
|
TotalOrders int64 `json:"total_orders"`
|
|
RentingOrders int64 `json:"renting_orders"`
|
|
TodayOrders int64 `json:"today_orders"`
|
|
TodayLedgerAmountCent int64 `json:"today_ledger_amount_cent"`
|
|
}
|
|
|
|
type PendingDTO struct {
|
|
ListingReviews int64 `json:"listing_reviews"`
|
|
Disputes int64 `json:"disputes"`
|
|
PendingHandoffs int64 `json:"pending_handoffs"`
|
|
PendingReturnConfirms int64 `json:"pending_return_confirms"`
|
|
}
|
|
|
|
type RecentOrderDTO struct {
|
|
ID uint64 `json:"id"`
|
|
OrderNo string `json:"order_no"`
|
|
Title string `json:"title"`
|
|
RenterID uint64 `json:"renter_id"`
|
|
OwnerID uint64 `json:"owner_id"`
|
|
Status string `json:"status"`
|
|
RentAmountCent int64 `json:"rent_amount_cent"`
|
|
DepositAmountCent int64 `json:"deposit_amount_cent"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type RecentDisputeDTO struct {
|
|
ID uint64 `json:"id"`
|
|
OrderID uint64 `json:"order_id"`
|
|
OrderNo string `json:"order_no"`
|
|
Title string `json:"title"`
|
|
Type string `json:"type"`
|
|
Status string `json:"status"`
|
|
InitiatorID uint64 `json:"initiator_id"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|