forked from JointCloud/JCC-CSScheduler
39 lines
914 B
Go
39 lines
914 B
Go
package db
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/jmoiron/sqlx"
|
|
schsdk "gitlink.org.cn/cloudream/common/sdks/scheduler"
|
|
cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
|
|
schmod "gitlink.org.cn/cloudream/scheduler/common/models"
|
|
)
|
|
|
|
type ImageDB struct {
|
|
*DB
|
|
}
|
|
|
|
func (db *DB) Image() *ImageDB {
|
|
return &ImageDB{DB: db}
|
|
}
|
|
|
|
func (*ImageDB) GetByID(ctx SQLContext, id schsdk.ImageID) (schmod.Image, error) {
|
|
var ret schmod.Image
|
|
err := sqlx.Get(ctx, &ret, "select * from Image where ImageID = ?", id)
|
|
return ret, err
|
|
}
|
|
|
|
func (*ImageDB) Create(ctx SQLContext, cdsPackageID *cdssdk.PackageID, name string, createTime time.Time) (schsdk.ImageID, error) {
|
|
ret, err := ctx.Exec("insert into Image(CDSPackageID, Name, CreateTime) values(?, ?, ?)", cdsPackageID, name, createTime)
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
|
|
id, err := ret.LastInsertId()
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
|
|
return schsdk.ImageID(id), nil
|
|
}
|