package domain import ( mts "app-cloudep-permission-server/internal/lib/metric" ers "code.30cm.net/digimon/library-go/errors" "code.30cm.net/digimon/library-go/errors/code" ) // 12 represents Scope // 100 represents Category // 9 represents Detail error code // full code 12009 只會有 系統以及錯誤碼,category 是給系統判定用的 // 目前 Scope 以及分類要系統共用,係向的錯誤各自服務實作就好 // token error 方面 const ( TokenUnexpectedSigningErrorCode = iota + 1 TokenValidateErrorCode TokenClaimErrorCode ) const ( RedisDelErrorCode = iota + 20 RedisPipLineErrorCode RedisErrorCode ) const ( PermissionNotFoundCode = iota + 30 PermissionGetDataErrorCode ) // TokenUnexpectedSigningErr 30001 Token 簽名錯誤 func TokenUnexpectedSigningErr(msg string) *ers.LibError { mts.AppErrorMetrics.AddFailure("token", "token_unexpected_sign") return ers.NewErr(code.CloudEPPermission, code.CatInput, TokenUnexpectedSigningErrorCode, msg) } // TokenTokenValidateErr 30002 Token 驗證錯誤 func TokenTokenValidateErr(msg string) *ers.LibError { mts.AppErrorMetrics.AddFailure("token", "token_validate_ilegal") return ers.NewErr(code.CloudEPPermission, code.CatInput, TokenValidateErrorCode, msg) } // TokenClaimError 30003 Token 驗證錯誤 func TokenClaimError(msg string) *ers.LibError { mts.AppErrorMetrics.AddFailure("token", "token_claim_error") return ers.NewErr(code.CloudEPPermission, code.CatInput, TokenClaimErrorCode, msg) } // RedisDelError 30020 Redis 刪除錯誤 func RedisDelError(msg string) *ers.LibError { // 看需要建立哪些 Metrics mts.AppErrorMetrics.AddFailure("redis", "del_error") return ers.NewErr(code.CloudEPPermission, code.CatDB, RedisDelErrorCode, msg) } // RedisPipLineError 30021 Redis PipLine 錯誤 func RedisPipLineError(msg string) *ers.LibError { // 看需要建立哪些 Metrics mts.AppErrorMetrics.AddFailure("redis", "pip_line_error") return ers.NewErr(code.CloudEPPermission, code.CatInput, RedisPipLineErrorCode, msg) } // RedisError 30022 Redis 錯誤 func RedisError(msg string) *ers.LibError { // 看需要建立哪些 Metrics mts.AppErrorMetrics.AddFailure("redis", "error") return ers.NewErr(code.CloudEPPermission, code.CatInput, RedisErrorCode, msg) } // PermissionNotFoundError 30030 權限錯誤 func PermissionNotFoundError(msg string) *ers.LibError { // 看需要建立哪些 Metrics return ers.NewErr(code.CloudEPPermission, code.Forbidden, PermissionNotFoundCode, msg) } // PermissionGetDataError 30031 解析權限時錯誤 func PermissionGetDataError(msg string) *ers.LibError { // 看需要建立哪些 Metrics return ers.NewErr(code.CloudEPPermission, code.InvalidFormat, PermissionGetDataErrorCode, msg) }