user info
This commit is contained in:
@@ -39,6 +39,7 @@ type Image struct {
|
|||||||
UserID int `json:"user_id"` // 用户ID
|
UserID int `json:"user_id"` // 用户ID
|
||||||
ModelID int `json:"model_id"` // 模型ID
|
ModelID int `json:"model_id"` // 模型ID
|
||||||
Preview string `json:"preview" gorm:"-"` // 实时预览 base64
|
Preview string `json:"preview" gorm:"-"` // 实时预览 base64
|
||||||
|
User User `json:"user" gorm:"-"` // 用户
|
||||||
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
|
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
|
||||||
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"`
|
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"`
|
||||||
}
|
}
|
||||||
|
@@ -41,6 +41,7 @@ type Model struct {
|
|||||||
DatasetID int `json:"dataset_id"` // 模型所使用的數據集ID
|
DatasetID int `json:"dataset_id"` // 模型所使用的數據集ID
|
||||||
ServerID string `json:"server_id"` // 模型所在服務器(訓練機或推理機)
|
ServerID string `json:"server_id"` // 模型所在服務器(訓練機或推理機)
|
||||||
Stars StarList `json:"stars"` // 模型的收藏者
|
Stars StarList `json:"stars"` // 模型的收藏者
|
||||||
|
User User `json:"user" gorm:"-"` // 模型的所有者
|
||||||
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
|
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
|
||||||
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"`
|
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"`
|
||||||
}
|
}
|
||||||
|
@@ -123,6 +123,52 @@ func (server *Server) InitModels() (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//// 加载所有lora模型列表取得id和hash和path
|
||||||
|
//var lora_models []map[string]interface{}
|
||||||
|
//if err := configs.ORMDB().Table("models").Where("type = ?", "lora").Select("id", "name", "hash", "model_path").Find(&lora_models).Error; err != nil {
|
||||||
|
// return fmt.Errorf("获取模型列表失败: %v", err)
|
||||||
|
//}
|
||||||
|
|
||||||
|
//// 加载所有基础模型列表取得id和hash和path
|
||||||
|
//var base_models []map[string]interface{}
|
||||||
|
//if err := configs.ORMDB().Table("models").Where("type = ?", "ckp").Select("id", "name", "hash", "model_path").Find(&base_models).Error; err != nil {
|
||||||
|
// return fmt.Errorf("获取模型列表失败: %v", err)
|
||||||
|
//}
|
||||||
|
|
||||||
|
//判断模型是否存在 := func(list []map[string]interface{}, item map[string]interface{}) bool {
|
||||||
|
// for _, item2 := range list {
|
||||||
|
// fmt.Println(item2)
|
||||||
|
// return true
|
||||||
|
// //if item["hash"].(string) == item2["hash"].(string) {
|
||||||
|
// // return true
|
||||||
|
// //}
|
||||||
|
// }
|
||||||
|
// return false
|
||||||
|
//}
|
||||||
|
|
||||||
|
//// 遍历数据库中的模型列表, 如果不存在则添加
|
||||||
|
//for _, item := range lora_models {
|
||||||
|
// fmt.Println("模型:", item["id"], item["hash"], item["name"])
|
||||||
|
// if !判断模型是否存在(data_lora, item) {
|
||||||
|
// // 从数据库删除不存在的模型
|
||||||
|
// //if err := configs.ORMDB().Delete(&Model{}, item["id"]).Error; err != nil {
|
||||||
|
// // return fmt.Errorf("删除模型失败: %v", err)
|
||||||
|
// //}
|
||||||
|
// fmt.Println("模型:", item["id"], item["hash"], item["name"], "\033[31mfail\033[0m")
|
||||||
|
// }
|
||||||
|
// fmt.Println("模型:", item["id"], item["hash"], item["name"], "\033[32mok\033[0m")
|
||||||
|
//}
|
||||||
|
|
||||||
|
//for _, item := range base_models {
|
||||||
|
// fmt.Println("模型:", item["id"], item["hash"], item["name"])
|
||||||
|
//}
|
||||||
|
//for _, item := range data_lora {
|
||||||
|
// for _, model := range base_models {
|
||||||
|
// if item["hash"].(string) == model["hash"].(string) {
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
// 从数据库检查此模型hash是否存在
|
// 从数据库检查此模型hash是否存在
|
||||||
for _, item := range data_lora {
|
for _, item := range data_lora {
|
||||||
var model Model
|
var model Model
|
||||||
@@ -189,7 +235,6 @@ func (server *Server) InitModels() (err error) {
|
|||||||
fmt.Println("忽略模型:", item.ModelCheckpoint)
|
fmt.Println("忽略模型:", item.ModelCheckpoint)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
var model Model
|
var model Model
|
||||||
if err := configs.ORMDB().Where("hash = ?", item.Hash).First(&model).Error; err != nil {
|
if err := configs.ORMDB().Where("hash = ?", item.Hash).First(&model).Error; err != nil {
|
||||||
// 不存在则添加
|
// 不存在则添加
|
||||||
|
@@ -118,6 +118,7 @@ func ImagesGet(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&image_list)
|
db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&image_list)
|
||||||
for _, image := range image_list {
|
for _, image := range image_list {
|
||||||
|
image.User = models.User{ID: image.UserID}
|
||||||
listview.List = append(listview.List, image)
|
listview.List = append(listview.List, image)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -144,6 +144,7 @@ func ModelsGet(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&model_list)
|
db.Offset((listview.Page - 1) * listview.PageSize).Limit(listview.PageSize).Find(&model_list)
|
||||||
for _, model := range model_list {
|
for _, model := range model_list {
|
||||||
|
model.User = models.User{ID: model.UserID}
|
||||||
listview.List = append(listview.List, model)
|
listview.List = append(listview.List, model)
|
||||||
}
|
}
|
||||||
db.Model(&models.Model{}).Count(&listview.Total)
|
db.Model(&models.Model{}).Count(&listview.Total)
|
||||||
|
Reference in New Issue
Block a user