mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-20 01:34:24 +08:00
verify currency
This commit is contained in:
@@ -141,6 +141,11 @@ func (a *AccountsApi) AccountCreateHandler(c *core.Context) (interface{}, *errs.
|
|||||||
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] account cannot have any sub accounts")
|
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] account cannot have any sub accounts")
|
||||||
return nil, errs.ErrAccountCannotHaveSubAccounts
|
return nil, errs.ErrAccountCannotHaveSubAccounts
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if accountCreateReq.Currency == validators.ParentAccountCurrencyPlaceholder {
|
||||||
|
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] account cannot set currency placeholder")
|
||||||
|
return nil, errs.ErrAccountCurrencyInvalid
|
||||||
|
}
|
||||||
} else if accountCreateReq.Type == models.ACCOUNT_TYPE_MULTI_SUB_ACCOUNTS {
|
} else if accountCreateReq.Type == models.ACCOUNT_TYPE_MULTI_SUB_ACCOUNTS {
|
||||||
if len(accountCreateReq.SubAccounts) < 1 {
|
if len(accountCreateReq.SubAccounts) < 1 {
|
||||||
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] account does not have any sub accounts")
|
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] account does not have any sub accounts")
|
||||||
@@ -169,6 +174,11 @@ func (a *AccountsApi) AccountCreateHandler(c *core.Context) (interface{}, *errs.
|
|||||||
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] sub account type invalid")
|
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] sub account type invalid")
|
||||||
return nil, errs.ErrSubAccountTypeInvalid
|
return nil, errs.ErrSubAccountTypeInvalid
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if subAccount.Currency == validators.ParentAccountCurrencyPlaceholder {
|
||||||
|
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] sub account cannot set currency placeholder")
|
||||||
|
return nil, errs.ErrAccountCurrencyInvalid
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] account type invalid, type is %d", accountCreateReq.Type)
|
log.WarnfWithRequestId(c, "[accounts.AccountCreateHandler] account type invalid, type is %d", accountCreateReq.Type)
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
"github.com/mayswind/lab/pkg/models"
|
"github.com/mayswind/lab/pkg/models"
|
||||||
"github.com/mayswind/lab/pkg/services"
|
"github.com/mayswind/lab/pkg/services"
|
||||||
"github.com/mayswind/lab/pkg/settings"
|
"github.com/mayswind/lab/pkg/settings"
|
||||||
|
"github.com/mayswind/lab/pkg/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// UsersApi represents user api
|
// UsersApi represents user api
|
||||||
@@ -40,6 +41,11 @@ func (a *UsersApi) UserRegisterHandler(c *core.Context) (interface{}, *errs.Erro
|
|||||||
return nil, errs.NewIncompleteOrIncorrectSubmissionError(err)
|
return nil, errs.NewIncompleteOrIncorrectSubmissionError(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if userRegisterReq.DefaultCurrency == validators.ParentAccountCurrencyPlaceholder {
|
||||||
|
log.WarnfWithRequestId(c, "[users.UserRegisterHandler] user default currency is invalid")
|
||||||
|
return nil, errs.ErrUserDefaultCurrencyIsInvalid
|
||||||
|
}
|
||||||
|
|
||||||
userRegisterReq.Username = strings.TrimSpace(userRegisterReq.Username)
|
userRegisterReq.Username = strings.TrimSpace(userRegisterReq.Username)
|
||||||
userRegisterReq.Email = strings.TrimSpace(userRegisterReq.Email)
|
userRegisterReq.Email = strings.TrimSpace(userRegisterReq.Email)
|
||||||
userRegisterReq.Nickname = strings.TrimSpace(userRegisterReq.Nickname)
|
userRegisterReq.Nickname = strings.TrimSpace(userRegisterReq.Nickname)
|
||||||
|
|||||||
+11
-10
@@ -7,14 +7,15 @@ var (
|
|||||||
ErrAccountIdInvalid = NewNormalError(NormalSubcategoryAccount, 0, http.StatusBadRequest, "account id is invalid")
|
ErrAccountIdInvalid = NewNormalError(NormalSubcategoryAccount, 0, http.StatusBadRequest, "account id is invalid")
|
||||||
ErrAccountNotFound = NewNormalError(NormalSubcategoryAccount, 1, http.StatusBadRequest, "account not found")
|
ErrAccountNotFound = NewNormalError(NormalSubcategoryAccount, 1, http.StatusBadRequest, "account not found")
|
||||||
ErrAccountTypeInvalid = NewNormalError(NormalSubcategoryAccount, 2, http.StatusBadRequest, "account type is invalid")
|
ErrAccountTypeInvalid = NewNormalError(NormalSubcategoryAccount, 2, http.StatusBadRequest, "account type is invalid")
|
||||||
ErrAccountHaveNoSubAccount = NewNormalError(NormalSubcategoryAccount, 3, http.StatusBadRequest, "account must have at least one sub account")
|
ErrAccountCurrencyInvalid = NewNormalError(NormalSubcategoryAccount, 3, http.StatusBadRequest, "account currency is invalid")
|
||||||
ErrAccountCannotHaveSubAccounts = NewNormalError(NormalSubcategoryAccount, 4, http.StatusBadRequest, "account cannot have sub accounts")
|
ErrAccountHaveNoSubAccount = NewNormalError(NormalSubcategoryAccount, 4, http.StatusBadRequest, "account must have at least one sub account")
|
||||||
ErrParentAccountCannotSetCurrency = NewNormalError(NormalSubcategoryAccount, 5, http.StatusBadRequest, "parent account cannot set currency")
|
ErrAccountCannotHaveSubAccounts = NewNormalError(NormalSubcategoryAccount, 5, http.StatusBadRequest, "account cannot have sub accounts")
|
||||||
ErrParentAccountCannotSetBalance = NewNormalError(NormalSubcategoryAccount, 6, http.StatusBadRequest, "parent account cannot set balance")
|
ErrParentAccountCannotSetCurrency = NewNormalError(NormalSubcategoryAccount, 6, http.StatusBadRequest, "parent account cannot set currency")
|
||||||
ErrSubAccountCategoryNotEqualsToParent = NewNormalError(NormalSubcategoryAccount, 7, http.StatusBadRequest, "sub account category not equals to parent")
|
ErrParentAccountCannotSetBalance = NewNormalError(NormalSubcategoryAccount, 7, http.StatusBadRequest, "parent account cannot set balance")
|
||||||
ErrSubAccountTypeInvalid = NewNormalError(NormalSubcategoryAccount, 8, http.StatusBadRequest, "sub account type invalid")
|
ErrSubAccountCategoryNotEqualsToParent = NewNormalError(NormalSubcategoryAccount, 8, http.StatusBadRequest, "sub account category not equals to parent")
|
||||||
ErrCannotAddOrDeleteSubAccountsWhenModify = NewNormalError(NormalSubcategoryAccount, 9, http.StatusBadRequest, "cannot add or delete sub accounts when modify account")
|
ErrSubAccountTypeInvalid = NewNormalError(NormalSubcategoryAccount, 9, http.StatusBadRequest, "sub account type invalid")
|
||||||
ErrSourceAccountNotFound = NewNormalError(NormalSubcategoryAccount, 10, http.StatusBadRequest, "source account not found")
|
ErrCannotAddOrDeleteSubAccountsWhenModify = NewNormalError(NormalSubcategoryAccount, 10, http.StatusBadRequest, "cannot add or delete sub accounts when modify account")
|
||||||
ErrDestinationAccountNotFound = NewNormalError(NormalSubcategoryAccount, 11, http.StatusBadRequest, "destination account not found")
|
ErrSourceAccountNotFound = NewNormalError(NormalSubcategoryAccount, 11, http.StatusBadRequest, "source account not found")
|
||||||
ErrAccountInUseCannotBeDeleted = NewNormalError(NormalSubcategoryAccount, 12, http.StatusBadRequest, "account is in use and cannot be deleted")
|
ErrDestinationAccountNotFound = NewNormalError(NormalSubcategoryAccount, 12, http.StatusBadRequest, "destination account not found")
|
||||||
|
ErrAccountInUseCannotBeDeleted = NewNormalError(NormalSubcategoryAccount, 13, http.StatusBadRequest, "account is in use and cannot be deleted")
|
||||||
)
|
)
|
||||||
|
|||||||
+15
-12
@@ -6,16 +6,19 @@ import (
|
|||||||
|
|
||||||
// Error codes related to users
|
// Error codes related to users
|
||||||
var (
|
var (
|
||||||
ErrLoginNameInvalid = NewNormalError(NormalSubcategoryUser, 0, http.StatusUnauthorized, "login name is invalid")
|
ErrLoginNameInvalid = NewNormalError(NormalSubcategoryUser, 0, http.StatusUnauthorized, "login name is invalid")
|
||||||
ErrLoginNameOrPasswordInvalid = NewNormalError(NormalSubcategoryUser, 1, http.StatusUnauthorized, "login name or password is invalid")
|
ErrLoginNameOrPasswordInvalid = NewNormalError(NormalSubcategoryUser, 1, http.StatusUnauthorized, "login name or password is invalid")
|
||||||
ErrLoginNameOrPasswordWrong = NewNormalError(NormalSubcategoryUser, 2, http.StatusUnauthorized, "login name or password is wrong")
|
ErrLoginNameOrPasswordWrong = NewNormalError(NormalSubcategoryUser, 2, http.StatusUnauthorized, "login name or password is wrong")
|
||||||
ErrUserIdInvalid = NewNormalError(NormalSubcategoryUser, 3, http.StatusBadRequest, "user id is invalid")
|
ErrUserIdInvalid = NewNormalError(NormalSubcategoryUser, 3, http.StatusBadRequest, "user id is invalid")
|
||||||
ErrUsernameIsEmpty = NewNormalError(NormalSubcategoryUser, 4, http.StatusBadRequest, "username is empty")
|
ErrUsernameIsEmpty = NewNormalError(NormalSubcategoryUser, 4, http.StatusBadRequest, "username is empty")
|
||||||
ErrEmailIsEmpty = NewNormalError(NormalSubcategoryUser, 5, http.StatusBadRequest, "email is empty")
|
ErrEmailIsEmpty = NewNormalError(NormalSubcategoryUser, 5, http.StatusBadRequest, "email is empty")
|
||||||
ErrPasswordIsEmpty = NewNormalError(NormalSubcategoryUser, 6, http.StatusBadRequest, "password is empty")
|
ErrNicknameIsEmpty = NewNormalError(NormalSubcategoryUser, 6, http.StatusBadRequest, "nickname is empty")
|
||||||
ErrUserNotFound = NewNormalError(NormalSubcategoryUser, 7, http.StatusBadRequest, "user not found")
|
ErrPasswordIsEmpty = NewNormalError(NormalSubcategoryUser, 7, http.StatusBadRequest, "password is empty")
|
||||||
ErrUserPasswordWrong = NewNormalError(NormalSubcategoryUser, 8, http.StatusBadRequest, "password is wrong")
|
ErrUserDefaultCurrencyIsEmpty = NewNormalError(NormalSubcategoryUser, 8, http.StatusBadRequest, "user default currency is empty")
|
||||||
ErrUsernameAlreadyExists = NewNormalError(NormalSubcategoryUser, 9, http.StatusBadRequest, "username already exists")
|
ErrUserDefaultCurrencyIsInvalid = NewNormalError(NormalSubcategoryUser, 9, http.StatusBadRequest, "user default currency is invalid")
|
||||||
ErrUserEmailAlreadyExists = NewNormalError(NormalSubcategoryUser, 10, http.StatusBadRequest, "email already exists")
|
ErrUserNotFound = NewNormalError(NormalSubcategoryUser, 10, http.StatusBadRequest, "user not found")
|
||||||
ErrUserRegistrationNotAllowed = NewNormalError(NormalSubcategoryUser, 11, http.StatusBadRequest, "user registration not allowed")
|
ErrUserPasswordWrong = NewNormalError(NormalSubcategoryUser, 11, http.StatusBadRequest, "password is wrong")
|
||||||
|
ErrUsernameAlreadyExists = NewNormalError(NormalSubcategoryUser, 12, http.StatusBadRequest, "username already exists")
|
||||||
|
ErrUserEmailAlreadyExists = NewNormalError(NormalSubcategoryUser, 13, http.StatusBadRequest, "email already exists")
|
||||||
|
ErrUserRegistrationNotAllowed = NewNormalError(NormalSubcategoryUser, 14, http.StatusBadRequest, "user registration not allowed")
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -495,7 +495,10 @@ export default {
|
|||||||
'user id is invalid': 'User ID is invalid',
|
'user id is invalid': 'User ID is invalid',
|
||||||
'username is empty': 'Username is empty',
|
'username is empty': 'Username is empty',
|
||||||
'email is empty': 'Email is empty',
|
'email is empty': 'Email is empty',
|
||||||
|
'nickname is empty': 'Nickname is empty',
|
||||||
'password is empty': 'Password is empty',
|
'password is empty': 'Password is empty',
|
||||||
|
'user default currency is empty': 'User default currency is empty',
|
||||||
|
'user default currency is invalid': 'User default currency is invalid',
|
||||||
'user not found': 'User not found',
|
'user not found': 'User not found',
|
||||||
'password is wrong': 'Password is wrong',
|
'password is wrong': 'Password is wrong',
|
||||||
'username already exists': 'Username already exists',
|
'username already exists': 'Username already exists',
|
||||||
@@ -523,6 +526,7 @@ export default {
|
|||||||
'account id is invalid': 'Account ID is invalid',
|
'account id is invalid': 'Account ID is invalid',
|
||||||
'account not found': 'Account is not found',
|
'account not found': 'Account is not found',
|
||||||
'account type is invalid': 'Account type is invalid',
|
'account type is invalid': 'Account type is invalid',
|
||||||
|
'account currency is invalid': 'Account currency is invalid',
|
||||||
'account must have at least one sub account': 'Account must have at least one sub account',
|
'account must have at least one sub account': 'Account must have at least one sub account',
|
||||||
'account cannot have sub accounts': 'Account cannot have sub accounts',
|
'account cannot have sub accounts': 'Account cannot have sub accounts',
|
||||||
'parent account cannot set currency': 'Parent account cannot set currency',
|
'parent account cannot set currency': 'Parent account cannot set currency',
|
||||||
|
|||||||
@@ -495,7 +495,10 @@ export default {
|
|||||||
'user id is invalid': '用户ID无效',
|
'user id is invalid': '用户ID无效',
|
||||||
'username is empty': '用户名为空',
|
'username is empty': '用户名为空',
|
||||||
'email is empty': '电子邮箱为空',
|
'email is empty': '电子邮箱为空',
|
||||||
|
'nickname is empty': '用户昵称为空',
|
||||||
'password is empty': '密码为空',
|
'password is empty': '密码为空',
|
||||||
|
'user default currency is empty': '用户默认货币为空',
|
||||||
|
'user default currency is invalid': '用户默认货币无效',
|
||||||
'user not found': '找不到该用户',
|
'user not found': '找不到该用户',
|
||||||
'password is wrong': '密码错误',
|
'password is wrong': '密码错误',
|
||||||
'username already exists': '用户名已经存在',
|
'username already exists': '用户名已经存在',
|
||||||
@@ -523,6 +526,7 @@ export default {
|
|||||||
'account id is invalid': '账户ID无效',
|
'account id is invalid': '账户ID无效',
|
||||||
'account not found': '账户不存在',
|
'account not found': '账户不存在',
|
||||||
'account type is invalid': '账户类型无效',
|
'account type is invalid': '账户类型无效',
|
||||||
|
'account currency is invalid': '账户货币无效',
|
||||||
'account must have at least one sub account': '账户必须包含至少一个子账户',
|
'account must have at least one sub account': '账户必须包含至少一个子账户',
|
||||||
'account cannot have sub accounts': '账户不能包含子账户',
|
'account cannot have sub accounts': '账户不能包含子账户',
|
||||||
'parent account cannot set currency': '父账户不能设置货币',
|
'parent account cannot set currency': '父账户不能设置货币',
|
||||||
|
|||||||
Reference in New Issue
Block a user