58 lines
1.4 KiB
Go
58 lines
1.4 KiB
Go
package db
|
|
|
|
import (
|
|
"time"
|
|
|
|
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) GetByPackageID(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) GetByID(ctx SQLContext, id schsdk.ImageID) (schmod.Image, error) {
|
|
var ret schmod.Image
|
|
err := ctx.Table("Image").Where("ImageID = ?", id).First(&ret).Error
|
|
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
|
|
//}
|
|
|
|
func (*ImageDB) Create(ctx SQLContext, cdsPackageID *cdssdk.PackageID, name string, createTime time.Time) (schsdk.ImageID, error) {
|
|
image := schmod.Image{
|
|
CDSPackageID: cdsPackageID,
|
|
Name: name,
|
|
CreateTime: createTime,
|
|
}
|
|
|
|
if err := ctx.Table("Image").Create(&image).Error; err != nil {
|
|
return 0, err
|
|
}
|
|
|
|
return image.ImageID, nil
|
|
}
|