feat: update users

This commit is contained in:
hanif salafi 2025-02-14 08:17:59 +07:00
parent 689666f137
commit cc5307c5dc
6 changed files with 167 additions and 0 deletions

View File

@ -19,6 +19,7 @@ type usersController struct {
type UsersController interface { type UsersController interface {
All(c *fiber.Ctx) error All(c *fiber.Ctx) error
Show(c *fiber.Ctx) error Show(c *fiber.Ctx) error
ShowByUsername(c *fiber.Ctx) error
ShowInfo(c *fiber.Ctx) error ShowInfo(c *fiber.Ctx) error
Save(c *fiber.Ctx) error Save(c *fiber.Ctx) error
Update(c *fiber.Ctx) error Update(c *fiber.Ctx) error
@ -115,6 +116,32 @@ func (_i *usersController) Show(c *fiber.Ctx) error {
}) })
} }
// ShowByUsername Users
// @Summary Get one Users
// @Description API for getting one Users
// @Tags Users
// @Security Bearer
// @Param username path string true "Username"
// @Success 200 {object} response.Response
// @Failure 400 {object} response.BadRequestError
// @Failure 401 {object} response.UnauthorizedError
// @Failure 500 {object} response.InternalServerError
// @Router /users/username/{username} [get]
func (_i *usersController) ShowByUsername(c *fiber.Ctx) error {
username := c.Params("username")
usersData, err := _i.usersService.ShowByUsername(username)
if err != nil {
return err
}
return utilRes.Resp(c, utilRes.Response{
Success: true,
Messages: utilRes.Messages{"Users successfully retrieved"},
Data: usersData,
})
}
// ShowInfo Users // ShowInfo Users
// @Summary ShowInfo Users // @Summary ShowInfo Users
// @Description API for ShowUserInfo // @Description API for ShowUserInfo

View File

@ -33,6 +33,7 @@ type usersService struct {
type UsersService interface { type UsersService interface {
All(req request.UsersQueryRequest) (users []*response.UsersResponse, paging paginator.Pagination, err error) All(req request.UsersQueryRequest) (users []*response.UsersResponse, paging paginator.Pagination, err error)
Show(id uint) (users *response.UsersResponse, err error) Show(id uint) (users *response.UsersResponse, err error)
ShowByUsername(username string) (users *response.UsersResponse, err error)
ShowUserInfo(authToken string) (users *response.UsersResponse, err error) ShowUserInfo(authToken string) (users *response.UsersResponse, err error)
Save(req request.UsersCreateRequest, authToken string) (userReturn *entity.Users, err error) Save(req request.UsersCreateRequest, authToken string) (userReturn *entity.Users, err error)
Login(req request.UserLogin) (res *gocloak.JWT, err error) Login(req request.UserLogin) (res *gocloak.JWT, err error)
@ -81,6 +82,15 @@ func (_i *usersService) Show(id uint) (users *response.UsersResponse, err error)
return mapper.UsersResponseMapper(result, _i.UserLevelsRepo), nil return mapper.UsersResponseMapper(result, _i.UserLevelsRepo), nil
} }
func (_i *usersService) ShowByUsername(username string) (users *response.UsersResponse, err error) {
result, err := _i.Repo.FindByUsername(username)
if err != nil {
return nil, err
}
return mapper.UsersResponseMapper(result, _i.UserLevelsRepo), nil
}
func (_i *usersService) ShowUserInfo(authToken string) (users *response.UsersResponse, err error) { func (_i *usersService) ShowUserInfo(authToken string) (users *response.UsersResponse, err error) {
userInfo := utilSvc.GetUserInfo(_i.Log, _i.Repo, authToken) userInfo := utilSvc.GetUserInfo(_i.Log, _i.Repo, authToken)

View File

@ -46,6 +46,7 @@ func (_i *UsersRouter) RegisterUsersRoutes() {
_i.App.Route("/users", func(router fiber.Router) { _i.App.Route("/users", func(router fiber.Router) {
router.Get("/", usersController.All) router.Get("/", usersController.All)
router.Get("/detail/:id", usersController.Show) router.Get("/detail/:id", usersController.Show)
router.Get("/username/:id", usersController.ShowByUsername)
router.Get("/info", usersController.ShowInfo) router.Get("/info", usersController.ShowInfo)
router.Post("/", usersController.Save) router.Post("/", usersController.Save)
router.Put("/:id", usersController.Update) router.Put("/:id", usersController.Update)

View File

@ -7168,6 +7168,55 @@ const docTemplate = `{
} }
} }
}, },
"/users/username/{username}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "API for getting one Users",
"tags": [
"Users"
],
"summary": "Get one Users",
"parameters": [
{
"type": "string",
"description": "Username",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/response.BadRequestError"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/response.UnauthorizedError"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/response.InternalServerError"
}
}
}
}
},
"/users/{id}": { "/users/{id}": {
"put": { "put": {
"security": [ "security": [

View File

@ -7157,6 +7157,55 @@
} }
} }
}, },
"/users/username/{username}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "API for getting one Users",
"tags": [
"Users"
],
"summary": "Get one Users",
"parameters": [
{
"type": "string",
"description": "Username",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/response.BadRequestError"
}
},
"401": {
"description": "Unauthorized",
"schema": {
"$ref": "#/definitions/response.UnauthorizedError"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/response.InternalServerError"
}
}
}
}
},
"/users/{id}": { "/users/{id}": {
"put": { "put": {
"security": [ "security": [

View File

@ -5374,4 +5374,35 @@ paths:
summary: SavePassword Users summary: SavePassword Users
tags: tags:
- Users - Users
/users/username/{username}:
get:
description: API for getting one Users
parameters:
- description: Username
in: path
name: username
required: true
type: string
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response'
"400":
description: Bad Request
schema:
$ref: '#/definitions/response.BadRequestError'
"401":
description: Unauthorized
schema:
$ref: '#/definitions/response.UnauthorizedError'
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/response.InternalServerError'
security:
- Bearer: []
summary: Get one Users
tags:
- Users
swagger: "2.0" swagger: "2.0"