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 13 kB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  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 ErrKeyUnableVerify struct {
  92. Result string
  93. }
  94. func IsErrKeyUnableVerify(err error) bool {
  95. _, ok := err.(ErrKeyUnableVerify)
  96. return ok
  97. }
  98. func (err ErrKeyUnableVerify) Error() string {
  99. return fmt.Sprintf("Unable to verify key content [result: %s]", err.Result)
  100. }
  101. type ErrKeyNotExist struct {
  102. ID int64
  103. }
  104. func IsErrKeyNotExist(err error) bool {
  105. _, ok := err.(ErrKeyNotExist)
  106. return ok
  107. }
  108. func (err ErrKeyNotExist) Error() string {
  109. return fmt.Sprintf("public key does not exist [id: %d]", err.ID)
  110. }
  111. type ErrKeyAlreadyExist struct {
  112. OwnerID int64
  113. Content string
  114. }
  115. func IsErrKeyAlreadyExist(err error) bool {
  116. _, ok := err.(ErrKeyAlreadyExist)
  117. return ok
  118. }
  119. func (err ErrKeyAlreadyExist) Error() string {
  120. return fmt.Sprintf("public key already exists [owner_id: %d, content: %s]", err.OwnerID, err.Content)
  121. }
  122. type ErrKeyNameAlreadyUsed struct {
  123. OwnerID int64
  124. Name string
  125. }
  126. func IsErrKeyNameAlreadyUsed(err error) bool {
  127. _, ok := err.(ErrKeyNameAlreadyUsed)
  128. return ok
  129. }
  130. func (err ErrKeyNameAlreadyUsed) Error() string {
  131. return fmt.Sprintf("public key already exists [owner_id: %d, name: %s]", err.OwnerID, err.Name)
  132. }
  133. type ErrDeployKeyNotExist struct {
  134. ID int64
  135. KeyID int64
  136. RepoID int64
  137. }
  138. func IsErrDeployKeyNotExist(err error) bool {
  139. _, ok := err.(ErrDeployKeyNotExist)
  140. return ok
  141. }
  142. func (err ErrDeployKeyNotExist) Error() string {
  143. return fmt.Sprintf("Deploy key does not exist [id: %d, key_id: %d, repo_id: %d]", err.ID, err.KeyID, err.RepoID)
  144. }
  145. type ErrDeployKeyAlreadyExist struct {
  146. KeyID int64
  147. RepoID int64
  148. }
  149. func IsErrDeployKeyAlreadyExist(err error) bool {
  150. _, ok := err.(ErrDeployKeyAlreadyExist)
  151. return ok
  152. }
  153. func (err ErrDeployKeyAlreadyExist) Error() string {
  154. return fmt.Sprintf("public key already exists [key_id: %d, repo_id: %d]", err.KeyID, err.RepoID)
  155. }
  156. type ErrDeployKeyNameAlreadyUsed struct {
  157. RepoID int64
  158. Name string
  159. }
  160. func IsErrDeployKeyNameAlreadyUsed(err error) bool {
  161. _, ok := err.(ErrDeployKeyNameAlreadyUsed)
  162. return ok
  163. }
  164. func (err ErrDeployKeyNameAlreadyUsed) Error() string {
  165. return fmt.Sprintf("public key already exists [repo_id: %d, name: %s]", err.RepoID, err.Name)
  166. }
  167. // _____ ___________ __
  168. // / _ \ ____ ____ ____ ______ _____\__ ___/___ | | __ ____ ____
  169. // / /_\ \_/ ___\/ ___\/ __ \ / ___// ___/ | | / _ \| |/ // __ \ / \
  170. // / | \ \__\ \__\ ___/ \___ \ \___ \ | |( <_> ) <\ ___/| | \
  171. // \____|__ /\___ >___ >___ >____ >____ > |____| \____/|__|_ \\___ >___| /
  172. // \/ \/ \/ \/ \/ \/ \/ \/ \/
  173. type ErrAccessTokenNotExist struct {
  174. SHA string
  175. }
  176. func IsErrAccessTokenNotExist(err error) bool {
  177. _, ok := err.(ErrAccessTokenNotExist)
  178. return ok
  179. }
  180. func (err ErrAccessTokenNotExist) Error() string {
  181. return fmt.Sprintf("access token does not exist [sha: %s]", err.SHA)
  182. }
  183. // ________ .__ __ .__
  184. // \_____ \_______ _________ ____ |__|____________ _/ |_|__| ____ ____
  185. // / | \_ __ \/ ___\__ \ / \| \___ /\__ \\ __\ |/ _ \ / \
  186. // / | \ | \/ /_/ > __ \| | \ |/ / / __ \| | | ( <_> ) | \
  187. // \_______ /__| \___ (____ /___| /__/_____ \(____ /__| |__|\____/|___| /
  188. // \/ /_____/ \/ \/ \/ \/ \/
  189. type ErrLastOrgOwner struct {
  190. UID int64
  191. }
  192. func IsErrLastOrgOwner(err error) bool {
  193. _, ok := err.(ErrLastOrgOwner)
  194. return ok
  195. }
  196. func (err ErrLastOrgOwner) Error() string {
  197. return fmt.Sprintf("user is the last member of owner team [uid: %d]", err.UID)
  198. }
  199. // __________ .__ __
  200. // \______ \ ____ ______ ____ _____|__|/ |_ ___________ ___.__.
  201. // | _// __ \\____ \ / _ \/ ___/ \ __\/ _ \_ __ < | |
  202. // | | \ ___/| |_> > <_> )___ \| || | ( <_> ) | \/\___ |
  203. // |____|_ /\___ > __/ \____/____ >__||__| \____/|__| / ____|
  204. // \/ \/|__| \/ \/
  205. type ErrRepoNotExist struct {
  206. ID int64
  207. UID int64
  208. Name string
  209. }
  210. func IsErrRepoNotExist(err error) bool {
  211. _, ok := err.(ErrRepoNotExist)
  212. return ok
  213. }
  214. func (err ErrRepoNotExist) Error() string {
  215. return fmt.Sprintf("repository does not exist [id: %d, uid: %d, name: %s]", err.ID, err.UID, err.Name)
  216. }
  217. type ErrRepoAlreadyExist struct {
  218. Uname string
  219. Name string
  220. }
  221. func IsErrRepoAlreadyExist(err error) bool {
  222. _, ok := err.(ErrRepoAlreadyExist)
  223. return ok
  224. }
  225. func (err ErrRepoAlreadyExist) Error() string {
  226. return fmt.Sprintf("repository already exists [uname: %s, name: %s]", err.Uname, err.Name)
  227. }
  228. type ErrInvalidCloneAddr struct {
  229. IsURLError bool
  230. IsInvalidPath bool
  231. IsPermissionDenied bool
  232. }
  233. func IsErrInvalidCloneAddr(err error) bool {
  234. _, ok := err.(ErrInvalidCloneAddr)
  235. return ok
  236. }
  237. func (err ErrInvalidCloneAddr) Error() string {
  238. return fmt.Sprintf("invalid clone address [is_url_error: %v, is_invalid_path: %v, is_permission_denied: %v]",
  239. err.IsURLError, err.IsInvalidPath, err.IsPermissionDenied)
  240. }
  241. type ErrUpdateTaskNotExist struct {
  242. UUID string
  243. }
  244. func IsErrUpdateTaskNotExist(err error) bool {
  245. _, ok := err.(ErrUpdateTaskNotExist)
  246. return ok
  247. }
  248. func (err ErrUpdateTaskNotExist) Error() string {
  249. return fmt.Sprintf("update task does not exist [uuid: %s]", err.UUID)
  250. }
  251. type ErrReleaseAlreadyExist struct {
  252. TagName string
  253. }
  254. func IsErrReleaseAlreadyExist(err error) bool {
  255. _, ok := err.(ErrReleaseAlreadyExist)
  256. return ok
  257. }
  258. func (err ErrReleaseAlreadyExist) Error() string {
  259. return fmt.Sprintf("Release tag already exist [tag_name: %s]", err.TagName)
  260. }
  261. type ErrReleaseNotExist struct {
  262. ID int64
  263. TagName string
  264. }
  265. func IsErrReleaseNotExist(err error) bool {
  266. _, ok := err.(ErrReleaseNotExist)
  267. return ok
  268. }
  269. func (err ErrReleaseNotExist) Error() string {
  270. return fmt.Sprintf("Release tag does not exist [id: %d, tag_name: %s]", err.ID, err.TagName)
  271. }
  272. // __ __ ___. .__ __
  273. // / \ / \ ____\_ |__ | |__ ____ ____ | | __
  274. // \ \/\/ // __ \| __ \| | \ / _ \ / _ \| |/ /
  275. // \ /\ ___/| \_\ \ Y ( <_> | <_> ) <
  276. // \__/\ / \___ >___ /___| /\____/ \____/|__|_ \
  277. // \/ \/ \/ \/ \/
  278. type ErrWebhookNotExist struct {
  279. ID int64
  280. }
  281. func IsErrWebhookNotExist(err error) bool {
  282. _, ok := err.(ErrWebhookNotExist)
  283. return ok
  284. }
  285. func (err ErrWebhookNotExist) Error() string {
  286. return fmt.Sprintf("webhook does not exist [id: %d]", err.ID)
  287. }
  288. // .___
  289. // | | ______ ________ __ ____
  290. // | |/ ___// ___/ | \_/ __ \
  291. // | |\___ \ \___ \| | /\ ___/
  292. // |___/____ >____ >____/ \___ >
  293. // \/ \/ \/
  294. type ErrIssueNotExist struct {
  295. ID int64
  296. RepoID int64
  297. Index int64
  298. }
  299. func IsErrIssueNotExist(err error) bool {
  300. _, ok := err.(ErrIssueNotExist)
  301. return ok
  302. }
  303. func (err ErrIssueNotExist) Error() string {
  304. return fmt.Sprintf("issue does not exist [id: %d, repo_id: %d, index: %d]", err.ID, err.RepoID, err.Index)
  305. }
  306. // __________ .__ .__ __________ __
  307. // \______ \__ __| | | |\______ \ ____ ________ __ ____ _______/ |_
  308. // | ___/ | \ | | | | _// __ \/ ____/ | \_/ __ \ / ___/\ __\
  309. // | | | | / |_| |_| | \ ___< <_| | | /\ ___/ \___ \ | |
  310. // |____| |____/|____/____/____|_ /\___ >__ |____/ \___ >____ > |__|
  311. // \/ \/ |__| \/ \/
  312. type ErrPullRequestNotExist struct {
  313. ID int64
  314. IssueID int64
  315. HeadRepoID int64
  316. BaseRepoID int64
  317. HeadBarcnh string
  318. BaseBranch string
  319. }
  320. func IsErrPullRequestNotExist(err error) bool {
  321. _, ok := err.(ErrPullRequestNotExist)
  322. return ok
  323. }
  324. func (err ErrPullRequestNotExist) Error() string {
  325. 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]",
  326. err.ID, err.IssueID, err.HeadRepoID, err.BaseRepoID, err.HeadBarcnh, err.BaseBranch)
  327. }
  328. // _________ __
  329. // \_ ___ \ ____ _____ _____ ____ _____/ |_
  330. // / \ \/ / _ \ / \ / \_/ __ \ / \ __\
  331. // \ \___( <_> ) Y Y \ Y Y \ ___/| | \ |
  332. // \______ /\____/|__|_| /__|_| /\___ >___| /__|
  333. // \/ \/ \/ \/ \/
  334. type ErrCommentNotExist struct {
  335. ID int64
  336. }
  337. func IsErrCommentNotExist(err error) bool {
  338. _, ok := err.(ErrCommentNotExist)
  339. return ok
  340. }
  341. func (err ErrCommentNotExist) Error() string {
  342. return fmt.Sprintf("comment does not exist [id: %d]", err.ID)
  343. }
  344. // .____ ___. .__
  345. // | | _____ \_ |__ ____ | |
  346. // | | \__ \ | __ \_/ __ \| |
  347. // | |___ / __ \| \_\ \ ___/| |__
  348. // |_______ (____ /___ /\___ >____/
  349. // \/ \/ \/ \/
  350. type ErrLabelNotExist struct {
  351. ID int64
  352. }
  353. func IsErrLabelNotExist(err error) bool {
  354. _, ok := err.(ErrLabelNotExist)
  355. return ok
  356. }
  357. func (err ErrLabelNotExist) Error() string {
  358. return fmt.Sprintf("label does not exist [id: %d]", err.ID)
  359. }
  360. // _____ .__.__ __
  361. // / \ |__| | ____ _______/ |_ ____ ____ ____
  362. // / \ / \| | | _/ __ \ / ___/\ __\/ _ \ / \_/ __ \
  363. // / Y \ | |_\ ___/ \___ \ | | ( <_> ) | \ ___/
  364. // \____|__ /__|____/\___ >____ > |__| \____/|___| /\___ >
  365. // \/ \/ \/ \/ \/
  366. type ErrMilestoneNotExist struct {
  367. ID int64
  368. RepoID int64
  369. }
  370. func IsErrMilestoneNotExist(err error) bool {
  371. _, ok := err.(ErrMilestoneNotExist)
  372. return ok
  373. }
  374. func (err ErrMilestoneNotExist) Error() string {
  375. return fmt.Sprintf("milestone does not exist [id: %d, repo_id: %d]", err.ID, err.RepoID)
  376. }
  377. // _____ __ __ .__ __
  378. // / _ \_/ |__/ |______ ____ | |__ _____ ____ _____/ |_
  379. // / /_\ \ __\ __\__ \ _/ ___\| | \ / \_/ __ \ / \ __\
  380. // / | \ | | | / __ \\ \___| Y \ Y Y \ ___/| | \ |
  381. // \____|__ /__| |__| (____ /\___ >___| /__|_| /\___ >___| /__|
  382. // \/ \/ \/ \/ \/ \/ \/
  383. type ErrAttachmentNotExist struct {
  384. ID int64
  385. UUID string
  386. }
  387. func IsErrAttachmentNotExist(err error) bool {
  388. _, ok := err.(ErrAttachmentNotExist)
  389. return ok
  390. }
  391. func (err ErrAttachmentNotExist) Error() string {
  392. return fmt.Sprintf("attachment does not exist [id: %d, uuid: %s]", err.ID, err.UUID)
  393. }