Documentation
¶
Index ¶
- Constants
- type Account
- type AccountCategory
- type AccountCreateRequest
- type AccountDeleteRequest
- type AccountGetRequest
- type AccountHideRequest
- type AccountInfoResponse
- type AccountInfoResponseSlice
- type AccountListRequest
- type AccountModifyRequest
- type AccountMoveRequest
- type AccountNewDisplayOrderRequest
- type AccountType
- type AuthResponse
- type ClearDataRequest
- type DataStatisticsResponse
- type ForgetPasswordRequest
- type LatestExchangeRate
- type LatestExchangeRateResponse
- type LatestExchangeRateSlice
- type LongDateFormat
- type LongTimeFormat
- type PasswordResetRequest
- type RegisterResponse
- type ShortDateFormat
- type ShortTimeFormat
- type TokenInfoResponse
- type TokenInfoResponseSlice
- type TokenRecord
- type TokenRefreshResponse
- type TokenRevokeRequest
- type Transaction
- type TransactionAmountsRequest
- type TransactionAmountsRequestItem
- type TransactionAmountsResponseItem
- type TransactionAmountsResponseItemAmountInfo
- type TransactionAmountsResponseItemAmountInfoSlice
- type TransactionCategory
- type TransactionCategoryCreateBatchRequest
- type TransactionCategoryCreateRequest
- type TransactionCategoryCreateWithSubCategories
- type TransactionCategoryDeleteRequest
- type TransactionCategoryGetRequest
- type TransactionCategoryHideRequest
- type TransactionCategoryInfoResponse
- type TransactionCategoryInfoResponseSlice
- type TransactionCategoryListRequest
- type TransactionCategoryModifyRequest
- type TransactionCategoryMoveRequest
- type TransactionCategoryNewDisplayOrderRequest
- type TransactionCategoryType
- type TransactionCountRequest
- type TransactionCountResponse
- type TransactionCreateRequest
- type TransactionDbType
- type TransactionDeleteRequest
- type TransactionEditScope
- type TransactionGeoLocationRequest
- type TransactionGeoLocationResponse
- type TransactionGetRequest
- type TransactionInfoPageWrapperResponse
- type TransactionInfoPageWrapperResponse2
- type TransactionInfoResponse
- type TransactionInfoResponseSlice
- type TransactionListByMaxTimeRequest
- type TransactionListInMonthByPageRequest
- type TransactionModifyRequest
- type TransactionMonthAmountsResponseItem
- type TransactionStatisticRequest
- type TransactionStatisticResponse
- type TransactionStatisticResponseItem
- type TransactionTag
- type TransactionTagCreateRequest
- type TransactionTagDeleteRequest
- type TransactionTagGetRequest
- type TransactionTagHideRequest
- type TransactionTagIndex
- type TransactionTagInfoResponse
- type TransactionTagInfoResponseSlice
- type TransactionTagModifyRequest
- type TransactionTagMoveRequest
- type TransactionTagNewDisplayOrderRequest
- type TransactionType
- type TwoFactor
- type TwoFactorDisableRequest
- type TwoFactorEnableConfirmRequest
- type TwoFactorEnableConfirmResponse
- type TwoFactorEnableResponse
- type TwoFactorLoginRequest
- type TwoFactorRecoveryCode
- type TwoFactorRecoveryCodeLoginRequest
- type TwoFactorRegenerateRecoveryCodeRequest
- type TwoFactorStatusResponse
- type User
- type UserBasicInfo
- type UserLoginRequest
- type UserProfileResponse
- type UserProfileUpdateRequest
- type UserProfileUpdateResponse
- type UserRegisterRequest
- type UserResendVerifyEmailRequest
- type UserVerifyEmailRequest
- type UserVerifyEmailResponse
- type WeekDay
- type YearMonthRangeRequest
Constants ¶
const LevelOneAccountParentId = 0
LevelOneAccountParentId represents the parent id of level-one account
const LevelOneTransactionParentId = 0
LevelOneTransactionParentId represents the parent id of level-one transaction category
const TokenMaxUserAgentLength = 255
TokenMaxUserAgentLength represents the maximum size of user agent stored in database
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct {
AccountId int64 `xorm:"PK"`
Uid int64 `xorm:"INDEX(IDX_account_uid_deleted_parent_account_id_order) NOT NULL"`
Deleted bool `xorm:"INDEX(IDX_account_uid_deleted_parent_account_id_order) NOT NULL"`
Category AccountCategory `xorm:"NOT NULL"`
OpenDate int64 `xorm:""`
ExpirationDate int64 `xorm:""`
Type AccountType `xorm:"NOT NULL"`
ParentAccountId int64 `xorm:"INDEX(IDX_account_uid_deleted_parent_account_id_order) NOT NULL"`
Name string `xorm:"VARCHAR(32) NOT NULL"`
DisplayOrder int32 `xorm:"INDEX(IDX_account_uid_deleted_parent_account_id_order) NOT NULL"`
Icon int64 `xorm:"NOT NULL"`
Color string `xorm:"VARCHAR(6) NOT NULL"`
Currency string `xorm:"VARCHAR(3) NOT NULL"`
Balance int64 `xorm:"NOT NULL"`
Comment string `xorm:"VARCHAR(255) NOT NULL"`
Hidden bool `xorm:"NOT NULL"`
CreatedUnixTime int64
UpdatedUnixTime int64
DeletedUnixTime int64
}
Account represents account data stored in database
func (*Account) ToAccountInfoResponse ¶
func (a *Account) ToAccountInfoResponse() *AccountInfoResponse
ToAccountInfoResponse returns a view-object according to database model
type AccountCategory ¶
type AccountCategory byte
AccountCategory represents account category
const ( ACCOUNT_CATEGORY_CASH AccountCategory = 1 ACCOUNT_CATEGORY_DEBIT_CARD AccountCategory = 2 ACCOUNT_CATEGORY_CREDIT_CARD AccountCategory = 3 ACCOUNT_CATEGORY_VIRTUAL AccountCategory = 4 ACCOUNT_CATEGORY_DEBT AccountCategory = 5 ACCOUNT_CATEGORY_RECEIVABLES AccountCategory = 6 ACCOUNT_CATEGORY_INVESTMENT AccountCategory = 7 ACCOUNT_CATEGORY_SAVING AccountCategory = 8 )
Account categories
type AccountCreateRequest ¶
type AccountCreateRequest struct {
Name string `json:"name" binding:"required,notBlank,max=32"`
Category AccountCategory `json:"category" binding:"required"`
Type AccountType `json:"type" binding:"required"`
OpenDate int64 `json:"openDate"`
ExpirationDate int64 `json:"expirationDate"`
Icon int64 `json:"icon,string" binding:"required,min=1"`
Color string `json:"color" binding:"required,len=6,validHexRGBColor"`
Currency string `json:"currency" binding:"required,len=3,validCurrency"`
Balance int64 `json:"balance"`
Comment string `json:"comment" binding:"max=255"`
SubAccounts []*AccountCreateRequest `json:"subAccounts" binding:"omitempty"`
}
AccountCreateRequest represents all parameters of account creation request
type AccountDeleteRequest ¶
type AccountDeleteRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
}
AccountDeleteRequest represents all parameters of account deleting request
type AccountGetRequest ¶
type AccountGetRequest struct {
Id int64 `form:"id,string" binding:"required,min=1"`
}
AccountGetRequest represents all parameters of account getting request
type AccountHideRequest ¶
type AccountHideRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
Hidden bool `json:"hidden"`
}
AccountHideRequest represents all parameters of account hiding request
type AccountInfoResponse ¶
type AccountInfoResponse struct {
Id int64 `json:"id,string"`
Name string `json:"name"`
ParentId int64 `json:"parentId,string"`
Category AccountCategory `json:"category"`
Type AccountType `json:"type"`
OpenDate int64 `json:"openDate"`
ExpirationDate int64 `json:"expirationDate"`
Icon int64 `json:"icon,string"`
Color string `json:"color"`
Currency string `json:"currency"`
Balance int64 `json:"balance"`
Comment string `json:"comment"`
DisplayOrder int32 `json:"displayOrder"`
IsAsset bool `json:"isAsset,omitempty"`
IsLiability bool `json:"isLiability,omitempty"`
Hidden bool `json:"hidden"`
SubAccounts AccountInfoResponseSlice `json:"subAccounts,omitempty"`
}
AccountInfoResponse represents a view-object of account
type AccountInfoResponseSlice ¶
type AccountInfoResponseSlice []*AccountInfoResponse
AccountInfoResponseSlice represents the slice data structure of AccountInfoResponse
func (AccountInfoResponseSlice) Len ¶
func (a AccountInfoResponseSlice) Len() int
Len returns the count of items
func (AccountInfoResponseSlice) Less ¶
func (a AccountInfoResponseSlice) Less(i, j int) bool
Less reports whether the first item is less than the second one
func (AccountInfoResponseSlice) Swap ¶
func (a AccountInfoResponseSlice) Swap(i, j int)
Swap swaps two items
type AccountListRequest ¶
type AccountListRequest struct {
VisibleOnly bool `form:"visible_only"`
}
AccountListRequest represents all parameters of account listing request
type AccountModifyRequest ¶
type AccountModifyRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
Name string `json:"name" binding:"required,notBlank,max=32"`
Category AccountCategory `json:"category" binding:"required"`
Icon int64 `json:"icon,string" binding:"min=1"`
OpenDate int64 `json:"openDate"`
ExpirationDate int64 `json:"expirationDate"`
Color string `json:"color" binding:"required,len=6,validHexRGBColor"`
Comment string `json:"comment" binding:"max=255"`
Hidden bool `json:"hidden"`
SubAccounts []*AccountModifyRequest `json:"subAccounts" binding:"omitempty"`
}
AccountModifyRequest represents all parameters of account modification request
type AccountMoveRequest ¶
type AccountMoveRequest struct {
NewDisplayOrders []*AccountNewDisplayOrderRequest `json:"newDisplayOrders"`
}
AccountMoveRequest represents all parameters of account moving request
type AccountNewDisplayOrderRequest ¶
type AccountNewDisplayOrderRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
DisplayOrder int32 `json:"displayOrder"`
}
AccountNewDisplayOrderRequest represents a data pair of id and display order
type AccountType ¶
type AccountType byte
AccountType represents account type
const ( ACCOUNT_TYPE_SINGLE_ACCOUNT AccountType = 1 ACCOUNT_TYPE_MULTI_SUB_ACCOUNTS AccountType = 2 )
Account types
type AuthResponse ¶
type AuthResponse struct {
Token string `json:"token"`
Need2FA bool `json:"need2FA"`
User *UserBasicInfo `json:"user"`
}
AuthResponse returns a view-object of user authorization
type ClearDataRequest ¶
type ClearDataRequest struct {
Password string `json:"password" binding:"omitempty,min=6,max=128"`
}
ClearDataRequest represents all parameters of clear user data request
type DataStatisticsResponse ¶
type DataStatisticsResponse struct {
TotalAccountCount int64 `json:"totalAccountCount,string"`
TotalTransactionCategoryCount int64 `json:"totalTransactionCategoryCount,string"`
TotalTransactionTagCount int64 `json:"totalTransactionTagCount,string"`
TotalTransactionCount int64 `json:"totalTransactionCount,string"`
}
DataStatisticsResponse represents a view-object of user data statistic
type ForgetPasswordRequest ¶
type ForgetPasswordRequest struct {
Email string `json:"email" binding:"required,notBlank,max=100,validEmail"`
}
ForgetPasswordRequest represents all parameters of forget password request
type LatestExchangeRate ¶
LatestExchangeRate represents a data pair of currency and exchange rate
type LatestExchangeRateResponse ¶
type LatestExchangeRateResponse struct {
DataSource string `json:"dataSource"`
ReferenceUrl string `json:"referenceUrl"`
UpdateTime int64 `json:"updateTime"`
BaseCurrency string `json:"baseCurrency"`
ExchangeRates LatestExchangeRateSlice `json:"exchangeRates"`
}
LatestExchangeRateResponse returns a view-object which contains latest exchange rate
type LatestExchangeRateSlice ¶
type LatestExchangeRateSlice []*LatestExchangeRate
LatestExchangeRateSlice represents the slice data structure of LatestExchangeRate
func (LatestExchangeRateSlice) Len ¶
func (s LatestExchangeRateSlice) Len() int
Len returns the count of items
func (LatestExchangeRateSlice) Less ¶
func (s LatestExchangeRateSlice) Less(i, j int) bool
Less reports whether the first item is less than the second one
func (LatestExchangeRateSlice) Swap ¶
func (s LatestExchangeRateSlice) Swap(i, j int)
Swap swaps two items
type LongDateFormat ¶
type LongDateFormat byte
LongDateFormat represents long date format
const ( LONG_DATE_FORMAT_DEFAULT LongDateFormat = 0 LONG_DATE_FORMAT_YYYY_M_D LongDateFormat = 1 LONG_DATE_FORMAT_M_D_YYYY LongDateFormat = 2 LONG_DATE_FORMAT_D_M_YYYY LongDateFormat = 3 LONG_DATE_FORMAT_INVALID LongDateFormat = 255 )
Long Date Format
func (LongDateFormat) String ¶
func (f LongDateFormat) String() string
String returns a textual representation of the long date format enum
type LongTimeFormat ¶
type LongTimeFormat byte
LongTimeFormat represents long time format
const ( LONG_TIME_FORMAT_DEFAULT LongTimeFormat = 0 LONG_TIME_FORMAT_HH_MM_SS LongTimeFormat = 1 LONG_TIME_FORMAT_A_HH_MM_SS LongTimeFormat = 2 LONG_TIME_FORMAT_HH_MM_SS_A LongTimeFormat = 3 LONG_TIME_FORMAT_INVALID LongTimeFormat = 255 )
Long Time Format
func (LongTimeFormat) String ¶
func (f LongTimeFormat) String() string
String returns a textual representation of the long time format enum
type PasswordResetRequest ¶
type PasswordResetRequest struct {
Email string `json:"email" binding:"required,notBlank,max=100,validEmail"`
Password string `json:"password" binding:"required,min=6,max=128"`
}
PasswordResetRequest represents all parameters of reset password request
type RegisterResponse ¶
type RegisterResponse struct {
AuthResponse
NeedVerifyEmail bool `json:"needVerifyEmail"`
PresetCategoriesSaved bool `json:"presetCategoriesSaved"`
}
RegisterResponse returns a view-object of user register response
type ShortDateFormat ¶
type ShortDateFormat byte
ShortDateFormat represents short date format
const ( SHORT_DATE_FORMAT_DEFAULT ShortDateFormat = 0 SHORT_DATE_FORMAT_YYYY_M_D ShortDateFormat = 1 SHORT_DATE_FORMAT_M_D_YYYY ShortDateFormat = 2 SHORT_DATE_FORMAT_D_M_YYYY ShortDateFormat = 3 SHORT_DATE_FORMAT_INVALID ShortDateFormat = 255 )
Short Date Format
func (ShortDateFormat) String ¶
func (f ShortDateFormat) String() string
String returns a textual representation of the short date format enum
type ShortTimeFormat ¶
type ShortTimeFormat byte
ShortTimeFormat represents short time format
const ( SHORT_TIME_FORMAT_DEFAULT ShortTimeFormat = 0 SHORT_TIME_FORMAT_HH_MM ShortTimeFormat = 1 SHORT_TIME_FORMAT_A_HH_MM ShortTimeFormat = 2 SHORT_TIME_FORMAT_HH_MM_A ShortTimeFormat = 3 SHORT_TIME_FORMAT_INVALID ShortTimeFormat = 255 )
Short Time Format
func (ShortTimeFormat) String ¶
func (f ShortTimeFormat) String() string
String returns a textual representation of the short time format enum
type TokenInfoResponse ¶
type TokenInfoResponse struct {
TokenId string `json:"tokenId"`
TokenType core.TokenType `json:"tokenType"`
UserAgent string `json:"userAgent"`
CreatedAt int64 `json:"createdAt"`
ExpiredAt int64 `json:"expiredAt"`
IsCurrent bool `json:"isCurrent"`
}
TokenInfoResponse represents a view-object of token
type TokenInfoResponseSlice ¶
type TokenInfoResponseSlice []*TokenInfoResponse
TokenInfoResponseSlice represents the slice data structure of TokenInfoResponse
func (TokenInfoResponseSlice) Len ¶
func (a TokenInfoResponseSlice) Len() int
Len returns the count of items
func (TokenInfoResponseSlice) Less ¶
func (a TokenInfoResponseSlice) Less(i, j int) bool
Less reports whether the first item is less than the second one
func (TokenInfoResponseSlice) Swap ¶
func (a TokenInfoResponseSlice) Swap(i, j int)
Swap swaps two items
type TokenRecord ¶
type TokenRecord struct {
Uid int64 `xorm:"PK INDEX(IDX_token_record_uid_type_expired_time)"`
UserTokenId int64 `xorm:"PK"`
TokenType core.TokenType `xorm:"INDEX(IDX_token_record_uid_type_expired_time) TINYINT NOT NULL"`
Secret string `xorm:"VARCHAR(10) NOT NULL"`
UserAgent string `xorm:"VARCHAR(255)"`
CreatedUnixTime int64 `xorm:"PK"`
ExpiredUnixTime int64 `xorm:"INDEX(IDX_token_record_uid_type_expired_time)"`
}
TokenRecord represents token data stored in database
type TokenRefreshResponse ¶
type TokenRefreshResponse struct {
NewToken string `json:"newToken"`
OldTokenId string `json:"oldTokenId"`
User *UserBasicInfo `json:"user"`
}
TokenRefreshResponse represents all parameters of token refreshing request
type TokenRevokeRequest ¶
type TokenRevokeRequest struct {
TokenId string `json:"tokenId" binding:"required,notBlank"`
}
TokenRevokeRequest represents all parameters of token revoking request
type Transaction ¶
type Transaction struct {
TransactionId int64 `xorm:"PK"`
Uid int64 `` /* 295-byte string literal not displayed */
Deleted bool `` /* 262-byte string literal not displayed */
Type TransactionDbType `xorm:"INDEX(IDX_transaction_uid_deleted_type_time) NOT NULL"`
CategoryId int64 `xorm:"INDEX(IDX_transaction_uid_deleted_category_id_time) NOT NULL"`
AccountId int64 `xorm:"INDEX(IDX_transaction_uid_deleted_account_id_time) NOT NULL"`
TransactionTime int64 `` /* 236-byte string literal not displayed */
TimezoneUtcOffset int16 `xorm:"NOT NULL"`
Amount int64 `xorm:"NOT NULL"`
RelatedId int64 `xorm:"NOT NULL"`
RelatedAccountId int64 `xorm:"NOT NULL"`
RelatedAccountAmount int64 `xorm:"NOT NULL"`
HideAmount bool `xorm:"NOT NULL"`
Comment string `xorm:"VARCHAR(255) NOT NULL"`
GeoLongitude float64 `xorm:"INDEX(IDX_transaction_uid_deleted_time_longitude_latitude)"`
GeoLatitude float64 `xorm:"INDEX(IDX_transaction_uid_deleted_time_longitude_latitude)"`
CreatedIp string `xorm:"VARCHAR(39)"`
CreatedUnixTime int64
UpdatedUnixTime int64
DeletedUnixTime int64
}
Transaction represents transaction data stored in database
func (*Transaction) IsEditable ¶
func (t *Transaction) IsEditable(currentUser *User, utcOffset int16, account *Account, relatedAccount *Account) bool
IsEditable returns whether this transaction can be edited
func (*Transaction) ToTransactionInfoResponse ¶
func (t *Transaction) ToTransactionInfoResponse(tagIds []int64, editable bool) *TransactionInfoResponse
ToTransactionInfoResponse returns a view-object according to database model
type TransactionAmountsRequest ¶
type TransactionAmountsRequest struct {
Query string `form:"query"`
UseTransactionTimezone bool `form:"use_transaction_timezone"`
}
TransactionAmountsRequest represents all parameters of transaction amounts request
func (*TransactionAmountsRequest) GetTransactionAmountsRequestItems ¶
func (t *TransactionAmountsRequest) GetTransactionAmountsRequestItems() ([]*TransactionAmountsRequestItem, error)
GetTransactionAmountsRequestItems returns request items by query parameters
type TransactionAmountsRequestItem ¶
TransactionAmountsRequestItem represents an item of transaction amounts request
type TransactionAmountsResponseItem ¶
type TransactionAmountsResponseItem struct {
StartTime int64 `json:"startTime"`
EndTime int64 `json:"endTime"`
Amounts []*TransactionAmountsResponseItemAmountInfo `json:"amounts"`
}
TransactionAmountsResponseItem represents an item of transaction amounts
type TransactionAmountsResponseItemAmountInfo ¶
type TransactionAmountsResponseItemAmountInfo struct {
Currency string `json:"currency"`
IncomeAmount int64 `json:"incomeAmount"`
ExpenseAmount int64 `json:"expenseAmount"`
}
TransactionAmountsResponseItemAmountInfo represents amount info for an response item
type TransactionAmountsResponseItemAmountInfoSlice ¶
type TransactionAmountsResponseItemAmountInfoSlice []*TransactionAmountsResponseItemAmountInfo
TransactionAmountsResponseItemAmountInfoSlice represents the slice data structure of TransactionAmountsResponseItemAmountInfo
func (TransactionAmountsResponseItemAmountInfoSlice) Len ¶
func (s TransactionAmountsResponseItemAmountInfoSlice) Len() int
Len returns the count of items
func (TransactionAmountsResponseItemAmountInfoSlice) Less ¶
func (s TransactionAmountsResponseItemAmountInfoSlice) Less(i, j int) bool
Less reports whether the first item is less than the second one
func (TransactionAmountsResponseItemAmountInfoSlice) Swap ¶
func (s TransactionAmountsResponseItemAmountInfoSlice) Swap(i, j int)
Swap swaps two items
type TransactionCategory ¶
type TransactionCategory struct {
CategoryId int64 `xorm:"PK"`
Uid int64 `xorm:"INDEX(IDX_category_uid_deleted_type_parent_category_id_order) NOT NULL"`
Deleted bool `xorm:"INDEX(IDX_category_uid_deleted_type_parent_category_id_order) NOT NULL"`
Type TransactionCategoryType `xorm:"INDEX(IDX_category_uid_deleted_type_parent_category_id_order) NOT NULL"`
ParentCategoryId int64 `xorm:"INDEX(IDX_category_uid_deleted_type_parent_category_id_order) NOT NULL"`
Name string `xorm:"VARCHAR(32) NOT NULL"`
DisplayOrder int32 `xorm:"INDEX(IDX_category_uid_deleted_type_parent_category_id_order) NOT NULL"`
Icon int64 `xorm:"NOT NULL"`
Color string `xorm:"VARCHAR(6) NOT NULL"`
Hidden bool `xorm:"NOT NULL"`
Comment string `xorm:"VARCHAR(255) NOT NULL"`
CreatedUnixTime int64
UpdatedUnixTime int64
DeletedUnixTime int64
}
TransactionCategory represents transaction category data stored in database
func (*TransactionCategory) ToTransactionCategoryInfoResponse ¶
func (c *TransactionCategory) ToTransactionCategoryInfoResponse() *TransactionCategoryInfoResponse
ToTransactionCategoryInfoResponse returns a view-object according to database model
type TransactionCategoryCreateBatchRequest ¶
type TransactionCategoryCreateBatchRequest struct {
Categories []*TransactionCategoryCreateWithSubCategories `json:"categories" binding:"required"`
}
TransactionCategoryCreateBatchRequest represents all parameters of transaction category batch creation request
type TransactionCategoryCreateRequest ¶
type TransactionCategoryCreateRequest struct {
Name string `json:"name" binding:"required,notBlank,max=32"`
Type TransactionCategoryType `json:"type" binding:"required"`
ParentId int64 `json:"parentId,string" binding:"min=0"`
Icon int64 `json:"icon,string" binding:"min=1"`
Color string `json:"color" binding:"required,len=6,validHexRGBColor"`
Comment string `json:"comment" binding:"max=255"`
}
TransactionCategoryCreateRequest represents all parameters of single transaction category creation request
type TransactionCategoryCreateWithSubCategories ¶
type TransactionCategoryCreateWithSubCategories struct {
Name string `json:"name" binding:"required,notBlank,max=32"`
Type TransactionCategoryType `json:"type" binding:"required"`
Icon int64 `json:"icon,string" binding:"min=1"`
Color string `json:"color" binding:"required,len=6,validHexRGBColor"`
Comment string `json:"comment" binding:"max=255"`
SubCategories []*TransactionCategoryCreateRequest `json:"subCategories" binding:"required"`
}
TransactionCategoryCreateWithSubCategories represents all parameters of multi transaction categories creation request
type TransactionCategoryDeleteRequest ¶
type TransactionCategoryDeleteRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
}
TransactionCategoryDeleteRequest represents all parameters of transaction category deleting request
type TransactionCategoryGetRequest ¶
type TransactionCategoryGetRequest struct {
Id int64 `form:"id,string" binding:"required,min=1"`
}
TransactionCategoryGetRequest represents all parameters of transaction category getting request
type TransactionCategoryHideRequest ¶
type TransactionCategoryHideRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
Hidden bool `json:"hidden"`
}
TransactionCategoryHideRequest represents all parameters of transaction category hiding request
type TransactionCategoryInfoResponse ¶
type TransactionCategoryInfoResponse struct {
Id int64 `json:"id,string"`
Name string `json:"name"`
ParentId int64 `json:"parentId,string"`
Type TransactionCategoryType `json:"type"`
Icon int64 `json:"icon,string"`
Color string `json:"color"`
Comment string `json:"comment"`
DisplayOrder int32 `json:"displayOrder"`
Hidden bool `json:"hidden"`
SubCategories TransactionCategoryInfoResponseSlice `json:"subCategories,omitempty"`
}
TransactionCategoryInfoResponse represents a view-object of transaction category
type TransactionCategoryInfoResponseSlice ¶
type TransactionCategoryInfoResponseSlice []*TransactionCategoryInfoResponse
TransactionCategoryInfoResponseSlice represents the slice data structure of TransactionCategoryInfoResponse
func (TransactionCategoryInfoResponseSlice) Len ¶
func (s TransactionCategoryInfoResponseSlice) Len() int
Len returns the count of items
func (TransactionCategoryInfoResponseSlice) Less ¶
func (s TransactionCategoryInfoResponseSlice) Less(i, j int) bool
Less reports whether the first item is less than the second one
func (TransactionCategoryInfoResponseSlice) Swap ¶
func (s TransactionCategoryInfoResponseSlice) Swap(i, j int)
Swap swaps two items
type TransactionCategoryListRequest ¶
type TransactionCategoryListRequest struct {
Type TransactionCategoryType `form:"type" binding:"min=0"`
ParentId int64 `form:"parent_id,string,default=-1" binding:"min=-1"`
}
TransactionCategoryListRequest represents all parameters of transaction category listing request
type TransactionCategoryModifyRequest ¶
type TransactionCategoryModifyRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
Name string `json:"name" binding:"required,notBlank,max=32"`
Icon int64 `json:"icon,string" binding:"min=1"`
Color string `json:"color" binding:"required,len=6,validHexRGBColor"`
Comment string `json:"comment" binding:"max=255"`
Hidden bool `json:"hidden"`
}
TransactionCategoryModifyRequest represents all parameters of transaction category modification request
type TransactionCategoryMoveRequest ¶
type TransactionCategoryMoveRequest struct {
NewDisplayOrders []*TransactionCategoryNewDisplayOrderRequest `json:"newDisplayOrders"`
}
TransactionCategoryMoveRequest represents all parameters of transaction category moving request
type TransactionCategoryNewDisplayOrderRequest ¶
type TransactionCategoryNewDisplayOrderRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
DisplayOrder int32 `json:"displayOrder"`
}
TransactionCategoryNewDisplayOrderRequest represents a data pair of id and display order
type TransactionCategoryType ¶
type TransactionCategoryType byte
TransactionCategoryType represents transaction category type
const ( CATEGORY_TYPE_INCOME TransactionCategoryType = 1 CATEGORY_TYPE_EXPENSE TransactionCategoryType = 2 CATEGORY_TYPE_TRANSFER TransactionCategoryType = 3 )
Transaction category types
type TransactionCountRequest ¶
type TransactionCountRequest struct {
Type TransactionDbType `form:"type" binding:"min=0,max=4"`
CategoryId int64 `form:"category_id" binding:"min=0"`
AccountId int64 `form:"account_id" binding:"min=0"`
Keyword string `form:"keyword"`
MaxTime int64 `form:"max_time" binding:"min=0"`
MinTime int64 `form:"min_time" binding:"min=0"`
}
TransactionCountRequest represents transaction count request
type TransactionCountResponse ¶
type TransactionCountResponse struct {
TotalCount int64 `json:"totalCount"`
}
TransactionCountResponse represents transaction count response
type TransactionCreateRequest ¶
type TransactionCreateRequest struct {
Type TransactionType `json:"type" binding:"required"`
CategoryId int64 `json:"categoryId,string"`
Time int64 `json:"time" binding:"required,min=1"`
UtcOffset int16 `json:"utcOffset" binding:"min=-720,max=840"`
SourceAccountId int64 `json:"sourceAccountId,string" binding:"required,min=1"`
DestinationAccountId int64 `json:"destinationAccountId,string" binding:"min=0"`
SourceAmount int64 `json:"sourceAmount" binding:"min=-99999999999,max=99999999999"`
DestinationAmount int64 `json:"destinationAmount" binding:"min=-99999999999,max=99999999999"`
HideAmount bool `json:"hideAmount"`
TagIds []string `json:"tagIds"`
Comment string `json:"comment" binding:"max=255"`
GeoLocation *TransactionGeoLocationRequest `json:"geoLocation" binding:"omitempty"`
}
TransactionCreateRequest represents all parameters of transaction creation request
type TransactionDbType ¶
type TransactionDbType byte
TransactionDbType represents transaction type in database
const ( TRANSACTION_DB_TYPE_MODIFY_BALANCE TransactionDbType = 1 TRANSACTION_DB_TYPE_INCOME TransactionDbType = 2 TRANSACTION_DB_TYPE_EXPENSE TransactionDbType = 3 TRANSACTION_DB_TYPE_TRANSFER_OUT TransactionDbType = 4 TRANSACTION_DB_TYPE_TRANSFER_IN TransactionDbType = 5 )
Transaction db types
type TransactionDeleteRequest ¶
type TransactionDeleteRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
}
TransactionDeleteRequest represents all parameters of transaction deleting request
type TransactionEditScope ¶
type TransactionEditScope byte
TransactionEditScope represents the scope which transaction can be edited
const ( TRANSACTION_EDIT_SCOPE_NONE TransactionEditScope = 0 TRANSACTION_EDIT_SCOPE_ALL TransactionEditScope = 1 TRANSACTION_EDIT_SCOPE_TODAY_OR_LATER TransactionEditScope = 2 TRANSACTION_EDIT_SCOPE_LAST_24H_OR_LATER TransactionEditScope = 3 TRANSACTION_EDIT_SCOPE_THIS_WEEK_OR_LATER TransactionEditScope = 4 TRANSACTION_EDIT_SCOPE_THIS_MONTH_OR_LATER TransactionEditScope = 5 TRANSACTION_EDIT_SCOPE_THIS_YEAR_OR_LATER TransactionEditScope = 6 TRANSACTION_EDIT_SCOPE_INVALID TransactionEditScope = 255 )
Editable Transaction Ranges
func (TransactionEditScope) String ¶
func (s TransactionEditScope) String() string
String returns a textual representation of the editable transaction ranges enum
type TransactionGeoLocationRequest ¶
type TransactionGeoLocationRequest struct {
Latitude float64 `json:"latitude" binding:"required"`
Longitude float64 `json:"longitude" binding:"required"`
}
TransactionGeoLocationRequest represents all parameters of transaction geographic location info update request
type TransactionGeoLocationResponse ¶
type TransactionGeoLocationResponse struct {
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
}
TransactionGeoLocationResponse represents a view-object of transaction geographic location info
type TransactionGetRequest ¶
type TransactionGetRequest struct {
Id int64 `form:"id,string" binding:"required,min=1"`
TrimAccount bool `form:"trim_account"`
TrimCategory bool `form:"trim_category"`
TrimTag bool `form:"trim_tag"`
}
TransactionGetRequest represents all parameters of transaction getting request
type TransactionInfoPageWrapperResponse ¶
type TransactionInfoPageWrapperResponse struct {
Items TransactionInfoResponseSlice `json:"items"`
NextTimeSequenceId *int64 `json:"nextTimeSequenceId,string"`
TotalCount *int64 `json:"totalCount,omitempty"`
}
TransactionInfoPageWrapperResponse represents a response of transaction which contains items and next id
type TransactionInfoPageWrapperResponse2 ¶
type TransactionInfoPageWrapperResponse2 struct {
Items TransactionInfoResponseSlice `json:"items"`
TotalCount int64 `json:"totalCount"`
}
TransactionInfoPageWrapperResponse2 represents a response of transaction which contains items and count
type TransactionInfoResponse ¶
type TransactionInfoResponse struct {
Id int64 `json:"id,string"`
TimeSequenceId int64 `json:"timeSequenceId,string"`
Type TransactionType `json:"type"`
CategoryId int64 `json:"categoryId,string"`
Category *TransactionCategoryInfoResponse `json:"category,omitempty"`
Time int64 `json:"time"`
UtcOffset int16 `json:"utcOffset"`
SourceAccountId int64 `json:"sourceAccountId,string"`
SourceAccount *AccountInfoResponse `json:"sourceAccount,omitempty"`
DestinationAccountId int64 `json:"destinationAccountId,string,omitempty"`
DestinationAccount *AccountInfoResponse `json:"destinationAccount,omitempty"`
SourceAmount int64 `json:"sourceAmount"`
DestinationAmount int64 `json:"destinationAmount,omitempty"`
HideAmount bool `json:"hideAmount"`
TagIds []string `json:"tagIds"`
Tags []*TransactionTagInfoResponse `json:"tags,omitempty"`
Comment string `json:"comment"`
GeoLocation *TransactionGeoLocationResponse `json:"geoLocation,omitempty"`
Editable bool `json:"editable"`
}
TransactionInfoResponse represents a view-object of transaction
type TransactionInfoResponseSlice ¶
type TransactionInfoResponseSlice []*TransactionInfoResponse
TransactionInfoResponseSlice represents the slice data structure of TransactionInfoResponse
func (TransactionInfoResponseSlice) Len ¶
func (s TransactionInfoResponseSlice) Len() int
Len returns the count of items
func (TransactionInfoResponseSlice) Less ¶
func (s TransactionInfoResponseSlice) Less(i, j int) bool
Less reports whether the first item is less than the second one
func (TransactionInfoResponseSlice) Swap ¶
func (s TransactionInfoResponseSlice) Swap(i, j int)
Swap swaps two items
type TransactionListByMaxTimeRequest ¶
type TransactionListByMaxTimeRequest struct {
Type TransactionDbType `form:"type" binding:"min=0,max=4"`
CategoryId int64 `form:"category_id" binding:"min=0"`
AccountId int64 `form:"account_id" binding:"min=0"`
Keyword string `form:"keyword"`
MaxTime int64 `form:"max_time" binding:"min=0"`
MinTime int64 `form:"min_time" binding:"min=0"`
Page int32 `form:"page" binding:"min=0"`
Count int32 `form:"count" binding:"required,min=1,max=50"`
WithCount bool `form:"with_count"`
TrimAccount bool `form:"trim_account"`
TrimCategory bool `form:"trim_category"`
TrimTag bool `form:"trim_tag"`
}
TransactionListByMaxTimeRequest represents all parameters of transaction listing by max time request
type TransactionListInMonthByPageRequest ¶
type TransactionListInMonthByPageRequest struct {
Year int32 `form:"year" binding:"required,min=1"`
Month int32 `form:"month" binding:"required,min=1"`
Type TransactionDbType `form:"type" binding:"min=0,max=4"`
CategoryId int64 `form:"category_id" binding:"min=0"`
AccountId int64 `form:"account_id" binding:"min=0"`
Keyword string `form:"keyword"`
TrimAccount bool `form:"trim_account"`
TrimCategory bool `form:"trim_category"`
TrimTag bool `form:"trim_tag"`
}
TransactionListInMonthByPageRequest represents all parameters of transaction listing by month request
type TransactionModifyRequest ¶
type TransactionModifyRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
CategoryId int64 `json:"categoryId,string"`
Time int64 `json:"time" binding:"required,min=1"`
UtcOffset int16 `json:"utcOffset" binding:"min=-720,max=840"`
SourceAccountId int64 `json:"sourceAccountId,string" binding:"required,min=1"`
DestinationAccountId int64 `json:"destinationAccountId,string" binding:"min=0"`
SourceAmount int64 `json:"sourceAmount" binding:"min=-99999999999,max=99999999999"`
DestinationAmount int64 `json:"destinationAmount" binding:"min=-99999999999,max=99999999999"`
HideAmount bool `json:"hideAmount"`
TagIds []string `json:"tagIds"`
Comment string `json:"comment" binding:"max=255"`
GeoLocation *TransactionGeoLocationRequest `json:"geoLocation" binding:"omitempty"`
}
TransactionModifyRequest represents all parameters of transaction modification request
type TransactionMonthAmountsResponseItem ¶
type TransactionMonthAmountsResponseItem struct {
Year int32 `json:"year"`
Month int32 `json:"month"`
Amounts []*TransactionAmountsResponseItemAmountInfo `json:"amounts"`
}
TransactionMonthAmountsResponseItem represents an item of transaction month amounts
type TransactionStatisticRequest ¶
type TransactionStatisticRequest struct {
StartTime int64 `form:"start_time" binding:"min=0"`
EndTime int64 `form:"end_time" binding:"min=0"`
UseTransactionTimezone bool `form:"use_transaction_timezone"`
}
TransactionStatisticRequest represents all parameters of transaction statistic request
type TransactionStatisticResponse ¶
type TransactionStatisticResponse struct {
StartTime int64 `json:"startTime"`
EndTime int64 `json:"endTime"`
Items []*TransactionStatisticResponseItem `json:"items"`
}
TransactionStatisticResponse represents an item of transaction amounts
type TransactionStatisticResponseItem ¶
type TransactionStatisticResponseItem struct {
CategoryId int64 `json:"categoryId,string"`
AccountId int64 `json:"accountId,string"`
TotalAmount int64 `json:"amount"`
}
TransactionStatisticResponseItem represents total amount item for an response
type TransactionTag ¶
type TransactionTag struct {
TagId int64 `xorm:"PK"`
Uid int64 `xorm:"INDEX(IDX_tag_uid_deleted_name) NOT NULL"`
Deleted bool `xorm:"INDEX(IDX_tag_uid_deleted_name) NOT NULL"`
Name string `xorm:"INDEX(IDX_tag_uid_deleted_name) VARCHAR(32) NOT NULL"`
DisplayOrder int32 `xorm:"NOT NULL"`
Hidden bool `xorm:"NOT NULL"`
CreatedUnixTime int64
UpdatedUnixTime int64
DeletedUnixTime int64
}
TransactionTag represents transaction tag data stored in database
func (*TransactionTag) ToTransactionTagInfoResponse ¶
func (t *TransactionTag) ToTransactionTagInfoResponse() *TransactionTagInfoResponse
ToTransactionTagInfoResponse returns a view-object according to database model
type TransactionTagCreateRequest ¶
type TransactionTagCreateRequest struct {
Name string `json:"name" binding:"required,notBlank,max=32"`
}
TransactionTagCreateRequest represents all parameters of transaction tag creation request
type TransactionTagDeleteRequest ¶
type TransactionTagDeleteRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
}
TransactionTagDeleteRequest represents all parameters of transaction tag deleting request
type TransactionTagGetRequest ¶
type TransactionTagGetRequest struct {
Id int64 `form:"id,string" binding:"required,min=1"`
}
TransactionTagGetRequest represents all parameters of transaction tag getting request
type TransactionTagHideRequest ¶
type TransactionTagHideRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
Hidden bool `json:"hidden"`
}
TransactionTagHideRequest represents all parameters of transaction tag hiding request
type TransactionTagIndex ¶
type TransactionTagIndex struct {
TagIndexId int64 `xorm:"PK"`
Uid int64 `` /* 202-byte string literal not displayed */
Deleted bool `` /* 211-byte string literal not displayed */
TagId int64 `` /* 142-byte string literal not displayed */
TransactionId int64 `` /* 133-byte string literal not displayed */
TransactionTime int64 `xorm:"INDEX(IDX_transaction_tag_index_uid_deleted_tag_id_transaction_time) NOT NULL"`
CreatedUnixTime int64
UpdatedUnixTime int64
DeletedUnixTime int64
}
TransactionTagIndex represents transaction and transaction tag relation stored in database
type TransactionTagInfoResponse ¶
type TransactionTagInfoResponse struct {
Id int64 `json:"id,string"`
Name string `json:"name"`
DisplayOrder int32 `json:"displayOrder"`
Hidden bool `json:"hidden"`
}
TransactionTagInfoResponse represents a view-object of transaction tag
type TransactionTagInfoResponseSlice ¶
type TransactionTagInfoResponseSlice []*TransactionTagInfoResponse
TransactionTagInfoResponseSlice represents the slice data structure of TransactionTagInfoResponse
func (TransactionTagInfoResponseSlice) Len ¶
func (s TransactionTagInfoResponseSlice) Len() int
Len returns the count of items
func (TransactionTagInfoResponseSlice) Less ¶
func (s TransactionTagInfoResponseSlice) Less(i, j int) bool
Less reports whether the first item is less than the second one
func (TransactionTagInfoResponseSlice) Swap ¶
func (s TransactionTagInfoResponseSlice) Swap(i, j int)
Swap swaps two items
type TransactionTagModifyRequest ¶
type TransactionTagModifyRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
Name string `json:"name" binding:"required,notBlank,max=32"`
}
TransactionTagModifyRequest represents all parameters of transaction tag modification request
type TransactionTagMoveRequest ¶
type TransactionTagMoveRequest struct {
NewDisplayOrders []*TransactionTagNewDisplayOrderRequest `json:"newDisplayOrders"`
}
TransactionTagMoveRequest represents all parameters of transaction tag moving request
type TransactionTagNewDisplayOrderRequest ¶
type TransactionTagNewDisplayOrderRequest struct {
Id int64 `json:"id,string" binding:"required,min=1"`
DisplayOrder int32 `json:"displayOrder"`
}
TransactionTagNewDisplayOrderRequest represents a data pair of id and display order
type TransactionType ¶
type TransactionType byte
TransactionType represents transaction type
const ( TRANSACTION_TYPE_MODIFY_BALANCE TransactionType = 1 TRANSACTION_TYPE_INCOME TransactionType = 2 TRANSACTION_TYPE_EXPENSE TransactionType = 3 TRANSACTION_TYPE_TRANSFER TransactionType = 4 )
Transaction types
type TwoFactor ¶
type TwoFactor struct {
Uid int64 `xorm:"PK"`
Secret string `xorm:"VARCHAR(80) NOT NULL"`
CreatedUnixTime int64
}
TwoFactor represents user 2fa data stored in database
type TwoFactorDisableRequest ¶
type TwoFactorDisableRequest struct {
Password string `json:"password" binding:"omitempty,min=6,max=128"`
}
TwoFactorDisableRequest represents all parameters of 2fa disabling request
type TwoFactorEnableConfirmRequest ¶
type TwoFactorEnableConfirmRequest struct {
Secret string `json:"secret" binding:"required,notBlank,len=32"`
Passcode string `json:"passcode" binding:"required,notBlank,len=6"`
}
TwoFactorEnableConfirmRequest represents all parameters of 2fa confirm request
type TwoFactorEnableConfirmResponse ¶
type TwoFactorEnableConfirmResponse struct {
Token string `json:"token,omitempty"`
RecoveryCodes []string `json:"recoveryCodes"`
}
TwoFactorEnableConfirmResponse represents all response parameters after user have enabled 2fa
type TwoFactorEnableResponse ¶
TwoFactorEnableResponse represents all response parameters when user requests to enable 2fa
type TwoFactorLoginRequest ¶
type TwoFactorLoginRequest struct {
Passcode string `json:"passcode" binding:"required,notBlank,len=6"`
}
TwoFactorLoginRequest represents all parameters of 2fa login request
type TwoFactorRecoveryCode ¶
type TwoFactorRecoveryCode struct {
Uid int64 `xorm:"PK"`
RecoveryCode string `xorm:"VARCHAR(64) PK"`
Used bool `xorm:"NOT NULL"`
CreatedUnixTime int64
UsedUnixTime int64
}
TwoFactorRecoveryCode represents user 2fa recovery codes stored in database
type TwoFactorRecoveryCodeLoginRequest ¶
type TwoFactorRecoveryCodeLoginRequest struct {
RecoveryCode string `json:"recoveryCode" binding:"required,notBlank,len=11"`
}
TwoFactorRecoveryCodeLoginRequest represents all parameters of 2fa login request via recovery code
type TwoFactorRegenerateRecoveryCodeRequest ¶
type TwoFactorRegenerateRecoveryCodeRequest struct {
Password string `json:"password" binding:"omitempty,min=6,max=128"`
}
TwoFactorRegenerateRecoveryCodeRequest represents all parameters of 2fa regenerating recovery codes request
type TwoFactorStatusResponse ¶
type TwoFactorStatusResponse struct {
Enable bool `json:"enable"`
CreatedAt int64 `json:"createdAt,omitempty"`
}
TwoFactorStatusResponse represents a view-object of 2fa status
type User ¶
type User struct {
Uid int64 `xorm:"PK"`
Username string `xorm:"VARCHAR(32) UNIQUE NOT NULL"`
Email string `xorm:"VARCHAR(100) UNIQUE NOT NULL"`
Nickname string `xorm:"VARCHAR(64) NOT NULL"`
Password string `xorm:"VARCHAR(64) NOT NULL"`
Salt string `xorm:"VARCHAR(10) NOT NULL"`
DefaultAccountId int64
TransactionEditScope TransactionEditScope `xorm:"TINYINT NOT NULL"`
Language string `xorm:"VARCHAR(10)"`
DefaultCurrency string `xorm:"VARCHAR(3) NOT NULL"`
FirstDayOfWeek WeekDay `xorm:"TINYINT NOT NULL"`
LongDateFormat LongDateFormat `xorm:"TINYINT"`
ShortDateFormat ShortDateFormat `xorm:"TINYINT"`
LongTimeFormat LongTimeFormat `xorm:"TINYINT"`
ShortTimeFormat ShortTimeFormat `xorm:"TINYINT"`
Disabled bool
Deleted bool `xorm:"NOT NULL"`
EmailVerified bool `xorm:"NOT NULL"`
CreatedUnixTime int64
UpdatedUnixTime int64
DeletedUnixTime int64
LastLoginUnixTime int64
}
User represents user data stored in database
func (*User) CanEditTransactionByTransactionTime ¶
CanEditTransactionByTransactionTime returns whether this user can edit transaction with specified transaction time
func (*User) ToUserBasicInfo ¶
func (u *User) ToUserBasicInfo() *UserBasicInfo
ToUserBasicInfo returns a user basic view-object according to database model
func (*User) ToUserProfileResponse ¶
func (u *User) ToUserProfileResponse() *UserProfileResponse
ToUserProfileResponse returns a user profile view-object according to database model
type UserBasicInfo ¶
type UserBasicInfo struct {
Username string `json:"username"`
Email string `json:"email"`
Nickname string `json:"nickname"`
AvatarUrl string `json:"avatar"`
AvatarProvider string `json:"avatarProvider,omitempty"`
DefaultAccountId int64 `json:"defaultAccountId,string"`
TransactionEditScope TransactionEditScope `json:"transactionEditScope"`
Language string `json:"language"`
DefaultCurrency string `json:"defaultCurrency"`
FirstDayOfWeek WeekDay `json:"firstDayOfWeek"`
LongDateFormat LongDateFormat `json:"longDateFormat"`
ShortDateFormat ShortDateFormat `json:"shortDateFormat"`
LongTimeFormat LongTimeFormat `json:"longTimeFormat"`
ShortTimeFormat ShortTimeFormat `json:"shortTimeFormat"`
EmailVerified bool `json:"emailVerified"`
}
UserBasicInfo represents a view-object of user basic info
type UserLoginRequest ¶
type UserLoginRequest struct {
LoginName string `json:"loginName" binding:"required,notBlank,max=100,validUsername|validEmail"`
Password string `json:"password" binding:"required,min=6,max=128"`
}
UserLoginRequest represents all parameters of user login request
type UserProfileResponse ¶
type UserProfileResponse struct {
Username string `json:"username"`
Email string `json:"email"`
Nickname string `json:"nickname"`
AvatarUrl string `json:"avatar"`
AvatarProvider string `json:"avatarProvider,omitempty"`
DefaultAccountId int64 `json:"defaultAccountId,string"`
TransactionEditScope TransactionEditScope `json:"transactionEditScope"`
Language string `json:"language"`
DefaultCurrency string `json:"defaultCurrency"`
FirstDayOfWeek WeekDay `json:"firstDayOfWeek"`
LongDateFormat LongDateFormat `json:"longDateFormat"`
ShortDateFormat ShortDateFormat `json:"shortDateFormat"`
LongTimeFormat LongTimeFormat `json:"longTimeFormat"`
ShortTimeFormat ShortTimeFormat `json:"shortTimeFormat"`
EmailVerified bool `json:"emailVerified"`
LastLoginAt int64 `json:"lastLoginAt"`
}
UserProfileResponse represents a view-object of user profile
type UserProfileUpdateRequest ¶
type UserProfileUpdateRequest struct {
Email string `json:"email" binding:"omitempty,notBlank,max=100,validEmail"`
Nickname string `json:"nickname" binding:"omitempty,notBlank,max=64"`
Password string `json:"password" binding:"omitempty,min=6,max=128"`
OldPassword string `json:"oldPassword" binding:"omitempty,min=6,max=128"`
DefaultAccountId int64 `json:"defaultAccountId,string" binding:"omitempty,min=1"`
TransactionEditScope *TransactionEditScope `json:"transactionEditScope" binding:"omitempty,min=0,max=7"`
Language string `json:"language" binding:"omitempty,min=2,max=16"`
DefaultCurrency string `json:"defaultCurrency" binding:"omitempty,len=3,validCurrency"`
FirstDayOfWeek *WeekDay `json:"firstDayOfWeek" binding:"omitempty,min=0,max=6"`
LongDateFormat *LongDateFormat `json:"longDateFormat" binding:"omitempty,min=0,max=3"`
ShortDateFormat *ShortDateFormat `json:"shortDateFormat" binding:"omitempty,min=0,max=3"`
LongTimeFormat *LongTimeFormat `json:"longTimeFormat" binding:"omitempty,min=0,max=3"`
ShortTimeFormat *ShortTimeFormat `json:"shortTimeFormat" binding:"omitempty,min=0,max=3"`
}
UserProfileUpdateRequest represents all parameters of user updating profile request
type UserProfileUpdateResponse ¶
type UserProfileUpdateResponse struct {
User *UserBasicInfo `json:"user"`
NewToken string `json:"newToken,omitempty"`
}
UserProfileUpdateResponse represents the data returns to frontend after updating profile
type UserRegisterRequest ¶
type UserRegisterRequest struct {
Username string `json:"username" binding:"required,notBlank,max=32,validUsername"`
Email string `json:"email" binding:"required,notBlank,max=100,validEmail"`
Nickname string `json:"nickname" binding:"required,notBlank,max=64"`
Password string `json:"password" binding:"required,min=6,max=128"`
Language string `json:"language" binding:"required,min=2,max=16"`
DefaultCurrency string `json:"defaultCurrency" binding:"required,len=3,validCurrency"`
FirstDayOfWeek WeekDay `json:"firstDayOfWeek" binding:"min=0,max=6"`
TransactionCategoryCreateBatchRequest
}
UserRegisterRequest represents all parameters of user registering request
type UserResendVerifyEmailRequest ¶
type UserResendVerifyEmailRequest struct {
Email string `json:"email" binding:"omitempty,max=100,validEmail"`
Password string `json:"password" binding:"omitempty,min=6,max=128"`
}
UserResendVerifyEmailRequest represents all parameters of user resend verify email request
type UserVerifyEmailRequest ¶
type UserVerifyEmailRequest struct {
RequestNewToken bool `json:"requestNewToken" binding:"omitempty"`
}
UserVerifyEmailRequest represents all parameters of user verify email request
type UserVerifyEmailResponse ¶
type UserVerifyEmailResponse struct {
NewToken string `json:"newToken,omitempty"`
User *UserBasicInfo `json:"user"`
}
UserVerifyEmailResponse represents all response parameters after user have verified email
type WeekDay ¶
type WeekDay byte
WeekDay represents week day
type YearMonthRangeRequest ¶
type YearMonthRangeRequest struct {
StartYearMonth string `form:"start_year_month"`
EndYearMonth string `form:"end_year_month"`
}
YearMonthRangeRequest represents all parameters of a request with year and month range
func (*YearMonthRangeRequest) GetStartTimeAndEndTime ¶
func (t *YearMonthRangeRequest) GetStartTimeAndEndTime(utcOffset int16) (int64, int64, error)
GetStartTimeAndEndTime returns start unix time and end unix time by request parameter