50 lines
1.4 KiB
Go
50 lines
1.4 KiB
Go
package db
|
|
|
|
import (
|
|
"gitlink.org.cn/cloudream/jcs-pub/client/types"
|
|
)
|
|
|
|
type UserSpaceDB struct {
|
|
*DB
|
|
}
|
|
|
|
func (db *DB) UserSpace() *UserSpaceDB {
|
|
return &UserSpaceDB{DB: db}
|
|
}
|
|
|
|
func (db *UserSpaceDB) GetByID(ctx SQLContext, stgID types.UserSpaceID) (types.UserSpace, error) {
|
|
var stg types.UserSpace
|
|
err := ctx.Table("UserSpace").First(&stg, stgID).Error
|
|
return stg, err
|
|
}
|
|
|
|
func (UserSpaceDB) GetAllIDs(ctx SQLContext) ([]types.UserSpaceID, error) {
|
|
var stgs []types.UserSpaceID
|
|
err := ctx.Table("UserSpace").Select("UserSpaceID").Find(&stgs).Error
|
|
return stgs, err
|
|
}
|
|
|
|
func (db *UserSpaceDB) BatchGetByID(ctx SQLContext, stgIDs []types.UserSpaceID) ([]types.UserSpace, error) {
|
|
var stgs []types.UserSpace
|
|
err := ctx.Table("UserSpace").Find(&stgs, "UserSpaceID IN (?)", stgIDs).Error
|
|
return stgs, err
|
|
}
|
|
|
|
func (db *UserSpaceDB) GetAll(ctx SQLContext) ([]types.UserSpace, error) {
|
|
var stgs []types.UserSpace
|
|
err := ctx.Table("UserSpace").Find(&stgs).Error
|
|
return stgs, err
|
|
}
|
|
|
|
func (db *UserSpaceDB) BatchGetAllSpaceIDs(ctx SQLContext, start int, count int) ([]types.UserSpaceID, error) {
|
|
var ret []types.UserSpaceID
|
|
err := ctx.Table("UserSpace").Select("UserSpaceID").Find(&ret).Limit(count).Offset(start).Error
|
|
return ret, err
|
|
}
|
|
|
|
func (db *UserSpaceDB) GetByName(ctx SQLContext, name string) (types.UserSpace, error) {
|
|
var stg types.UserSpace
|
|
err := ctx.Table("UserSpace").Where("Name = ?", name).First(&stg).Error
|
|
return stg, err
|
|
}
|