user info

This commit is contained in:
2023-08-13 01:27:10 +08:00
parent 447b59a65a
commit 0575d14494
5 changed files with 50 additions and 1 deletions

View File

@@ -39,6 +39,7 @@ type Image struct {
UserID int `json:"user_id"` // 用户ID
ModelID int `json:"model_id"` // 模型ID
Preview string `json:"preview" gorm:"-"` // 实时预览 base64
User User `json:"user" gorm:"-"` // 用户
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"`
}

View File

@@ -41,6 +41,7 @@ type Model struct {
DatasetID int `json:"dataset_id"` // 模型所使用的數據集ID
ServerID string `json:"server_id"` // 模型所在服務器(訓練機或推理機)
Stars StarList `json:"stars"` // 模型的收藏者
User User `json:"user" gorm:"-"` // 模型的所有者
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"`
}

View File

@@ -123,6 +123,52 @@ func (server *Server) InitModels() (err error) {
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是否存在
for _, item := range data_lora {
var model Model
@@ -189,7 +235,6 @@ func (server *Server) InitModels() (err error) {
fmt.Println("忽略模型:", item.ModelCheckpoint)
continue
}
var model Model
if err := configs.ORMDB().Where("hash = ?", item.Hash).First(&model).Error; err != nil {
// 不存在则添加

View File

@@ -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)
for _, image := range image_list {
image.User = models.User{ID: image.UserID}
listview.List = append(listview.List, image)
}

View File

@@ -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)
for _, model := range model_list {
model.User = models.User{ID: model.UserID}
listview.List = append(listview.List, model)
}
db.Model(&models.Model{}).Count(&listview.Total)