61 lines
3.8 KiB
Go
61 lines
3.8 KiB
Go
package form
|
|
|
|
import (
|
|
"encoding/json"
|
|
)
|
|
|
|
type CreateUserBatch struct {
|
|
Data []UserFormBatch `json:"data" xml:"data" form:"data"`
|
|
}
|
|
|
|
type UserFormBatch struct {
|
|
Nip string `json:"nip" xml:"nip" example:"196304111990032001"`
|
|
LoginPasswd string `json:"login_passwd" xml:"login_passwd" example:"$2a$14$yQgiZEIuxa/o6Y"`
|
|
IdDaerah int `json:"id_daerah" xml:"id_daerah" example:"1100"`
|
|
IdSkpd int `json:"id_skpd" xml:"id_skpd" example:"1100"`
|
|
KodeSkpd string `json:"kode_skpd" xml:"kode_skpd"`
|
|
NamaSkpd string `json:"nama_skpd" xml:"nama_skpd"`
|
|
NamaUser string `json:"nama_user" xml:"nama_user" example:"John"`
|
|
IdPangGol int `json:"id_pang_gol" xml:"id_pang_gol" example:"0"`
|
|
NikUser string `json:"nik_user" xml:"nik_user" example:"3201020101990001"`
|
|
NpwpUser string `json:"npwp_user" xml:"npwp_user" example:"12345678"`
|
|
Alamat string `json:"alamat" xml:"alamat" example:"Provinsi Sumatera Selatan"`
|
|
Hashed bool `json:"hashed" xml:"hashed"`
|
|
LoginAtempt int `json:"login_atempt" xml:"login_atempt"`
|
|
NextLogin int `json:"next_login" xml:"next_login"`
|
|
IsBudSekda int `json:"is_bud_sekda" xml:"is_bud_sekda" example:"1"` // 0=PA, 1=BUD, 2=SEKDA
|
|
}
|
|
|
|
type UpdateUserForm struct {
|
|
Nip string `json:"nip" form:"nip" xml:"nip" validate:"required,len=18" example:"196601072007011014"` // NIP
|
|
NamaUser string `json:"nama_user" form:"nama_user" xml:"nama_user" validate:"required" example:"Kab. Tanggamus"` // Nama User (Ex: Kab Tanggamus)
|
|
Nik string `json:"nik" form:"nik" xml:"nik" validate:"required,len=16" example:"123456789876543213"` // NIK
|
|
Npwp string `json:"npwp" form:"npwp" xml:"npwp" validate:"required" example:"123456789876543213"` // NPWP
|
|
Alamat string `json:"alamat" form:"alamat" xml:"alamat" example:"xxxx"` // Alamat
|
|
TglLahir string `json:"tgl_lahir" form:"tgl_lahir" xml:"tgl_lahir" example:"1945-08-17"` // Tanggal lahir
|
|
IdPangGol uint `json:"id_pang_gol" xml:"id_pang_gol" form:"id_pang_gol" validate:"required" example:"1"` // ID pangkat/golongan
|
|
}
|
|
|
|
type UserForm struct {
|
|
Password string `json:"password" form:"password" xml:"password" validate:"required" example:"123456"` // Password user
|
|
PasswordRepeat string `json:"password_repeat" form:"password_repeat" xml:"password_repeat" example:"123456" validate:"required,eqfield=Password"` // Confirm Password user
|
|
Nip string `json:"nip" form:"nip" xml:"nip" validate:"required" example:"123456789876543213"` // NIP
|
|
NamaUser string `json:"nama_user" form:"nama_user" xml:"nama_user" validate:"required" example:"Kab. Tanggamus"` // Nama User (Ex: Kab Tanggamus)
|
|
Nik string `json:"nik" form:"nik" xml:"nik" validate:"required" example:"123456789876543213"` // NIK
|
|
Npwp string `json:"npwp" form:"npwp" xml:"npwp" validate:"required" example:"123456789876543213"` // NPWP
|
|
Alamat string `json:"alamat" form:"alamat" xml:"alamat" example:"xxxx"` // Alamat
|
|
TglLahir string `json:"tgl_lahir" form:"tgl_lahir" xml:"tgl_lahir" example:"1945-08-17"` // Tanggal lahir
|
|
IdPangGol uint `json:"id_pang_gol" xml:"id_pang_gol" form:"id_pang_gol" validate:"required" example:"1"` // ID pangkat/golongan
|
|
}
|
|
|
|
// FromJSON decode json to user struct
|
|
func (u *UserForm) FromJSON(msg []byte) error {
|
|
return json.Unmarshal(msg, u)
|
|
}
|
|
|
|
// ToJSON encode user struct to json
|
|
func (u *UserForm) ToJSON() []byte {
|
|
str, _ := json.Marshal(u)
|
|
return str
|
|
}
|