gogjango/gjango

View on GitHub
request/user.go

Summary

Maintainability
A
0 mins
Test Coverage
package request

import (
    "github.com/gin-gonic/gin"
    "github.com/gogjango/gjango/apperr"
)

// UpdateUser contains user update data from json request
type UpdateUser struct {
    ID        int     `json:"-"`
    FirstName *string `json:"first_name,omitempty" binding:"omitempty,min=2"`
    LastName  *string `json:"last_name,omitempty" binding:"omitempty,min=2"`
    Mobile    *string `json:"mobile,omitempty"`
    Phone     *string `json:"phone,omitempty"`
    Address   *string `json:"address,omitempty"`
}

// UserUpdate validates user update request
func UserUpdate(c *gin.Context) (*UpdateUser, error) {
    var u UpdateUser
    id, err := ID(c)
    if err != nil {
        return nil, err
    }
    if err := c.ShouldBindJSON(&u); err != nil {
        apperr.Response(c, err)
        return nil, err
    }
    u.ID = id
    return &u, nil
}