sipd-auth/model/form/user_manager.go
2025-09-16 08:32:11 +07:00

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
}