Files
ezbookkeeping/pkg/models/data_management.go

36 lines
1.8 KiB
Go

package models
// ClearDataRequest represents all parameters of clear user data request
type ClearDataRequest struct {
Password string `json:"password" binding:"omitempty,min=6,max=128"`
}
// ClearAccountTransactionsRequest represents all parameters of clear transaction data of a specific account request
type ClearAccountTransactionsRequest struct {
AccountId int64 `json:"accountId,string" binding:"required,min=1"`
Password string `json:"password" binding:"omitempty,min=6,max=128"`
}
// DataStatisticsResponse represents a view-object of user data statistic
type DataStatisticsResponse struct {
TotalAccountCount int64 `json:"totalAccountCount,string"`
TotalTransactionCategoryCount int64 `json:"totalTransactionCategoryCount,string"`
TotalTransactionTagCount int64 `json:"totalTransactionTagCount,string"`
TotalTransactionCount int64 `json:"totalTransactionCount,string"`
TotalTransactionPictureCount int64 `json:"totalTransactionPictureCount,string"`
TotalTransactionTemplateCount int64 `json:"totalTransactionTemplateCount,string"`
TotalScheduledTransactionCount int64 `json:"totalScheduledTransactionCount,string"`
}
// ExportTransactionDataRequest represents export transaction request
type ExportTransactionDataRequest struct {
Type TransactionType `form:"type" binding:"min=0,max=4"`
CategoryIds string `form:"category_ids"`
AccountIds string `form:"account_ids"`
TagFilter string `form:"tag_filter" binding:"validTagFilter"`
AmountFilter string `form:"amount_filter" binding:"validAmountFilter"`
Keyword string `form:"keyword"`
MaxTime int64 `form:"max_time" binding:"min=0"` // Unix timestamp in seconds
MinTime int64 `form:"min_time" binding:"min=0"` // Unix timestamp in seconds
}