JCC-CSScheduler/common/pkgs/db/image.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
}