You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

error.go 12 kB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. // Copyright 2015 The Gogs Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package models
  5. import (
  6. "fmt"
  7. )
  8. type ErrNameReserved struct {
  9. Name string
  10. }
  11. func IsErrNameReserved(err error) bool {
  12. _, ok := err.(ErrNameReserved)
  13. return ok
  14. }
  15. func (err ErrNameReserved) Error() string {
  16. return fmt.Sprintf("name is reserved [name: %s]", err.Name)
  17. }
  18. type ErrNamePatternNotAllowed struct {
  19. Pattern string
  20. }
  21. func IsErrNamePatternNotAllowed(err error) bool {
  22. _, ok := err.(ErrNamePatternNotAllowed)
  23. return ok
  24. }
  25. func (err ErrNamePatternNotAllowed) Error() string {
  26. return fmt.Sprintf("name pattern is not allowed [pattern: %s]", err.Pattern)
  27. }
  28. // ____ ___
  29. // | | \______ ___________
  30. // | | / ___// __ \_ __ \
  31. // | | /\___ \\ ___/| | \/
  32. // |______//____ >\___ >__|
  33. // \/ \/
  34. type ErrUserAlreadyExist struct {
  35. Name string
  36. }
  37. func IsErrUserAlreadyExist(err error) bool {
  38. _, ok := err.(ErrUserAlreadyExist)
  39. return ok
  40. }
  41. func (err ErrUserAlreadyExist) Error() string {
  42. return fmt.Sprintf("user already exists [name: %s]", err.Name)
  43. }
  44. type ErrUserNotExist struct {
  45. UID int64
  46. Name string
  47. }
  48. func IsErrUserNotExist(err error) bool {
  49. _, ok := err.(ErrUserNotExist)
  50. return ok
  51. }
  52. func (err ErrUserNotExist) Error() string {
  53. return fmt.Sprintf("user does not exist [uid: %d, name: %s]", err.UID, err.Name)
  54. }
  55. type ErrEmailAlreadyUsed struct {
  56. Email string
  57. }
  58. func IsErrEmailAlreadyUsed(err error) bool {
  59. _, ok := err.(ErrEmailAlreadyUsed)
  60. return ok
  61. }
  62. func (err ErrEmailAlreadyUsed) Error() string {
  63. return fmt.Sprintf("e-mail has been used [email: %s]", err.Email)
  64. }
  65. type ErrUserOwnRepos struct {
  66. UID int64
  67. }
  68. func IsErrUserOwnRepos(err error) bool {
  69. _, ok := err.(ErrUserOwnRepos)
  70. return ok
  71. }
  72. func (err ErrUserOwnRepos) Error() string {
  73. return fmt.Sprintf("user still has ownership of repositories [uid: %d]", err.UID)
  74. }
  75. type ErrUserHasOrgs struct {
  76. UID int64
  77. }
  78. func IsErrUserHasOrgs(err error) bool {
  79. _, ok := err.(ErrUserHasOrgs)
  80. return ok
  81. }
  82. func (err ErrUserHasOrgs) Error() string {
  83. return fmt.Sprintf("user still has membership of organizations [uid: %d]", err.UID)
  84. }
  85. // __________ ___. .__ .__ ____ __.
  86. // \______ \__ _\_ |__ | | |__| ____ | |/ _|____ ___.__.
  87. // | ___/ | \ __ \| | | |/ ___\ | <_/ __ < | |
  88. // | | | | / \_\ \ |_| \ \___ | | \ ___/\___ |
  89. // |____| |____/|___ /____/__|\___ > |____|__ \___ > ____|
  90. // \/ \/ \/ \/\/
  91. type ErrKeyNotExist struct {
  92. ID int64
  93. }
  94. func IsErrKeyNotExist(err error) bool {
  95. _, ok := err.(ErrKeyNotExist)
  96. return ok
  97. }
  98. func (err ErrKeyNotExist) Error() string {
  99. return fmt.Sprintf("public key does not exist [id: %d]", err.ID)
  100. }
  101. type ErrKeyAlreadyExist struct {
  102. OwnerID int64
  103. Content string
  104. }
  105. func IsErrKeyAlreadyExist(err error) bool {
  106. _, ok := err.(ErrKeyAlreadyExist)
  107. return ok
  108. }
  109. func (err ErrKeyAlreadyExist) Error() string {
  110. return fmt.Sprintf("public key already exists [owner_id: %d, content: %s]", err.OwnerID, err.Content)
  111. }
  112. type ErrKeyNameAlreadyUsed struct {
  113. OwnerID int64
  114. Name string
  115. }
  116. func IsErrKeyNameAlreadyUsed(err error) bool {
  117. _, ok := err.(ErrKeyNameAlreadyUsed)
  118. return ok
  119. }
  120. func (err ErrKeyNameAlreadyUsed) Error() string {
  121. return fmt.Sprintf("public key already exists [owner_id: %d, name: %s]", err.OwnerID, err.Name)
  122. }
  123. type ErrDeployKeyAlreadyExist struct {
  124. KeyID int64
  125. RepoID int64
  126. }
  127. func IsErrDeployKeyAlreadyExist(err error) bool {
  128. _, ok := err.(ErrDeployKeyAlreadyExist)
  129. return ok
  130. }
  131. func (err ErrDeployKeyAlreadyExist) Error() string {
  132. return fmt.Sprintf("public key already exists [key_id: %d, repo_id: %d]", err.KeyID, err.RepoID)
  133. }
  134. type ErrDeployKeyNameAlreadyUsed struct {
  135. RepoID int64
  136. Name string
  137. }
  138. func IsErrDeployKeyNameAlreadyUsed(err error) bool {
  139. _, ok := err.(ErrDeployKeyNameAlreadyUsed)
  140. return ok
  141. }
  142. func (err ErrDeployKeyNameAlreadyUsed) Error() string {
  143. return fmt.Sprintf("public key already exists [repo_id: %d, name: %s]", err.RepoID, err.Name)
  144. }
  145. // _____ ___________ __
  146. // / _ \ ____ ____ ____ ______ _____\__ ___/___ | | __ ____ ____
  147. // / /_\ \_/ ___\/ ___\/ __ \ / ___// ___/ | | / _ \| |/ // __ \ / \
  148. // / | \ \__\ \__\ ___/ \___ \ \___ \ | |( <_> ) <\ ___/| | \
  149. // \____|__ /\___ >___ >___ >____ >____ > |____| \____/|__|_ \\___ >___| /
  150. // \/ \/ \/ \/ \/ \/ \/ \/ \/
  151. type ErrAccessTokenNotExist struct {
  152. SHA string
  153. }
  154. func IsErrAccessTokenNotExist(err error) bool {
  155. _, ok := err.(ErrAccessTokenNotExist)
  156. return ok
  157. }
  158. func (err ErrAccessTokenNotExist) Error() string {
  159. return fmt.Sprintf("access token does not exist [sha: %s]", err.SHA)
  160. }
  161. // ________ .__ __ .__
  162. // \_____ \_______ _________ ____ |__|____________ _/ |_|__| ____ ____
  163. // / | \_ __ \/ ___\__ \ / \| \___ /\__ \\ __\ |/ _ \ / \
  164. // / | \ | \/ /_/ > __ \| | \ |/ / / __ \| | | ( <_> ) | \
  165. // \_______ /__| \___ (____ /___| /__/_____ \(____ /__| |__|\____/|___| /
  166. // \/ /_____/ \/ \/ \/ \/ \/
  167. type ErrLastOrgOwner struct {
  168. UID int64
  169. }
  170. func IsErrLastOrgOwner(err error) bool {
  171. _, ok := err.(ErrLastOrgOwner)
  172. return ok
  173. }
  174. func (err ErrLastOrgOwner) Error() string {
  175. return fmt.Sprintf("user is the last member of owner team [uid: %d]", err.UID)
  176. }
  177. // __________ .__ __
  178. // \______ \ ____ ______ ____ _____|__|/ |_ ___________ ___.__.
  179. // | _// __ \\____ \ / _ \/ ___/ \ __\/ _ \_ __ < | |
  180. // | | \ ___/| |_> > <_> )___ \| || | ( <_> ) | \/\___ |
  181. // |____|_ /\___ > __/ \____/____ >__||__| \____/|__| / ____|
  182. // \/ \/|__| \/ \/
  183. type ErrRepoNotExist struct {
  184. ID int64
  185. UID int64
  186. Name string
  187. }
  188. func IsErrRepoNotExist(err error) bool {
  189. _, ok := err.(ErrRepoNotExist)
  190. return ok
  191. }
  192. func (err ErrRepoNotExist) Error() string {
  193. return fmt.Sprintf("repository does not exist [id: %d, uid: %d, name: %s]", err.ID, err.UID, err.Name)
  194. }
  195. type ErrRepoAlreadyExist struct {
  196. Uname string
  197. Name string
  198. }
  199. func IsErrRepoAlreadyExist(err error) bool {
  200. _, ok := err.(ErrRepoAlreadyExist)
  201. return ok
  202. }
  203. func (err ErrRepoAlreadyExist) Error() string {
  204. return fmt.Sprintf("repository already exists [uname: %s, name: %s]", err.Uname, err.Name)
  205. }
  206. type ErrInvalidCloneAddr struct {
  207. IsURLError bool
  208. IsInvalidPath bool
  209. IsPermissionDenied bool
  210. }
  211. func IsErrInvalidCloneAddr(err error) bool {
  212. _, ok := err.(ErrInvalidCloneAddr)
  213. return ok
  214. }
  215. func (err ErrInvalidCloneAddr) Error() string {
  216. return fmt.Sprintf("invalid clone address [is_url_error: %v, is_invalid_path: %v, is_permission_denied: %v]",
  217. err.IsURLError, err.IsInvalidPath, err.IsPermissionDenied)
  218. }
  219. type ErrUpdateTaskNotExist struct {
  220. UUID string
  221. }
  222. func IsErrUpdateTaskNotExist(err error) bool {
  223. _, ok := err.(ErrUpdateTaskNotExist)
  224. return ok
  225. }
  226. func (err ErrUpdateTaskNotExist) Error() string {
  227. return fmt.Sprintf("update task does not exist [uuid: %s]", err.UUID)
  228. }
  229. type ErrReleaseAlreadyExist struct {
  230. TagName string
  231. }
  232. func IsErrReleaseAlreadyExist(err error) bool {
  233. _, ok := err.(ErrReleaseAlreadyExist)
  234. return ok
  235. }
  236. func (err ErrReleaseAlreadyExist) Error() string {
  237. return fmt.Sprintf("Release tag already exist [tag_name: %s]", err.TagName)
  238. }
  239. type ErrReleaseNotExist struct {
  240. TagName string
  241. }
  242. func IsErrReleaseNotExist(err error) bool {
  243. _, ok := err.(ErrReleaseNotExist)
  244. return ok
  245. }
  246. func (err ErrReleaseNotExist) Error() string {
  247. return fmt.Sprintf("Release tag does not exist [tag_name: %s]", err.TagName)
  248. }
  249. // __ __ ___. .__ __
  250. // / \ / \ ____\_ |__ | |__ ____ ____ | | __
  251. // \ \/\/ // __ \| __ \| | \ / _ \ / _ \| |/ /
  252. // \ /\ ___/| \_\ \ Y ( <_> | <_> ) <
  253. // \__/\ / \___ >___ /___| /\____/ \____/|__|_ \
  254. // \/ \/ \/ \/ \/
  255. type ErrWebhookNotExist struct {
  256. ID int64
  257. }
  258. func IsErrWebhookNotExist(err error) bool {
  259. _, ok := err.(ErrWebhookNotExist)
  260. return ok
  261. }
  262. func (err ErrWebhookNotExist) Error() string {
  263. return fmt.Sprintf("webhook does not exist [id: %d]", err.ID)
  264. }
  265. // .___
  266. // | | ______ ________ __ ____
  267. // | |/ ___// ___/ | \_/ __ \
  268. // | |\___ \ \___ \| | /\ ___/
  269. // |___/____ >____ >____/ \___ >
  270. // \/ \/ \/
  271. type ErrIssueNotExist struct {
  272. ID int64
  273. RepoID int64
  274. Index int64
  275. }
  276. func IsErrIssueNotExist(err error) bool {
  277. _, ok := err.(ErrIssueNotExist)
  278. return ok
  279. }
  280. func (err ErrIssueNotExist) Error() string {
  281. return fmt.Sprintf("issue does not exist [id: %d, repo_id: %d, index: %d]", err.ID, err.RepoID, err.Index)
  282. }
  283. // __________ .__ .__ __________ __
  284. // \______ \__ __| | | |\______ \ ____ ________ __ ____ _______/ |_
  285. // | ___/ | \ | | | | _// __ \/ ____/ | \_/ __ \ / ___/\ __\
  286. // | | | | / |_| |_| | \ ___< <_| | | /\ ___/ \___ \ | |
  287. // |____| |____/|____/____/____|_ /\___ >__ |____/ \___ >____ > |__|
  288. // \/ \/ |__| \/ \/
  289. type ErrPullRequestNotExist struct {
  290. ID int64
  291. IssueID int64
  292. HeadRepoID int64
  293. BaseRepoID int64
  294. HeadBarcnh string
  295. BaseBranch string
  296. }
  297. func IsErrPullRequestNotExist(err error) bool {
  298. _, ok := err.(ErrPullRequestNotExist)
  299. return ok
  300. }
  301. func (err ErrPullRequestNotExist) Error() string {
  302. return fmt.Sprintf("pull request does not exist [id: %d, issue_id: %d, head_repo_id: %d, base_repo_id: %d, head_branch: %s, base_branch: %s]",
  303. err.ID, err.IssueID, err.HeadRepoID, err.BaseRepoID, err.HeadBarcnh, err.BaseBranch)
  304. }
  305. // _________ __
  306. // \_ ___ \ ____ _____ _____ ____ _____/ |_
  307. // / \ \/ / _ \ / \ / \_/ __ \ / \ __\
  308. // \ \___( <_> ) Y Y \ Y Y \ ___/| | \ |
  309. // \______ /\____/|__|_| /__|_| /\___ >___| /__|
  310. // \/ \/ \/ \/ \/
  311. type ErrCommentNotExist struct {
  312. ID int64
  313. }
  314. func IsErrCommentNotExist(err error) bool {
  315. _, ok := err.(ErrCommentNotExist)
  316. return ok
  317. }
  318. func (err ErrCommentNotExist) Error() string {
  319. return fmt.Sprintf("comment does not exist [id: %d]", err.ID)
  320. }
  321. // .____ ___. .__
  322. // | | _____ \_ |__ ____ | |
  323. // | | \__ \ | __ \_/ __ \| |
  324. // | |___ / __ \| \_\ \ ___/| |__
  325. // |_______ (____ /___ /\___ >____/
  326. // \/ \/ \/ \/
  327. type ErrLabelNotExist struct {
  328. ID int64
  329. }
  330. func IsErrLabelNotExist(err error) bool {
  331. _, ok := err.(ErrLabelNotExist)
  332. return ok
  333. }
  334. func (err ErrLabelNotExist) Error() string {
  335. return fmt.Sprintf("label does not exist [id: %d]", err.ID)
  336. }
  337. // _____ .__.__ __
  338. // / \ |__| | ____ _______/ |_ ____ ____ ____
  339. // / \ / \| | | _/ __ \ / ___/\ __\/ _ \ / \_/ __ \
  340. // / Y \ | |_\ ___/ \___ \ | | ( <_> ) | \ ___/
  341. // \____|__ /__|____/\___ >____ > |__| \____/|___| /\___ >
  342. // \/ \/ \/ \/ \/
  343. type ErrMilestoneNotExist struct {
  344. ID int64
  345. RepoID int64
  346. }
  347. func IsErrMilestoneNotExist(err error) bool {
  348. _, ok := err.(ErrMilestoneNotExist)
  349. return ok
  350. }
  351. func (err ErrMilestoneNotExist) Error() string {
  352. return fmt.Sprintf("milestone does not exist [id: %d, repo_id: %d]", err.ID, err.RepoID)
  353. }
  354. // _____ __ __ .__ __
  355. // / _ \_/ |__/ |______ ____ | |__ _____ ____ _____/ |_
  356. // / /_\ \ __\ __\__ \ _/ ___\| | \ / \_/ __ \ / \ __\
  357. // / | \ | | | / __ \\ \___| Y \ Y Y \ ___/| | \ |
  358. // \____|__ /__| |__| (____ /\___ >___| /__|_| /\___ >___| /__|
  359. // \/ \/ \/ \/ \/ \/ \/
  360. type ErrAttachmentNotExist struct {
  361. ID int64
  362. UUID string
  363. }
  364. func IsErrAttachmentNotExist(err error) bool {
  365. _, ok := err.(ErrAttachmentNotExist)
  366. return ok
  367. }
  368. func (err ErrAttachmentNotExist) Error() string {
  369. return fmt.Sprintf("attachment does not exist [id: %d, uuid: %s]", err.ID, err.UUID)
  370. }