package code

type Scope uint32
type Category uint32
type Detail uint32

const (
	Unset              Scope  = 0
	Facade             Scope  = 10
	Setting            Scope  = 32
	AI                 Scope  = 33
	Job                Scope  = 34
	Auth               Scope  = 35
	Member             Scope  = 36
	Permission         Scope  = 37
	ThreadsAccount     Scope  = 38
	Persona            Scope  = 39
	Brand              Scope  = 40
	CategoryMultiplier        = 1000
	ScopeMultiplier           = 1000000
	DefaultDetail      Detail = 0
)

const (
	DefaultSuccessFullCodeInt int64  = 102000
	DefaultSuccessMessage     string = "SUCCESS"
)

const (
	InputInvalidFormat   Category = 101
	InputMissingRequired Category = 104
	DBError              Category = 201
	DBUnavailable        Category = 204
	ResNotFound          Category = 301
	ResConflict          Category = 303
	ResInvalidState      Category = 309
	AuthUnauthorized     Category = 401
	AuthForbidden        Category = 505
	SysInternal          Category = 601
	SysNotImplemented    Category = 605
	SvcThirdParty        Category = 802
)
