##// END OF EJS Templates
implements #361 API method for deleting repositories
marcink -
r2003:7dfcdf4c beta
parent child Browse files
Show More
@@ -503,6 +503,29 b' OUTPUT::'
503 error: null
503 error: null
504
504
505
505
506 delete_repo
507 -----------
508
509 Deletes a repository. This command can be executed only using api_key
510 belonging to user with admin rights.
511
512
513 INPUT::
514
515 api_key : "<api_key>"
516 method : "delete_repo"
517 args: {
518 "repo_name" : "<reponame>",
519 }
520
521 OUTPUT::
522
523 result: {
524 "msg": "Deleted repository <reponame>",
525 }
526 error: null
527
528
506 grant_user_permission
529 grant_user_permission
507 ---------------------
530 ---------------------
508
531
@@ -493,6 +493,25 b' class ApiController(JSONRPCController):'
493 raise JSONRPCError('failed to create repository %s' % repo_name)
493 raise JSONRPCError('failed to create repository %s' % repo_name)
494
494
495 @HasPermissionAnyDecorator('hg.admin')
495 @HasPermissionAnyDecorator('hg.admin')
496 def delete_repo(self, apiuser, repo_name):
497 """
498 Deletes a given repository
499
500 :param repo_name:
501 """
502 if not Repository.get_by_repo_name(repo_name):
503 raise JSONRPCError("repo %s does not exist" % repo_name)
504 try:
505 RepoModel().delete(repo_name)
506 Session.commit()
507 return dict(
508 msg='Deleted repository %s' % repo_name
509 )
510 except Exception:
511 log.error(traceback.format_exc())
512 raise JSONRPCError('failed to delete repository %s' % repo_name)
513
514 @HasPermissionAnyDecorator('hg.admin')
496 def grant_user_permission(self, repo_name, username, perm):
515 def grant_user_permission(self, repo_name, username, perm):
497 """
516 """
498 Grant permission for user on given repository, or update existing one
517 Grant permission for user on given repository, or update existing one
@@ -302,6 +302,7 b' class RepoModel(BaseModel):'
302 run_task(tasks.create_repo_fork, form_data, cur_user)
302 run_task(tasks.create_repo_fork, form_data, cur_user)
303
303
304 def delete(self, repo):
304 def delete(self, repo):
305 repo = self.__get_repo(repo)
305 try:
306 try:
306 self.sa.delete(repo)
307 self.sa.delete(repo)
307 self.__delete_repo(repo)
308 self.__delete_repo(repo)
General Comments 0
You need to be logged in to leave comments. Login now