forked from vieter-v/vieter
				
			feat: adding target returns id of added entry
							parent
							
								
									3e0a2584fa
								
							
						
					
					
						commit
						7b59277931
					
				| 
						 | 
				
			
			@ -49,9 +49,9 @@ pub struct NewTarget {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// add_target adds a new target to the server.
 | 
			
		||||
pub fn (c &Client) add_target(t NewTarget) ?Response<string> {
 | 
			
		||||
pub fn (c &Client) add_target(t NewTarget) ?Response<int> {
 | 
			
		||||
	params := models.params_from<NewTarget>(t)
 | 
			
		||||
	data := c.send_request<string>(Method.post, '/api/v1/targets', params)?
 | 
			
		||||
	data := c.send_request<int>(Method.post, '/api/v1/targets', params)?
 | 
			
		||||
 | 
			
		||||
	return data
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -206,7 +206,7 @@ fn add(conf Config, t &NewTarget) ? {
 | 
			
		|||
	c := client.new(conf.address, conf.api_key)
 | 
			
		||||
	res := c.add_target(t)?
 | 
			
		||||
 | 
			
		||||
	println(res.message)
 | 
			
		||||
	println("Target added with id $res.data")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// remove removes a repository from the server's list.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,10 +38,14 @@ pub fn (db &VieterDb) get_target(target_id int) ?Target {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// add_target inserts the given target into the database.
 | 
			
		||||
pub fn (db &VieterDb) add_target(repo Target) {
 | 
			
		||||
pub fn (db &VieterDb) add_target(repo Target) int {
 | 
			
		||||
	sql db.conn {
 | 
			
		||||
		insert repo into Target
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	inserted_id := db.conn.last_id() as int
 | 
			
		||||
 | 
			
		||||
	return inserted_id
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// delete_target deletes the target with the given id from the database.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@ module server
 | 
			
		|||
 | 
			
		||||
import web
 | 
			
		||||
import net.http
 | 
			
		||||
import web.response { new_data_response, new_response }
 | 
			
		||||
import web.response { new_data_response, new_response, new_full_response }
 | 
			
		||||
import db
 | 
			
		||||
import models { Target, TargetArch, TargetFilter }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -45,9 +45,9 @@ fn (mut app App) v1_post_target() web.Result {
 | 
			
		|||
		return app.json(http.Status.bad_request, new_response('Invalid kind.'))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	app.db.add_target(new_repo)
 | 
			
		||||
	id := app.db.add_target(new_repo)
 | 
			
		||||
 | 
			
		||||
	return app.json(http.Status.ok, new_response('Repo added successfully.'))
 | 
			
		||||
	return app.json(http.Status.ok, new_data_response(id))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// v1_delete_target removes a given target from the server's list.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue