diff --git a/internal/api/api.go b/internal/api/api.go index d2a0cca..3c7c487 100644 --- a/internal/api/api.go +++ b/internal/api/api.go @@ -18,7 +18,6 @@ func RegisterRouter(r *gin.Engine) { { handler.RegisterRouterAuth(v1.Group("/auth")) handler.RegisterRouterUser(v1.Group("/user")) - handler.RegisterRouterCateage(v1.Group("/cateage")) v1.GET("/proxy", handler.Proxy) } diff --git a/internal/api/handler/auth.go b/internal/api/handler/auth.go index 0b0810f..e0f06a4 100644 --- a/internal/api/handler/auth.go +++ b/internal/api/handler/auth.go @@ -2,6 +2,7 @@ package handler import ( "errors" + "github.com/gin-gonic/gin" "github.com/zhilv666/navsite/internal/model" "github.com/zhilv666/navsite/internal/service" diff --git a/internal/api/handler/cateage.go b/internal/api/handler/cateage.go deleted file mode 100644 index e878f88..0000000 --- a/internal/api/handler/cateage.go +++ /dev/null @@ -1,20 +0,0 @@ -package handler - -import ( - "github.com/gin-gonic/gin" - "github.com/zhilv666/navsite/internal/service" - "github.com/zhilv666/navsite/pkg/common" -) - -func GetAllCateageWithSites(c *gin.Context) { - cateagies, err := service.GetAllCateageWithSites() - if err != nil { - common.Fail(c, err.Error()) - return - } - common.Succ(c, cateagies) -} - -func RegisterRouterCateage(g *gin.RouterGroup) { - g.GET("/", GetAllCateageWithSites) -} diff --git a/internal/model/cateage.go b/internal/model/cateage.go deleted file mode 100644 index 9493658..0000000 --- a/internal/model/cateage.go +++ /dev/null @@ -1,16 +0,0 @@ -package model - -import ( - "time" -) - -type Cateage struct { - ID uint `gorm:"primaryKey" json:"id"` - CreatedAt time.Time `json:"created_at"` - UpdatedAt time.Time `json:"updated_at"` - DeletedAt *time.Time `gorm:"index" json:"-"` - - AnchorId string `gorm:"size:100;not null;unique" json:"anchor_id"` - Name string `gorm:"size:100;not null;unique" json:"name"` - Sites []Site `gorm:"foreignKey:CateageID" json:"sites"` // 方便获取分类下所有网站 -} diff --git a/internal/model/model.go b/internal/model/model.go index efec4c5..433ce15 100644 --- a/internal/model/model.go +++ b/internal/model/model.go @@ -8,7 +8,7 @@ import ( func Init() { err := db.GetDB().AutoMigrate( - new(User), new(Cateage), new(Site), + new(User), ) if err != nil { logger.Error("database migrate error", zap.Stack("migrate")) diff --git a/internal/model/site.go b/internal/model/site.go deleted file mode 100644 index aa87ae0..0000000 --- a/internal/model/site.go +++ /dev/null @@ -1,18 +0,0 @@ -package model - -import "time" - -type Site struct { - ID uint `gorm:"primaryKey" json:"id"` - CreatedAt time.Time `json:"created_at"` - UpdatedAt time.Time `json:"updated_at"` - DeletedAt *time.Time `gorm:"index" json:"-"` - - Name string `gorm:"size:100;not null;unique" json:"name"` - Describe string `gorm:"size:100" json:"describe"` - CateageID uint `gorm:"not null;index" json:"cateage_id"` - Cateage Cateage `gorm:"foreignKey:CateageID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"cateage"` // 外键关联 - Url string `gorm:"size:500;not null" json:"url"` - Cors bool `gorm:"default:false" json:"cors"` - Icon string `gorm:"size:500;default:'https://cos.kmux.cn/md/20251115174627218.png'" json:"icon"` -} diff --git a/internal/service/service.go b/internal/repo/repo.go similarity index 95% rename from internal/service/service.go rename to internal/repo/repo.go index 5668d2c..aed9a5b 100644 --- a/internal/service/service.go +++ b/internal/repo/repo.go @@ -1,4 +1,4 @@ -package service +package repo import ( "github.com/zhilv666/navsite/pkg/config" diff --git a/internal/repo/user.go b/internal/repo/user.go new file mode 100644 index 0000000..2f2db10 --- /dev/null +++ b/internal/repo/user.go @@ -0,0 +1,46 @@ +package repo + +import ( + "github.com/pkg/errors" + + "github.com/zhilv666/navsite/internal/model" +) + +func GetUserByID(id uint) (*model.User, error) { + var user model.User + if err := DB().First(&user, id).Error; err != nil { + return nil, errors.Wrapf(err, "failed get old user") + } + return &user, nil +} + +func GetUserByName(username string) (*model.User, error) { + user := model.User{Username: username} + if err := DB().Where(user).First(&user).Error; err != nil { + return nil, errors.Wrapf(err, "failed get old user") + } + return &user, nil +} + +func GetUsers(pageIndex, pageSize int) (users []*model.User, count int64, err error) { + userDB := DB().Model(&model.User{}) + if err := userDB.Count(&count).Error; err != nil { + return nil, 0, errors.Wrapf(err, "failed get counts") + } + if err := userDB.Order(columnName("id")).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&users).Error; err != nil { + return nil, 0, errors.Wrapf(err, "failed get users") + } + return users, count, nil +} + +func AddUser(user *model.User) error { + return errors.WithStack(DB().Create(&user).Error) +} + +func UpdateUser(user *model.User) error { + return errors.WithStack(DB().Save(&user).Error) +} + +func DeleteUser(id uint) error { + return errors.WithStack(DB().Delete(&model.User{}, id).Error) +} diff --git a/internal/service/utils.go b/internal/repo/utils.go similarity index 95% rename from internal/service/utils.go rename to internal/repo/utils.go index a61191c..42027d2 100644 --- a/internal/service/utils.go +++ b/internal/repo/utils.go @@ -1,4 +1,4 @@ -package service +package repo import ( "fmt" diff --git a/internal/service/cateage.go b/internal/service/cateage.go deleted file mode 100644 index 6b2f0d6..0000000 --- a/internal/service/cateage.go +++ /dev/null @@ -1,14 +0,0 @@ -package service - -import ( - "github.com/pkg/errors" - "github.com/zhilv666/navsite/internal/model" -) - -func GetAllCateageWithSites() ([]model.Cateage, error) { - var cateagies []model.Cateage - if err := DB().Preload("Sites").Find(&cateagies).Error; err != nil { - return nil, errors.Wrap(err, "failed get cateagies") - } - return cateagies, nil -} diff --git a/internal/service/user.go b/internal/service/user.go index bc2a454..cdfe74e 100644 --- a/internal/service/user.go +++ b/internal/service/user.go @@ -1,46 +1,30 @@ package service import ( - "github.com/pkg/errors" - "github.com/zhilv666/navsite/internal/model" + "github.com/zhilv666/navsite/internal/repo" ) func GetUserByID(id uint) (*model.User, error) { - var user model.User - if err := DB().First(&user, id).Error; err != nil { - return nil, errors.Wrapf(err, "failed get old user") - } - return &user, nil + return repo.GetUserByID(id) } func GetUserByName(username string) (*model.User, error) { - user := model.User{Username: username} - if err := DB().Where(user).First(&user).Error; err != nil { - return nil, errors.Wrapf(err, "failed get old user") - } - return &user, nil + return repo.GetUserByName(username) } func GetUsers(pageIndex, pageSize int) (users []*model.User, count int64, err error) { - userDB := DB().Model(&model.User{}) - if err := userDB.Count(&count).Error; err != nil { - return nil, 0, errors.Wrapf(err, "failed get counts") - } - if err := userDB.Order(columnName("id")).Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&users).Error; err != nil { - return nil, 0, errors.Wrapf(err, "failed get users") - } - return users, count, nil + return repo.GetUsers(pageIndex, pageSize) } func AddUser(user *model.User) error { - return errors.WithStack(DB().Create(&user).Error) + return repo.AddUser(user) } func UpdateUser(user *model.User) error { - return errors.WithStack(DB().Save(&user).Error) + return repo.UpdateUser(user) } func DeleteUser(id uint) error { - return errors.WithStack(DB().Delete(&model.User{}, id).Error) + return repo.DeleteUser(id) }