init project
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
package request
|
||||
|
||||
import (
|
||||
"furtuna-be/internal/constants/role"
|
||||
"furtuna-be/internal/entity"
|
||||
|
||||
"github.com/go-playground/validator/v10"
|
||||
)
|
||||
|
||||
type User struct {
|
||||
Name string `json:"name" validate:"required"`
|
||||
Email string `json:"email" validate:"required"`
|
||||
Password string `json:"password" validate:"required"`
|
||||
PartnerID *int64 `json:"partner_id"`
|
||||
RoleID int64 `json:"role_id" validate:"required"`
|
||||
NIK string `json:"nik"`
|
||||
UserType string `json:"user_type"`
|
||||
PhoneNumber string `json:"phone_number"`
|
||||
}
|
||||
|
||||
func (e *User) Validate() error {
|
||||
validate := validator.New()
|
||||
if err := validate.Struct(e); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (u *User) ToEntity() *entity.User {
|
||||
return &entity.User{
|
||||
Name: u.Name,
|
||||
Email: u.Email,
|
||||
Password: u.Password,
|
||||
RoleID: role.Role(u.RoleID),
|
||||
PartnerID: u.PartnerID,
|
||||
}
|
||||
}
|
||||
|
||||
type UserParam struct {
|
||||
Search string `form:"search" json:"search" example:"admin,branch1"`
|
||||
Name string `form:"name" json:"name" example:"Admin 1"`
|
||||
RoleID int64 `form:"role_id" json:"role_id" example:"1"`
|
||||
PartnerID int64 `form:"partner_id" json:"partner_id" example:"1"`
|
||||
Limit int `form:"limit,default=10" json:"limit" example:"10"`
|
||||
Offset int `form:"offset,default=0" json:"offset" example:"0"`
|
||||
}
|
||||
|
||||
func (p *UserParam) ToEntity() entity.UserSearch {
|
||||
return entity.UserSearch{
|
||||
Search: p.Search,
|
||||
Name: p.Name,
|
||||
RoleID: p.RoleID,
|
||||
PartnerID: p.PartnerID,
|
||||
Limit: p.Limit,
|
||||
Offset: p.Offset,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user