feat: closes #11 and fixed database cons remaining open
This commit is contained in:
27
logic/models/classes/data_point.go
Normal file
27
logic/models/classes/data_point.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package model_classes
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"errors"
|
||||
)
|
||||
|
||||
func AddDataPoint(db *sql.DB, class_id string, file_path string, mode DATA_POINT_MODE) (id string, err error) {
|
||||
id = ""
|
||||
_, err = db.Exec("insert into model_data_point (class_id, file_path, model_mode) values ($1, $2, $3);", class_id, file_path, mode)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
rows, err := db.Query("select id from model_data_point where class_id=$1 and file_path=$2 and model_mode=$3", class_id, file_path, mode)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
if !rows.Next() {
|
||||
return id, errors.New("Something worng")
|
||||
}
|
||||
|
||||
err = rows.Scan(&id)
|
||||
return
|
||||
}
|
||||
71
logic/models/classes/main.go
Normal file
71
logic/models/classes/main.go
Normal file
@@ -0,0 +1,71 @@
|
||||
package model_classes
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"errors"
|
||||
// . "git.andr3h3nriqu3s.com/andr3/fyp/logic/utils"
|
||||
)
|
||||
|
||||
type ModelClass struct {
|
||||
Id string
|
||||
ModelId string
|
||||
Name string
|
||||
}
|
||||
|
||||
func ListClasses(db *sql.DB, model_id string) (cls []ModelClass, err error) {
|
||||
|
||||
rows, err := db.Query("select id, model_id, name from model_classes where model_id=$1", model_id)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
for rows.Next() {
|
||||
var model ModelClass
|
||||
err = rows.Scan(&model.Id, &model.ModelId, &model.Name)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
cls = append(cls, model)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
var ClassAlreadyExists = errors.New("Class aready exists")
|
||||
|
||||
func CreateClass(db *sql.DB, model_id string, name string) (id string, err error) {
|
||||
id = ""
|
||||
rows, err := db.Query("select id from model_classes where model_id=$1 and name=$2;", model_id, name)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
if rows.Next() {
|
||||
return id, ClassAlreadyExists
|
||||
}
|
||||
|
||||
_, err = db.Exec("insert into model_classes (model_id, name) values ($1, $2)", model_id, name)
|
||||
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
rows, err = db.Query("select id from model_classes where model_id=$1 and name=$2;", model_id, name)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
if !rows.Next() {
|
||||
return id, errors.New("Something wrong")
|
||||
}
|
||||
|
||||
if err = rows.Scan(&id); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
8
logic/models/classes/types.go
Normal file
8
logic/models/classes/types.go
Normal file
@@ -0,0 +1,8 @@
|
||||
package model_classes
|
||||
|
||||
type DATA_POINT_MODE int
|
||||
|
||||
const (
|
||||
DATA_POINT_MODE_TRAINING DATA_POINT_MODE = 1
|
||||
DATA_POINT_MODE_TESTING = 2
|
||||
)
|
||||
Reference in New Issue
Block a user