package models import ( "time" "github.com/google/uuid" ) type Expense struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` OutletID uuid.UUID `json:"outlet_id"` Receiver string `json:"receiver"` TransactionDate time.Time `json:"transaction_date"` CodeNumber string `json:"code_number"` ChartOfAccountID uuid.UUID `json:"chart_of_account_id"` Description *string `json:"description"` Tax float64 `json:"tax"` Total float64 `json:"total"` Reserved1 *string `json:"reserved1"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type ExpenseResponse struct { ID uuid.UUID `json:"id"` OrganizationID uuid.UUID `json:"organization_id"` OutletID uuid.UUID `json:"outlet_id"` Receiver string `json:"receiver"` TransactionDate time.Time `json:"transaction_date"` CodeNumber string `json:"code_number"` ChartOfAccountID uuid.UUID `json:"chart_of_account_id"` ChartOfAccountName string `json:"chart_of_account_name,omitempty"` Description *string `json:"description"` Tax float64 `json:"tax"` Total float64 `json:"total"` Reserved1 *string `json:"reserved1"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type CreateExpenseRequest struct { Receiver string `json:"receiver"` TransactionDate string `json:"transaction_date"` CodeNumber string `json:"code_number"` ChartOfAccountID string `json:"chart_of_account_id"` OutletID string `json:"outlet_id"` Description *string `json:"description"` Tax float64 `json:"tax"` Total float64 `json:"total"` } type UpdateExpenseRequest struct { Receiver *string `json:"receiver"` TransactionDate *string `json:"transaction_date"` CodeNumber *string `json:"code_number"` ChartOfAccountID *string `json:"chart_of_account_id"` OutletID *string `json:"outlet_id"` Description *string `json:"description"` Tax *float64 `json:"tax"` Total *float64 `json:"total"` Reserved1 *string `json:"reserved1"` } type ListExpenseRequest struct { Page int `json:"page"` Limit int `json:"limit"` Search string `json:"search,omitempty"` } type ListExpenseResponse struct { Expenses []*ExpenseResponse `json:"expenses"` TotalCount int `json:"total_count"` Page int `json:"page"` Limit int `json:"limit"` TotalPages int `json:"total_pages"` }