feat: add users page

This commit is contained in:
yanghao05
2025-04-10 21:04:35 +08:00
parent ed27cb3534
commit 5a63eee1ce
22 changed files with 797 additions and 60 deletions

View File

@@ -29,11 +29,13 @@ func Provide(opts ...opt.Option) error {
medias *medias,
posts *posts,
uploads *uploads,
users *users,
) (contracts.HttpRoute, error) {
obj := &Routes{
medias: medias,
posts: posts,
uploads: uploads,
users: users,
}
if err := obj.Prepare(); err != nil {
return nil, err
@@ -56,5 +58,12 @@ func Provide(opts ...opt.Option) error {
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*users, error) {
obj := &users{}
return obj, nil
}); err != nil {
return err
}
return nil
}

View File

@@ -18,6 +18,7 @@ type Routes struct {
medias *medias
posts *posts
uploads *uploads
users *users
}
func (r *Routes) Prepare() error {
@@ -83,4 +84,11 @@ func (r *Routes) Register(router fiber.Router) {
r.uploads.Token,
))
// 注册路由组: users
router.Get("/v1/admin/users", DataFunc2(
r.users.List,
Query[requests.Pagination]("pagination"),
Query[UserListQuery]("query"),
))
}

View File

@@ -0,0 +1,24 @@
package admin
import (
"quyun/app/models"
"quyun/app/requests"
"github.com/gofiber/fiber/v3"
)
type UserListQuery struct {
Keyword *string `query:"keyword"`
}
// @provider
type users struct{}
// List users
// @Router /v1/admin/users [get]
// @Bind pagination query
// @Bind query query
func (ctl *users) List(ctx fiber.Ctx, pagination *requests.Pagination, query *UserListQuery) (*requests.Pager, error) {
cond := models.Users.BuildConditionWithKey(query.Keyword)
return models.Users.List(ctx.Context(), pagination, cond)
}