package dto import ( "time" "github.com/google/uuid" ) // UserStatus defines the possible status values for a user type UserStatus string const ( UserStatusApproved UserStatus = "approved" UserStatusRejected UserStatus = "rejected" UserStatusPending UserStatus = "pending" ) type UserRegisterDTO struct { Name string `json:"name" validate:"required,min=2,max=100,alphaspace"` Username string `json:"username" validate:"required,min=3,max=50,alphanumunderscore,nospace"` Password string `json:"password" validate:"required,min=6,max=100"` NomorInduk string `json:"nomor_induk" validate:"required,min=3,max=50,alphanum"` } type UserLoginDTO struct { Username string `json:"username" validate:"required"` Password string `json:"password" validate:"required"` } type PendingUserResponse struct { ID uuid.UUID `json:"id"` Name string `json:"name"` Username string `json:"username"` NomorInduk *string `json:"nomor_induk"` RoleName string `json:"role_name"` Status UserStatus `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }