feat: update users info

This commit is contained in:
hanif salafi 2024-07-03 00:46:52 +07:00
parent 3b501cb314
commit 983522d33d
6 changed files with 297 additions and 126 deletions

View File

@ -18,6 +18,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
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
Login(c *fiber.Ctx) error Login(c *fiber.Ctx) error
@ -84,7 +85,7 @@ func (_i *usersController) All(c *fiber.Ctx) error {
// @Failure 400 {object} response.BadRequestError // @Failure 400 {object} response.BadRequestError
// @Failure 401 {object} response.UnauthorizedError // @Failure 401 {object} response.UnauthorizedError
// @Failure 500 {object} response.InternalServerError // @Failure 500 {object} response.InternalServerError
// @Router /users/{id} [get] // @Router /users/detail/{id} [get]
func (_i *usersController) Show(c *fiber.Ctx) error { func (_i *usersController) Show(c *fiber.Ctx) error {
id, err := strconv.ParseUint(c.Params("id"), 10, 0) id, err := strconv.ParseUint(c.Params("id"), 10, 0)
if err != nil { if err != nil {
@ -103,6 +104,31 @@ func (_i *usersController) Show(c *fiber.Ctx) error {
}) })
} }
// ShowInfo Users
// @Summary ShowInfo Users
// @Description API for ShowUserInfo
// @Tags Users
// @Security Bearer
// @Param Authorization header string true "Insert your access token" default(Bearer <Add access token here>)
// @Success 200 {object} response.Response
// @Failure 400 {object} response.BadRequestError
// @Failure 401 {object} response.UnauthorizedError
// @Failure 500 {object} response.InternalServerError
// @Router /users/info [get]
func (_i *usersController) ShowInfo(c *fiber.Ctx) error {
authToken := c.Get("Authorization")
dataResult, err := _i.usersService.ShowUserInfo(authToken)
if err != nil {
return err
}
return utilRes.Resp(c, utilRes.Response{
Success: true,
Messages: utilRes.Messages{"Users successfully retrieve"},
Data: dataResult,
})
}
// Save Users // Save Users
// @Summary Create Users // @Summary Create Users
// @Description API for create Users // @Description API for create Users

View File

@ -23,6 +23,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)
ShowUserInfo(authToken string) (users *response.UsersResponse, err error)
Save(req request.UsersCreateRequest, authToken string) (err error) Save(req request.UsersCreateRequest, authToken string) (err error)
Login(req request.UserLogin) (res *gocloak.JWT, err error) Login(req request.UserLogin) (res *gocloak.JWT, err error)
Update(id uint, req request.UsersUpdateRequest) (err error) Update(id uint, req request.UsersUpdateRequest) (err error)
@ -62,6 +63,12 @@ func (_i *usersService) Show(id uint) (users *response.UsersResponse, err error)
return mapper.UsersResponseMapper(result), nil return mapper.UsersResponseMapper(result), nil
} }
func (_i *usersService) ShowUserInfo(authToken string) (users *response.UsersResponse, err error) {
userInfo := utilSvc.GetUserInfo(_i.Log, _i.Repo, authToken)
return mapper.UsersResponseMapper(userInfo), nil
}
func (_i *usersService) Save(req request.UsersCreateRequest, authToken string) (err error) { func (_i *usersService) Save(req request.UsersCreateRequest, authToken string) (err error) {
_i.Log.Info().Interface("data", req).Msg("") _i.Log.Info().Interface("data", req).Msg("")
newReq := req.ToEntity() newReq := req.ToEntity()

View File

@ -45,7 +45,8 @@ func (_i *UsersRouter) RegisterUsersRoutes() {
// define routes // define routes
_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("/:id", usersController.Show) router.Get("/detail/:id", usersController.Show)
router.Get("/info", usersController.ShowInfo)
router.Post("/", usersController.Save) router.Post("/", usersController.Save)
router.Put("/:id", usersController.Update) router.Put("/:id", usersController.Update)
router.Post("/login", usersController.Login) router.Post("/login", usersController.Login)

View File

@ -7887,6 +7887,105 @@ const docTemplate = `{
} }
} }
}, },
"/users/detail/{id}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "API for getting one Users",
"tags": [
"Users"
],
"summary": "Get one Users",
"parameters": [
{
"type": "integer",
"description": "Users ID",
"name": "id",
"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/info": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "API for ShowUserInfo",
"tags": [
"Users"
],
"summary": "ShowInfo Users",
"parameters": [
{
"type": "string",
"default": "Bearer \u003cAdd access token here\u003e",
"description": "Insert your access token",
"name": "Authorization",
"in": "header",
"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/login": { "/users/login": {
"post": { "post": {
"security": [ "security": [
@ -7939,53 +8038,6 @@ const docTemplate = `{
} }
}, },
"/users/{id}": { "/users/{id}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "API for getting one Users",
"tags": [
"Users"
],
"summary": "Get one Users",
"parameters": [
{
"type": "integer",
"description": "Users ID",
"name": "id",
"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"
}
}
}
},
"put": { "put": {
"security": [ "security": [
{ {

View File

@ -7876,6 +7876,105 @@
} }
} }
}, },
"/users/detail/{id}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "API for getting one Users",
"tags": [
"Users"
],
"summary": "Get one Users",
"parameters": [
{
"type": "integer",
"description": "Users ID",
"name": "id",
"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/info": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "API for ShowUserInfo",
"tags": [
"Users"
],
"summary": "ShowInfo Users",
"parameters": [
{
"type": "string",
"default": "Bearer \u003cAdd access token here\u003e",
"description": "Insert your access token",
"name": "Authorization",
"in": "header",
"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/login": { "/users/login": {
"post": { "post": {
"security": [ "security": [
@ -7928,53 +8027,6 @@
} }
}, },
"/users/{id}": { "/users/{id}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "API for getting one Users",
"tags": [
"Users"
],
"summary": "Get one Users",
"parameters": [
{
"type": "integer",
"description": "Users ID",
"name": "id",
"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"
}
}
}
},
"put": { "put": {
"security": [ "security": [
{ {

View File

@ -5826,36 +5826,6 @@ paths:
summary: delete Users summary: delete Users
tags: tags:
- Users - Users
get:
description: API for getting one Users
parameters:
- description: Users ID
in: path
name: id
required: true
type: integer
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
put: put:
description: API for update Users description: API for update Users
parameters: parameters:
@ -5892,6 +5862,69 @@ paths:
summary: update Users summary: update Users
tags: tags:
- Users - Users
/users/detail/{id}:
get:
description: API for getting one Users
parameters:
- description: Users ID
in: path
name: id
required: true
type: integer
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
/users/info:
get:
description: API for ShowUserInfo
parameters:
- default: Bearer <Add access token here>
description: Insert your access token
in: header
name: Authorization
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: ShowInfo Users
tags:
- Users
/users/login: /users/login:
post: post:
description: API for Login Users description: API for Login Users