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 {
All(c *fiber.Ctx) error
Show(c *fiber.Ctx) error
ShowInfo(c *fiber.Ctx) error
Save(c *fiber.Ctx) error
Update(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 401 {object} response.UnauthorizedError
// @Failure 500 {object} response.InternalServerError
// @Router /users/{id} [get]
// @Router /users/detail/{id} [get]
func (_i *usersController) Show(c *fiber.Ctx) error {
id, err := strconv.ParseUint(c.Params("id"), 10, 0)
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
// @Summary Create Users
// @Description API for create Users

View File

@ -23,6 +23,7 @@ type usersService struct {
type UsersService interface {
All(req request.UsersQueryRequest) (users []*response.UsersResponse, paging paginator.Pagination, 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)
Login(req request.UserLogin) (res *gocloak.JWT, 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
}
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) {
_i.Log.Info().Interface("data", req).Msg("")
newReq := req.ToEntity()

View File

@ -45,7 +45,8 @@ func (_i *UsersRouter) RegisterUsersRoutes() {
// define routes
_i.App.Route("/users", func(router fiber.Router) {
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.Put("/:id", usersController.Update)
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": {
"post": {
"security": [
@ -7939,53 +8038,6 @@ const docTemplate = `{
}
},
"/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": {
"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": {
"post": {
"security": [
@ -7928,53 +8027,6 @@
}
},
"/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": {
"security": [
{

View File

@ -5826,36 +5826,6 @@ paths:
summary: delete Users
tags:
- 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:
description: API for update Users
parameters:
@ -5892,6 +5862,69 @@ paths:
summary: update Users
tags:
- 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:
post:
description: API for Login Users