feat: add button to remove image from class
This commit is contained in:
@@ -376,6 +376,35 @@ func processZipFileExpand(c *Context, model *BaseModel) {
|
||||
ModelUpdateStatus(c, model.Id, READY)
|
||||
}
|
||||
|
||||
|
||||
func handleRemoveDataPoint(c *Context) *Error {
|
||||
var dat JustId
|
||||
if err := c.ToJSON(&dat); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var GetModelId struct {
|
||||
Value string `db:"m.id"`
|
||||
Format string `db:"m.format"`
|
||||
}
|
||||
|
||||
err := GetDBOnce(c, &GetModelId, "model_data_point as mdp inner join model_classes as mc on mdp.class_id=mc.id inner join models as m on m.id=mc.model_id where mdp.id=$1;", dat.Id)
|
||||
if err == NotFoundError {
|
||||
return c.SendJSONStatus(404, "Data point not found")
|
||||
} else if err != nil {
|
||||
return c.E500M("Failed to find data point", err)
|
||||
}
|
||||
|
||||
os.Remove(path.Join("savedData", GetModelId.Value, "data", dat.Id+"."+GetModelId.Format))
|
||||
|
||||
_, err = c.Db.Exec("delete from model_data_point where id=$1;", dat.Id)
|
||||
if err != nil {
|
||||
return c.E500M("Failed to remove datapoint from database", err)
|
||||
}
|
||||
|
||||
return c.SendJSON("ok")
|
||||
}
|
||||
|
||||
func handleDataUpload(handle *Handle) {
|
||||
handle.Post("/models/data/upload", func(c *Context) *Error {
|
||||
if !c.CheckAuthLevel(1) {
|
||||
@@ -501,17 +530,14 @@ func handleDataUpload(handle *Handle) {
|
||||
return c.SendJSON(model.Id)
|
||||
})
|
||||
|
||||
handle.Delete("/models/data/point", handleRemoveDataPoint)
|
||||
|
||||
handle.Delete("/models/data/delete-zip-file", func(c *Context) *Error {
|
||||
if !c.CheckAuthLevel(1) {
|
||||
return nil
|
||||
}
|
||||
|
||||
type ModelData struct {
|
||||
Id string `json:"id"`
|
||||
}
|
||||
|
||||
var dat ModelData
|
||||
|
||||
var dat JustId
|
||||
if err := c.ToJSON(&dat); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -95,6 +95,16 @@ func (x *Handle) Delete(path string, fn func(c *Context) *Error) {
|
||||
x.deletes = append(x.deletes, HandleFunc{path, fn})
|
||||
}
|
||||
|
||||
func (x *Handle) DeleteAuth(path string, authLevel int, fn func(c *Context) *Error) {
|
||||
inner_fn := func(c *Context) *Error {
|
||||
if !c.CheckAuthLevel(authLevel) {
|
||||
return nil
|
||||
}
|
||||
return fn(c)
|
||||
}
|
||||
x.posts = append(x.posts, HandleFunc{path, inner_fn})
|
||||
}
|
||||
|
||||
func (x *Handle) handleGets(context *Context) {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
|
||||
@@ -204,7 +204,7 @@ func MyParseForm(r *http.Request) (vs url.Values, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
type JustId struct{ Id string }
|
||||
type JustId struct{ Id string `json:"id" validate:"required"` }
|
||||
|
||||
type Generic struct{ reflect.Type }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user