forked from vieter-v/vieter
				
			Added repos delete route
							parent
							
								
									398758a727
								
							
						
					
					
						commit
						fe98112f79
					
				|  | @ -96,3 +96,34 @@ pub fn (mut app App) post_repo() web.Result { | |||
| 
 | ||||
| 	return app.ok('Repo added successfully.') | ||||
| } | ||||
| 
 | ||||
| ['/api/repos'; delete] | ||||
| pub fn (mut app App) delete_repo() web.Result { | ||||
| 	if !app.is_authorized() { | ||||
| 		return app.text('Unauthorized.') | ||||
| 	} | ||||
| 
 | ||||
| 	if !('url' in app.query && 'branch' in app.query) { | ||||
| 		return app.server_error(400) | ||||
| 	} | ||||
| 
 | ||||
| 	repo_to_remove := GitRepo{ | ||||
| 		url: app.query['url'] | ||||
| 		branch: app.query['branch'] | ||||
| 	} | ||||
| 
 | ||||
| 	mut repos := rlock app.git_mutex { | ||||
| 		read_repos(app.conf.repos_file) or { | ||||
| 			app.lerror('Failed to read repos file.') | ||||
| 
 | ||||
| 			return app.server_error(500) | ||||
| 		} | ||||
| 	} | ||||
| 	filtered := repos.filter(it != repo_to_remove) | ||||
| 
 | ||||
| 	lock app.git_mutex { | ||||
| 		write_repos(app.conf.repos_file, filtered) or { return app.server_error(500) } | ||||
| 	} | ||||
| 
 | ||||
| 	return app.ok('Repo removed successfully.') | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue