1
0

error.go 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. package database
  2. import (
  3. "fmt"
  4. )
  5. // __ __.__ __ .__
  6. // / \ / \__| | _|__|
  7. // \ \/\/ / | |/ / |
  8. // \ /| | <| |
  9. // \__/\ / |__|__|_ \__|
  10. // \/ \/
  11. type ErrWikiAlreadyExist struct {
  12. Title string
  13. }
  14. func IsErrWikiAlreadyExist(err error) bool {
  15. _, ok := err.(ErrWikiAlreadyExist)
  16. return ok
  17. }
  18. func (err ErrWikiAlreadyExist) Error() string {
  19. return fmt.Sprintf("wiki page already exists [title: %s]", err.Title)
  20. }
  21. // __________ ___. .__ .__ ____ __.
  22. // \______ \__ _\_ |__ | | |__| ____ | |/ _|____ ___.__.
  23. // | ___/ | \ __ \| | | |/ ___\ | <_/ __ < | |
  24. // | | | | / \_\ \ |_| \ \___ | | \ ___/\___ |
  25. // |____| |____/|___ /____/__|\___ > |____|__ \___ > ____|
  26. // \/ \/ \/ \/\/
  27. type ErrKeyUnableVerify struct {
  28. Result string
  29. }
  30. func IsErrKeyUnableVerify(err error) bool {
  31. _, ok := err.(ErrKeyUnableVerify)
  32. return ok
  33. }
  34. func (err ErrKeyUnableVerify) Error() string {
  35. return fmt.Sprintf("Unable to verify key content [result: %s]", err.Result)
  36. }
  37. type ErrKeyNotExist struct {
  38. ID int64
  39. }
  40. func IsErrKeyNotExist(err error) bool {
  41. _, ok := err.(ErrKeyNotExist)
  42. return ok
  43. }
  44. func (err ErrKeyNotExist) Error() string {
  45. return fmt.Sprintf("public key does not exist [id: %d]", err.ID)
  46. }
  47. type ErrKeyAlreadyExist struct {
  48. OwnerID int64
  49. Content string
  50. }
  51. func IsErrKeyAlreadyExist(err error) bool {
  52. _, ok := err.(ErrKeyAlreadyExist)
  53. return ok
  54. }
  55. func (err ErrKeyAlreadyExist) Error() string {
  56. return fmt.Sprintf("public key already exists [owner_id: %d, content: %s]", err.OwnerID, err.Content)
  57. }
  58. type ErrKeyNameAlreadyUsed struct {
  59. OwnerID int64
  60. Name string
  61. }
  62. func IsErrKeyNameAlreadyUsed(err error) bool {
  63. _, ok := err.(ErrKeyNameAlreadyUsed)
  64. return ok
  65. }
  66. func (err ErrKeyNameAlreadyUsed) Error() string {
  67. return fmt.Sprintf("public key already exists [owner_id: %d, name: %s]", err.OwnerID, err.Name)
  68. }
  69. type ErrKeyAccessDenied struct {
  70. UserID int64
  71. KeyID int64
  72. Note string
  73. }
  74. func IsErrKeyAccessDenied(err error) bool {
  75. _, ok := err.(ErrKeyAccessDenied)
  76. return ok
  77. }
  78. func (err ErrKeyAccessDenied) Error() string {
  79. return fmt.Sprintf("user does not have access to the key [user_id: %d, key_id: %d, note: %s]",
  80. err.UserID, err.KeyID, err.Note)
  81. }
  82. type ErrDeployKeyAlreadyExist struct {
  83. KeyID int64
  84. RepoID int64
  85. }
  86. func IsErrDeployKeyAlreadyExist(err error) bool {
  87. _, ok := err.(ErrDeployKeyAlreadyExist)
  88. return ok
  89. }
  90. func (err ErrDeployKeyAlreadyExist) Error() string {
  91. return fmt.Sprintf("public key already exists [key_id: %d, repo_id: %d]", err.KeyID, err.RepoID)
  92. }
  93. type ErrDeployKeyNameAlreadyUsed struct {
  94. RepoID int64
  95. Name string
  96. }
  97. func IsErrDeployKeyNameAlreadyUsed(err error) bool {
  98. _, ok := err.(ErrDeployKeyNameAlreadyUsed)
  99. return ok
  100. }
  101. func (err ErrDeployKeyNameAlreadyUsed) Error() string {
  102. return fmt.Sprintf("public key already exists [repo_id: %d, name: %s]", err.RepoID, err.Name)
  103. }
  104. // ________ .__ __ .__
  105. // \_____ \_______ _________ ____ |__|____________ _/ |_|__| ____ ____
  106. // / | \_ __ \/ ___\__ \ / \| \___ /\__ \\ __\ |/ _ \ / \
  107. // / | \ | \/ /_/ > __ \| | \ |/ / / __ \| | | ( <_> ) | \
  108. // \_______ /__| \___ (____ /___| /__/_____ \(____ /__| |__|\____/|___| /
  109. // \/ /_____/ \/ \/ \/ \/ \/
  110. type ErrLastOrgOwner struct {
  111. UID int64
  112. }
  113. func IsErrLastOrgOwner(err error) bool {
  114. _, ok := err.(ErrLastOrgOwner)
  115. return ok
  116. }
  117. func (err ErrLastOrgOwner) Error() string {
  118. return fmt.Sprintf("user is the last member of owner team [uid: %d]", err.UID)
  119. }
  120. // __________ .__ __
  121. // \______ \ ____ ______ ____ _____|__|/ |_ ___________ ___.__.
  122. // | _// __ \\____ \ / _ \/ ___/ \ __\/ _ \_ __ < | |
  123. // | | \ ___/| |_> > <_> )___ \| || | ( <_> ) | \/\___ |
  124. // |____|_ /\___ > __/ \____/____ >__||__| \____/|__| / ____|
  125. // \/ \/|__| \/ \/
  126. type ErrInvalidCloneAddr struct {
  127. IsURLError bool
  128. IsInvalidPath bool
  129. IsPermissionDenied bool
  130. IsBlockedLocalAddress bool
  131. }
  132. func IsErrInvalidCloneAddr(err error) bool {
  133. _, ok := err.(ErrInvalidCloneAddr)
  134. return ok
  135. }
  136. func (err ErrInvalidCloneAddr) Error() string {
  137. return fmt.Sprintf("invalid clone address [is_url_error: %v, is_invalid_path: %v, is_permission_denied: %v, is_blocked_local_address: %v]",
  138. err.IsURLError, err.IsInvalidPath, err.IsPermissionDenied, err.IsBlockedLocalAddress)
  139. }
  140. type ErrUpdateTaskNotExist struct {
  141. UUID string
  142. }
  143. func IsErrUpdateTaskNotExist(err error) bool {
  144. _, ok := err.(ErrUpdateTaskNotExist)
  145. return ok
  146. }
  147. func (err ErrUpdateTaskNotExist) Error() string {
  148. return fmt.Sprintf("update task does not exist [uuid: %s]", err.UUID)
  149. }
  150. type ErrReleaseAlreadyExist struct {
  151. TagName string
  152. }
  153. func IsErrReleaseAlreadyExist(err error) bool {
  154. _, ok := err.(ErrReleaseAlreadyExist)
  155. return ok
  156. }
  157. func (err ErrReleaseAlreadyExist) Error() string {
  158. return fmt.Sprintf("release tag already exist [tag_name: %s]", err.TagName)
  159. }
  160. type ErrInvalidTagName struct {
  161. TagName string
  162. }
  163. func IsErrInvalidTagName(err error) bool {
  164. _, ok := err.(ErrInvalidTagName)
  165. return ok
  166. }
  167. func (err ErrInvalidTagName) Error() string {
  168. return fmt.Sprintf("release tag name is not valid [tag_name: %s]", err.TagName)
  169. }
  170. type ErrRepoFileAlreadyExist struct {
  171. FileName string
  172. }
  173. func IsErrRepoFileAlreadyExist(err error) bool {
  174. _, ok := err.(ErrRepoFileAlreadyExist)
  175. return ok
  176. }
  177. func (err ErrRepoFileAlreadyExist) Error() string {
  178. return fmt.Sprintf("repository file already exists [file_name: %s]", err.FileName)
  179. }
  180. // ___________
  181. // \__ ___/___ _____ _____
  182. // | |_/ __ \\__ \ / \
  183. // | |\ ___/ / __ \| Y Y \
  184. // |____| \___ >____ /__|_| /
  185. // \/ \/ \/
  186. type ErrTeamAlreadyExist struct {
  187. ID int64
  188. OrgID int64
  189. Name string
  190. }
  191. func IsErrTeamAlreadyExist(err error) bool {
  192. _, ok := err.(ErrTeamAlreadyExist)
  193. return ok
  194. }
  195. func (err ErrTeamAlreadyExist) Error() string {
  196. return fmt.Sprintf("team already exists [id: %d, org_id: %d, name: %s]", err.ID, err.OrgID, err.Name)
  197. }
  198. // ____ ___ .__ .___
  199. // | | \______ | | _________ __| _/
  200. // | | /\____ \| | / _ \__ \ / __ |
  201. // | | / | |_> > |_( <_> ) __ \_/ /_/ |
  202. // |______/ | __/|____/\____(____ /\____ |
  203. // |__| \/ \/
  204. //
  205. type ErrUploadNotExist struct {
  206. ID int64
  207. UUID string
  208. }
  209. func IsErrUploadNotExist(err error) bool {
  210. _, ok := err.(ErrAttachmentNotExist)
  211. return ok
  212. }
  213. func (err ErrUploadNotExist) Error() string {
  214. return fmt.Sprintf("attachment does not exist [id: %d, uuid: %s]", err.ID, err.UUID)
  215. }