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.
|
// 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)
|
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
|
return data
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,7 +206,7 @@ fn add(conf Config, t &NewTarget) ? {
|
||||||
c := client.new(conf.address, conf.api_key)
|
c := client.new(conf.address, conf.api_key)
|
||||||
res := c.add_target(t)?
|
res := c.add_target(t)?
|
||||||
|
|
||||||
println(res.message)
|
println("Target added with id $res.data")
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove removes a repository from the server's list.
|
// 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.
|
// 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 {
|
sql db.conn {
|
||||||
insert repo into Target
|
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.
|
// delete_target deletes the target with the given id from the database.
|
||||||
|
|
|
@ -2,7 +2,7 @@ module server
|
||||||
|
|
||||||
import web
|
import web
|
||||||
import net.http
|
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 db
|
||||||
import models { Target, TargetArch, TargetFilter }
|
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.'))
|
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.
|
// v1_delete_target removes a given target from the server's list.
|
||||||
|
|
Loading…
Reference in New Issue