package domain

import "time"

type Wallet struct {
	ID             int64
	Balance        Currency
	Currency       IntCurrency
	IsWithdraw     bool
	IsBettable     bool
	IsTransferable bool
	IsActive       bool
	UserID         int64
	UpdatedAt      time.Time
	CreatedAt      time.Time
}

type CustomerWallet struct {
	ID         int64
	RegularID  int64
	StaticID   int64
	CustomerID int64
}
type GetCustomerWallet struct {
	ID               int64
	RegularID        int64
	RegularBalance   Currency
	StaticID         int64
	StaticBalance    Currency
	CustomerID       int64
	RegularUpdatedAt time.Time
	StaticUpdatedAt  time.Time
	CreatedAt        time.Time
}

type BranchWallet struct {
	ID              int64
	Balance         Currency
	IsActive        bool
	Name            string
	Location        string
	BranchManagerID int64
	CompanyID       int64
	IsSelfOwned     bool
	UpdatedAt       time.Time
	CreatedAt       time.Time
}

type CreateWallet struct {
	IsWithdraw     bool
	IsBettable     bool
	IsTransferable bool
	UserID         int64
}

type CreateCustomerWallet struct {
	CustomerID      int64
	RegularWalletID int64
	StaticWalletID  int64
}
