error.go 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  1. // Copyright 2015 The Gogs Authors. All rights reserved.
  2. // Copyright 2018 Gitote. All rights reserved.
  3. //
  4. // This source code is licensed under the MIT license found in the
  5. // LICENSE file in the root directory of this source tree.
  6. package models
  7. import (
  8. "fmt"
  9. )
  10. type ErrNameReserved struct {
  11. Name string
  12. }
  13. // IsErrNameReserved checks if an error is a ErrNameReserved.
  14. func IsErrNameReserved(err error) bool {
  15. _, ok := err.(ErrNameReserved)
  16. return ok
  17. }
  18. func (err ErrNameReserved) Error() string {
  19. return fmt.Sprintf("name is reserved [name: %s]", err.Name)
  20. }
  21. type ErrNamePatternNotAllowed struct {
  22. Pattern string
  23. }
  24. // IsErrNamePatternNotAllowed checks if an error is an
  25. // ErrNamePatternNotAllowed.
  26. func IsErrNamePatternNotAllowed(err error) bool {
  27. _, ok := err.(ErrNamePatternNotAllowed)
  28. return ok
  29. }
  30. func (err ErrNamePatternNotAllowed) Error() string {
  31. return fmt.Sprintf("name pattern is not allowed [pattern: %s]", err.Pattern)
  32. }
  33. type ErrUserAlreadyExist struct {
  34. Name string
  35. }
  36. // IsErrUserAlreadyExist checks if an error is a ErrUserAlreadyExists.
  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 ErrEmailAlreadyUsed struct {
  45. Email string
  46. }
  47. // IsErrEmailAlreadyUsed checks if an error is a ErrEmailAlreadyUsed.
  48. func IsErrEmailAlreadyUsed(err error) bool {
  49. _, ok := err.(ErrEmailAlreadyUsed)
  50. return ok
  51. }
  52. func (err ErrEmailAlreadyUsed) Error() string {
  53. return fmt.Sprintf("e-mail has been used [email: %s]", err.Email)
  54. }
  55. type ErrUserOwnRepos struct {
  56. UID int64
  57. }
  58. // IsErrUserOwnRepos checks if an error is a ErrUserOwnRepos.
  59. func IsErrUserOwnRepos(err error) bool {
  60. _, ok := err.(ErrUserOwnRepos)
  61. return ok
  62. }
  63. func (err ErrUserOwnRepos) Error() string {
  64. return fmt.Sprintf("user still has ownership of repositories [uid: %d]", err.UID)
  65. }
  66. type ErrUserHasOrgs struct {
  67. UID int64
  68. }
  69. // IsErrUserHasOrgs checks if an error is a ErrUserHasOrgs.
  70. func IsErrUserHasOrgs(err error) bool {
  71. _, ok := err.(ErrUserHasOrgs)
  72. return ok
  73. }
  74. func (err ErrUserHasOrgs) Error() string {
  75. return fmt.Sprintf("user still has membership of organizations [uid: %d]", err.UID)
  76. }
  77. type ErrWikiAlreadyExist struct {
  78. Title string
  79. }
  80. // IsErrWikiAlreadyExist checks if an error is an ErrWikiAlreadyExist.
  81. func IsErrWikiAlreadyExist(err error) bool {
  82. _, ok := err.(ErrWikiAlreadyExist)
  83. return ok
  84. }
  85. func (err ErrWikiAlreadyExist) Error() string {
  86. return fmt.Sprintf("wiki page already exists [title: %s]", err.Title)
  87. }
  88. type ErrKeyUnableVerify struct {
  89. Result string
  90. }
  91. // IsErrKeyUnableVerify checks if an error is a ErrKeyUnableVerify.
  92. func IsErrKeyUnableVerify(err error) bool {
  93. _, ok := err.(ErrKeyUnableVerify)
  94. return ok
  95. }
  96. func (err ErrKeyUnableVerify) Error() string {
  97. return fmt.Sprintf("Unable to verify key content [result: %s]", err.Result)
  98. }
  99. type ErrKeyNotExist struct {
  100. ID int64
  101. }
  102. // IsErrKeyNotExist checks if an error is a ErrKeyNotExist.
  103. func IsErrKeyNotExist(err error) bool {
  104. _, ok := err.(ErrKeyNotExist)
  105. return ok
  106. }
  107. func (err ErrKeyNotExist) Error() string {
  108. return fmt.Sprintf("public key does not exist [id: %d]", err.ID)
  109. }
  110. type ErrKeyAlreadyExist struct {
  111. OwnerID int64
  112. Content string
  113. }
  114. // IsErrKeyAlreadyExist checks if an error is a ErrKeyAlreadyExist.
  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. // IsErrKeyNameAlreadyUsed checks if an error is a ErrKeyNameAlreadyUsed.
  127. func IsErrKeyNameAlreadyUsed(err error) bool {
  128. _, ok := err.(ErrKeyNameAlreadyUsed)
  129. return ok
  130. }
  131. func (err ErrKeyNameAlreadyUsed) Error() string {
  132. return fmt.Sprintf("public key already exists [owner_id: %d, name: %s]", err.OwnerID, err.Name)
  133. }
  134. type ErrKeyAccessDenied struct {
  135. UserID int64
  136. KeyID int64
  137. Note string
  138. }
  139. // IsErrKeyAccessDenied checks if an error is a ErrKeyAccessDenied.
  140. func IsErrKeyAccessDenied(err error) bool {
  141. _, ok := err.(ErrKeyAccessDenied)
  142. return ok
  143. }
  144. func (err ErrKeyAccessDenied) Error() string {
  145. return fmt.Sprintf("user does not have access to the key [user_id: %d, key_id: %d, note: %s]",
  146. err.UserID, err.KeyID, err.Note)
  147. }
  148. type ErrDeployKeyNotExist struct {
  149. ID int64
  150. KeyID int64
  151. RepoID int64
  152. }
  153. // IsErrDeployKeyNotExist checks if an error is a ErrDeployKeyNotExist.
  154. func IsErrDeployKeyNotExist(err error) bool {
  155. _, ok := err.(ErrDeployKeyNotExist)
  156. return ok
  157. }
  158. func (err ErrDeployKeyNotExist) Error() string {
  159. return fmt.Sprintf("Deploy key does not exist [id: %d, key_id: %d, repo_id: %d]", err.ID, err.KeyID, err.RepoID)
  160. }
  161. type ErrDeployKeyAlreadyExist struct {
  162. KeyID int64
  163. RepoID int64
  164. }
  165. // IsErrDeployKeyAlreadyExist checks if an error is a ErrDeployKeyAlreadyExist.
  166. func IsErrDeployKeyAlreadyExist(err error) bool {
  167. _, ok := err.(ErrDeployKeyAlreadyExist)
  168. return ok
  169. }
  170. func (err ErrDeployKeyAlreadyExist) Error() string {
  171. return fmt.Sprintf("public key already exists [key_id: %d, repo_id: %d]", err.KeyID, err.RepoID)
  172. }
  173. type ErrDeployKeyNameAlreadyUsed struct {
  174. RepoID int64
  175. Name string
  176. }
  177. // IsErrDeployKeyNameAlreadyUsed checks if an error is a ErrDeployKeyNameAlreadyUsed.
  178. func IsErrDeployKeyNameAlreadyUsed(err error) bool {
  179. _, ok := err.(ErrDeployKeyNameAlreadyUsed)
  180. return ok
  181. }
  182. func (err ErrDeployKeyNameAlreadyUsed) Error() string {
  183. return fmt.Sprintf("public key already exists [repo_id: %d, name: %s]", err.RepoID, err.Name)
  184. }
  185. type ErrAccessTokenNotExist struct {
  186. SHA string
  187. }
  188. // IsErrAccessTokenNotExist checks if an error is a ErrAccessTokenNotExist.
  189. func IsErrAccessTokenNotExist(err error) bool {
  190. _, ok := err.(ErrAccessTokenNotExist)
  191. return ok
  192. }
  193. func (err ErrAccessTokenNotExist) Error() string {
  194. return fmt.Sprintf("access token does not exist [sha: %s]", err.SHA)
  195. }
  196. type ErrAccessTokenEmpty struct {
  197. }
  198. // IsErrAccessTokenEmpty checks if an error is a ErrAccessTokenEmpty.
  199. func IsErrAccessTokenEmpty(err error) bool {
  200. _, ok := err.(ErrAccessTokenEmpty)
  201. return ok
  202. }
  203. func (err ErrAccessTokenEmpty) Error() string {
  204. return fmt.Sprintf("access token is empty")
  205. }
  206. type ErrLastOrgOwner struct {
  207. UID int64
  208. }
  209. // IsErrLastOrgOwner checks if an error is a ErrLastOrgOwner.
  210. func IsErrLastOrgOwner(err error) bool {
  211. _, ok := err.(ErrLastOrgOwner)
  212. return ok
  213. }
  214. func (err ErrLastOrgOwner) Error() string {
  215. return fmt.Sprintf("user is the last member of owner team [uid: %d]", err.UID)
  216. }
  217. type ErrRepoAlreadyExist struct {
  218. Uname string
  219. Name string
  220. }
  221. // IsErrRepoAlreadyExist checks if an error is a ErrRepoAlreadyExist.
  222. func IsErrRepoAlreadyExist(err error) bool {
  223. _, ok := err.(ErrRepoAlreadyExist)
  224. return ok
  225. }
  226. func (err ErrRepoAlreadyExist) Error() string {
  227. return fmt.Sprintf("repository already exists [uname: %s, name: %s]", err.Uname, err.Name)
  228. }
  229. type ErrInvalidCloneAddr struct {
  230. IsURLError bool
  231. IsInvalidPath bool
  232. IsPermissionDenied bool
  233. }
  234. // IsErrInvalidCloneAddr checks if an error is a ErrInvalidCloneAddr.
  235. func IsErrInvalidCloneAddr(err error) bool {
  236. _, ok := err.(ErrInvalidCloneAddr)
  237. return ok
  238. }
  239. func (err ErrInvalidCloneAddr) Error() string {
  240. return fmt.Sprintf("invalid clone address [is_url_error: %v, is_invalid_path: %v, is_permission_denied: %v]",
  241. err.IsURLError, err.IsInvalidPath, err.IsPermissionDenied)
  242. }
  243. type ErrUpdateTaskNotExist struct {
  244. UUID string
  245. }
  246. // IsErrUpdateTaskNotExist checks if an error is a ErrUpdateTaskNotExist.
  247. func IsErrUpdateTaskNotExist(err error) bool {
  248. _, ok := err.(ErrUpdateTaskNotExist)
  249. return ok
  250. }
  251. func (err ErrUpdateTaskNotExist) Error() string {
  252. return fmt.Sprintf("update task does not exist [uuid: %s]", err.UUID)
  253. }
  254. type ErrReleaseAlreadyExist struct {
  255. TagName string
  256. }
  257. // IsErrReleaseAlreadyExist checks if an error is a ErrReleaseAlreadyExist.
  258. func IsErrReleaseAlreadyExist(err error) bool {
  259. _, ok := err.(ErrReleaseAlreadyExist)
  260. return ok
  261. }
  262. func (err ErrReleaseAlreadyExist) Error() string {
  263. return fmt.Sprintf("release tag already exist [tag_name: %s]", err.TagName)
  264. }
  265. type ErrReleaseNotExist struct {
  266. ID int64
  267. TagName string
  268. }
  269. // IsErrReleaseNotExist checks if an error is a ErrReleaseNotExist.
  270. func IsErrReleaseNotExist(err error) bool {
  271. _, ok := err.(ErrReleaseNotExist)
  272. return ok
  273. }
  274. func (err ErrReleaseNotExist) Error() string {
  275. return fmt.Sprintf("release tag does not exist [id: %d, tag_name: %s]", err.ID, err.TagName)
  276. }
  277. type ErrInvalidTagName struct {
  278. TagName string
  279. }
  280. // IsErrInvalidTagName checks if an error is a ErrInvalidTagName.
  281. func IsErrInvalidTagName(err error) bool {
  282. _, ok := err.(ErrInvalidTagName)
  283. return ok
  284. }
  285. func (err ErrInvalidTagName) Error() string {
  286. return fmt.Sprintf("release tag name is not valid [tag_name: %s]", err.TagName)
  287. }
  288. type ErrRepoFileAlreadyExist struct {
  289. FileName string
  290. }
  291. // IsErrRepoFileAlreadyExist checks if an error is a ErrRepoFileAlreadyExist.
  292. func IsErrRepoFileAlreadyExist(err error) bool {
  293. _, ok := err.(ErrRepoFileAlreadyExist)
  294. return ok
  295. }
  296. func (err ErrRepoFileAlreadyExist) Error() string {
  297. return fmt.Sprintf("repository file already exists [file_name: %s]", err.FileName)
  298. }
  299. type ErrPullRequestNotExist struct {
  300. ID int64
  301. IssueID int64
  302. HeadRepoID int64
  303. BaseRepoID int64
  304. HeadBarcnh string
  305. BaseBranch string
  306. }
  307. // IsErrPullRequestNotExist checks if an error is a ErrPullRequestNotExist.
  308. func IsErrPullRequestNotExist(err error) bool {
  309. _, ok := err.(ErrPullRequestNotExist)
  310. return ok
  311. }
  312. func (err ErrPullRequestNotExist) Error() string {
  313. 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]",
  314. err.ID, err.IssueID, err.HeadRepoID, err.BaseRepoID, err.HeadBarcnh, err.BaseBranch)
  315. }
  316. type ErrCommentNotExist struct {
  317. ID int64
  318. IssueID int64
  319. }
  320. // IsErrCommentNotExist checks if an error is a ErrCommentNotExist.
  321. func IsErrCommentNotExist(err error) bool {
  322. _, ok := err.(ErrCommentNotExist)
  323. return ok
  324. }
  325. func (err ErrCommentNotExist) Error() string {
  326. return fmt.Sprintf("comment does not exist [id: %d, issue_id: %d]", err.ID, err.IssueID)
  327. }
  328. type ErrLabelNotExist struct {
  329. LabelID int64
  330. RepoID int64
  331. }
  332. // IsErrLabelNotExist checks if an error is a ErrLabelNotExist.
  333. func IsErrLabelNotExist(err error) bool {
  334. _, ok := err.(ErrLabelNotExist)
  335. return ok
  336. }
  337. func (err ErrLabelNotExist) Error() string {
  338. return fmt.Sprintf("label does not exist [label_id: %d, repo_id: %d]", err.LabelID, err.RepoID)
  339. }
  340. type ErrMilestoneNotExist struct {
  341. ID int64
  342. RepoID int64
  343. }
  344. // IsErrMilestoneNotExist checks if an error is a ErrMilestoneNotExist.
  345. func IsErrMilestoneNotExist(err error) bool {
  346. _, ok := err.(ErrMilestoneNotExist)
  347. return ok
  348. }
  349. func (err ErrMilestoneNotExist) Error() string {
  350. return fmt.Sprintf("milestone does not exist [id: %d, repo_id: %d]", err.ID, err.RepoID)
  351. }
  352. type ErrAttachmentNotExist struct {
  353. ID int64
  354. UUID string
  355. }
  356. // IsErrAttachmentNotExist checks if an error is a ErrAttachmentNotExist.
  357. func IsErrAttachmentNotExist(err error) bool {
  358. _, ok := err.(ErrAttachmentNotExist)
  359. return ok
  360. }
  361. func (err ErrAttachmentNotExist) Error() string {
  362. return fmt.Sprintf("attachment does not exist [id: %d, uuid: %s]", err.ID, err.UUID)
  363. }
  364. type ErrLoginSourceAlreadyExist struct {
  365. Name string
  366. }
  367. // IsErrLoginSourceAlreadyExist checks if an error is a ErrLoginSourceAlreadyExist.
  368. func IsErrLoginSourceAlreadyExist(err error) bool {
  369. _, ok := err.(ErrLoginSourceAlreadyExist)
  370. return ok
  371. }
  372. func (err ErrLoginSourceAlreadyExist) Error() string {
  373. return fmt.Sprintf("login source already exists [name: %s]", err.Name)
  374. }
  375. type ErrLoginSourceInUse struct {
  376. ID int64
  377. }
  378. // IsErrLoginSourceInUse checks if an error is a ErrLoginSourceInUse.
  379. func IsErrLoginSourceInUse(err error) bool {
  380. _, ok := err.(ErrLoginSourceInUse)
  381. return ok
  382. }
  383. func (err ErrLoginSourceInUse) Error() string {
  384. return fmt.Sprintf("login source is still used by some users [id: %d]", err.ID)
  385. }
  386. type ErrTeamAlreadyExist struct {
  387. OrgID int64
  388. Name string
  389. }
  390. // IsErrTeamAlreadyExist checks if an error is a ErrTeamAlreadyExist.
  391. func IsErrTeamAlreadyExist(err error) bool {
  392. _, ok := err.(ErrTeamAlreadyExist)
  393. return ok
  394. }
  395. func (err ErrTeamAlreadyExist) Error() string {
  396. return fmt.Sprintf("team already exists [org_id: %d, name: %s]", err.OrgID, err.Name)
  397. }
  398. type ErrUploadNotExist struct {
  399. ID int64
  400. UUID string
  401. }
  402. // IsErrUploadNotExist checks if an error is a ErrUploadNotExist.
  403. func IsErrUploadNotExist(err error) bool {
  404. _, ok := err.(ErrAttachmentNotExist)
  405. return ok
  406. }
  407. func (err ErrUploadNotExist) Error() string {
  408. return fmt.Sprintf("attachment does not exist [id: %d, uuid: %s]", err.ID, err.UUID)
  409. }