Perbaikan Generate code
This commit is contained in:
@@ -0,0 +1,397 @@
|
||||
package pasien
|
||||
|
||||
import (
|
||||
"api-service/internal/models"
|
||||
"database/sql"
|
||||
"encoding/json"
|
||||
"time"
|
||||
)
|
||||
|
||||
// Pasien represents the data structure for the m_pasien table
|
||||
// with proper null handling and optimized JSON marshaling
|
||||
type Pasien struct {
|
||||
ID int32 `json:"id" db:"id"`
|
||||
Nomr sql.NullString `json:"nomr,omitempty" db:"nomr"`
|
||||
Status sql.NullString `json:"status,omitempty" db:"status"`
|
||||
Title sql.NullString `json:"title,omitempty" db:"title"`
|
||||
Nama sql.NullString `json:"nama,omitempty" db:"nama"`
|
||||
Tempat sql.NullString `json:"tempat,omitempty" db:"tempat"`
|
||||
Tgllahir sql.NullTime `json:"tgllahir,omitempty" db:"tgllahir"`
|
||||
Jeniskelamin sql.NullString `json:"jeniskelamin,omitempty" db:"jeniskelamin"`
|
||||
Alamat sql.NullString `json:"alamat,omitempty" db:"alamat"`
|
||||
Kelurahan sql.NullInt64 `json:"kelurahan,omitempty" db:"kelurahan"`
|
||||
Kdkecamatan sql.NullInt32 `json:"kdkecamatan,omitempty" db:"kdkecamatan"`
|
||||
Kota sql.NullInt32 `json:"kota,omitempty" db:"kota"`
|
||||
Kdprovinsi sql.NullInt32 `json:"kdprovinsi,omitempty" db:"kdprovinsi"`
|
||||
Agama sql.NullInt32 `json:"agama,omitempty" db:"agama"`
|
||||
NoKartu sql.NullString `json:"noKartu,omitempty" db:"no_kartu"`
|
||||
NoktpBaru sql.NullString `json:"noktpBaru,omitempty" db:"noktp_baru"`
|
||||
CreatedAt sql.NullTime `json:"createdAt,omitempty" db:"created_at"`
|
||||
UpdatedAt sql.NullTime `json:"updatedAt,omitempty" db:"updated_at"`
|
||||
Idprovinsi int32 `json:"idprovinsi" db:"idprovinsi"`
|
||||
Namaprovinsi sql.NullString `json:"namaprovinsi,omitempty" db:"namaprovinsi"`
|
||||
Idkota int32 `json:"idkota" db:"idkota"`
|
||||
Namakota sql.NullString `json:"namakota,omitempty" db:"namakota"`
|
||||
Idkecamatan int64 `json:"idkecamatan" db:"idkecamatan"`
|
||||
Namakecamatan sql.NullString `json:"namakecamatan,omitempty" db:"namakecamatan"`
|
||||
Idkelurahan int64 `json:"idkelurahan" db:"idkelurahan"`
|
||||
Namakelurahan sql.NullString `json:"namakelurahan,omitempty" db:"namakelurahan"`
|
||||
}
|
||||
|
||||
// Custom JSON marshaling for Pasien so NULL values don't appear in response
|
||||
func (r Pasien) MarshalJSON() ([]byte, error) {
|
||||
type Alias Pasien
|
||||
aux := &struct {
|
||||
*Alias
|
||||
Nomr *string `json:"nomr,omitempty"`
|
||||
Status *string `json:"status,omitempty"`
|
||||
Title *string `json:"title,omitempty"`
|
||||
Nama *string `json:"nama,omitempty"`
|
||||
Tempat *string `json:"tempat,omitempty"`
|
||||
Tgllahir *time.Time `json:"tgllahir,omitempty"`
|
||||
Jeniskelamin *string `json:"jeniskelamin,omitempty"`
|
||||
Alamat *string `json:"alamat,omitempty"`
|
||||
Kelurahan *int64 `json:"kelurahan,omitempty"`
|
||||
Kdkecamatan *int32 `json:"kdkecamatan,omitempty"`
|
||||
Kota *int32 `json:"kota,omitempty"`
|
||||
Kdprovinsi *int32 `json:"kdprovinsi,omitempty"`
|
||||
Agama *int32 `json:"agama,omitempty"`
|
||||
NoKartu *string `json:"noKartu,omitempty"`
|
||||
NoktpBaru *string `json:"noktpBaru,omitempty"`
|
||||
CreatedAt *time.Time `json:"createdAt,omitempty"`
|
||||
UpdatedAt *time.Time `json:"updatedAt,omitempty"`
|
||||
Namaprovinsi *string `json:"namaprovinsi,omitempty"`
|
||||
Namakota *string `json:"namakota,omitempty"`
|
||||
Namakecamatan *string `json:"namakecamatan,omitempty"`
|
||||
Namakelurahan *string `json:"namakelurahan,omitempty"`
|
||||
}{
|
||||
Alias: (*Alias)(&r),
|
||||
}
|
||||
|
||||
if r.Nomr.Valid {
|
||||
aux.Nomr = &r.Nomr.String
|
||||
}
|
||||
if r.Status.Valid {
|
||||
aux.Status = &r.Status.String
|
||||
}
|
||||
if r.Title.Valid {
|
||||
aux.Title = &r.Title.String
|
||||
}
|
||||
if r.Nama.Valid {
|
||||
aux.Nama = &r.Nama.String
|
||||
}
|
||||
if r.Tempat.Valid {
|
||||
aux.Tempat = &r.Tempat.String
|
||||
}
|
||||
if r.Tgllahir.Valid {
|
||||
aux.Tgllahir = &r.Tgllahir.Time
|
||||
}
|
||||
if r.Jeniskelamin.Valid {
|
||||
aux.Jeniskelamin = &r.Jeniskelamin.String
|
||||
}
|
||||
if r.Alamat.Valid {
|
||||
aux.Alamat = &r.Alamat.String
|
||||
}
|
||||
if r.Kelurahan.Valid {
|
||||
aux.Kelurahan = &r.Kelurahan.Int64
|
||||
}
|
||||
if r.Kdkecamatan.Valid {
|
||||
aux.Kdkecamatan = &r.Kdkecamatan.Int32
|
||||
}
|
||||
if r.Kota.Valid {
|
||||
aux.Kota = &r.Kota.Int32
|
||||
}
|
||||
if r.Kdprovinsi.Valid {
|
||||
aux.Kdprovinsi = &r.Kdprovinsi.Int32
|
||||
}
|
||||
if r.Agama.Valid {
|
||||
aux.Agama = &r.Agama.Int32
|
||||
}
|
||||
if r.NoKartu.Valid {
|
||||
aux.NoKartu = &r.NoKartu.String
|
||||
}
|
||||
if r.NoktpBaru.Valid {
|
||||
aux.NoktpBaru = &r.NoktpBaru.String
|
||||
}
|
||||
if r.CreatedAt.Valid {
|
||||
aux.CreatedAt = &r.CreatedAt.Time
|
||||
}
|
||||
if r.UpdatedAt.Valid {
|
||||
aux.UpdatedAt = &r.UpdatedAt.Time
|
||||
}
|
||||
if r.Namaprovinsi.Valid {
|
||||
aux.Namaprovinsi = &r.Namaprovinsi.String
|
||||
}
|
||||
if r.Namakota.Valid {
|
||||
aux.Namakota = &r.Namakota.String
|
||||
}
|
||||
if r.Namakecamatan.Valid {
|
||||
aux.Namakecamatan = &r.Namakecamatan.String
|
||||
}
|
||||
if r.Namakelurahan.Valid {
|
||||
aux.Namakelurahan = &r.Namakelurahan.String
|
||||
}
|
||||
return json.Marshal(aux)
|
||||
}
|
||||
|
||||
// Helper method to safely get Nomr
|
||||
func (r *Pasien) GetNomr() string {
|
||||
if r.Nomr.Valid {
|
||||
return r.Nomr.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Status
|
||||
func (r *Pasien) GetStatus() string {
|
||||
if r.Status.Valid {
|
||||
return r.Status.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Title
|
||||
func (r *Pasien) GetTitle() string {
|
||||
if r.Title.Valid {
|
||||
return r.Title.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Nama
|
||||
func (r *Pasien) GetNama() string {
|
||||
if r.Nama.Valid {
|
||||
return r.Nama.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Tempat
|
||||
func (r *Pasien) GetTempat() string {
|
||||
if r.Tempat.Valid {
|
||||
return r.Tempat.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Tgllahir
|
||||
func (r *Pasien) GetTgllahir() time.Time {
|
||||
if r.Tgllahir.Valid {
|
||||
return r.Tgllahir.Time
|
||||
}
|
||||
return time.Time{}
|
||||
}
|
||||
|
||||
// Helper method to safely get Jeniskelamin
|
||||
func (r *Pasien) GetJeniskelamin() string {
|
||||
if r.Jeniskelamin.Valid {
|
||||
return r.Jeniskelamin.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Alamat
|
||||
func (r *Pasien) GetAlamat() string {
|
||||
if r.Alamat.Valid {
|
||||
return r.Alamat.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Kelurahan
|
||||
func (r *Pasien) GetKelurahan() int64 {
|
||||
if r.Kelurahan.Valid {
|
||||
return r.Kelurahan.Int64
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// Helper method to safely get Kdkecamatan
|
||||
func (r *Pasien) GetKdkecamatan() int32 {
|
||||
if r.Kdkecamatan.Valid {
|
||||
return r.Kdkecamatan.Int32
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// Helper method to safely get Kota
|
||||
func (r *Pasien) GetKota() int32 {
|
||||
if r.Kota.Valid {
|
||||
return r.Kota.Int32
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// Helper method to safely get Kdprovinsi
|
||||
func (r *Pasien) GetKdprovinsi() int32 {
|
||||
if r.Kdprovinsi.Valid {
|
||||
return r.Kdprovinsi.Int32
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// Helper method to safely get Agama
|
||||
func (r *Pasien) GetAgama() int32 {
|
||||
if r.Agama.Valid {
|
||||
return r.Agama.Int32
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// Helper method to safely get NoKartu
|
||||
func (r *Pasien) GetNoKartu() string {
|
||||
if r.NoKartu.Valid {
|
||||
return r.NoKartu.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get NoktpBaru
|
||||
func (r *Pasien) GetNoktpBaru() string {
|
||||
if r.NoktpBaru.Valid {
|
||||
return r.NoktpBaru.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get CreatedAt
|
||||
func (r *Pasien) GetCreatedAt() time.Time {
|
||||
if r.CreatedAt.Valid {
|
||||
return r.CreatedAt.Time
|
||||
}
|
||||
return time.Time{}
|
||||
}
|
||||
|
||||
// Helper method to safely get UpdatedAt
|
||||
func (r *Pasien) GetUpdatedAt() time.Time {
|
||||
if r.UpdatedAt.Valid {
|
||||
return r.UpdatedAt.Time
|
||||
}
|
||||
return time.Time{}
|
||||
}
|
||||
|
||||
// Helper method to safely get Namaprovinsi
|
||||
func (r *Pasien) GetNamaprovinsi() string {
|
||||
if r.Namaprovinsi.Valid {
|
||||
return r.Namaprovinsi.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Namakota
|
||||
func (r *Pasien) GetNamakota() string {
|
||||
if r.Namakota.Valid {
|
||||
return r.Namakota.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Namakecamatan
|
||||
func (r *Pasien) GetNamakecamatan() string {
|
||||
if r.Namakecamatan.Valid {
|
||||
return r.Namakecamatan.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Helper method to safely get Namakelurahan
|
||||
func (r *Pasien) GetNamakelurahan() string {
|
||||
if r.Namakelurahan.Valid {
|
||||
return r.Namakelurahan.String
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// Response struct for delete
|
||||
type PasienDeleteResponse struct {
|
||||
Message string `json:"message"`
|
||||
ID string `json:"id"`
|
||||
}
|
||||
|
||||
// Response struct for by age
|
||||
type PasienAgeStatsResponse struct {
|
||||
Message string `json:"message"`
|
||||
Data map[string]interface{} `json:"data"`
|
||||
}
|
||||
|
||||
// Response struct for create
|
||||
type PasienCreateResponse struct {
|
||||
Message string `json:"message"`
|
||||
Data *Pasien `json:"data"`
|
||||
}
|
||||
|
||||
// Request struct for create
|
||||
type PasienCreateRequest struct {
|
||||
Status *string `json:"status" validate:"required,oneof=draft active inactive"`
|
||||
ID *int32 `json:"id"`
|
||||
Nomr *string `json:"nomr"`
|
||||
Title *string `json:"title" validate:"required,min=1,max=100"`
|
||||
Nama *string `json:"nama" validate:"required,min=1,max=100"`
|
||||
Tempat *string `json:"tempat"`
|
||||
Tgllahir *time.Time `json:"tgllahir"`
|
||||
Jeniskelamin *string `json:"jeniskelamin" validate:"oneof=L P"`
|
||||
Alamat *string `json:"alamat"`
|
||||
Kelurahan *int64 `json:"kelurahan"`
|
||||
Kdkecamatan *int32 `json:"kdkecamatan"`
|
||||
Kota *int32 `json:"kota"`
|
||||
Kdprovinsi *int32 `json:"kdprovinsi"`
|
||||
Agama *int32 `json:"agama"`
|
||||
NoKartu *string `json:"noKartu"`
|
||||
NoktpBaru *string `json:"noktpBaru"`
|
||||
}
|
||||
|
||||
// Response struct for GET list
|
||||
type PasienGetResponse struct {
|
||||
Message string `json:"message"`
|
||||
Data []Pasien `json:"data"`
|
||||
Meta models.MetaResponse `json:"meta"`
|
||||
Summary *models.AggregateData `json:"summary,omitempty"`
|
||||
}
|
||||
|
||||
// Response struct for update
|
||||
type PasienUpdateResponse struct {
|
||||
Message string `json:"message"`
|
||||
Data *Pasien `json:"data"`
|
||||
}
|
||||
|
||||
// Update request
|
||||
type PasienUpdateRequest struct {
|
||||
ID *int32 `json:"-" validate:"required"`
|
||||
Status *string `json:"status" validate:"required,oneof=draft active inactive"`
|
||||
Nomr *string `json:"nomr"`
|
||||
Title *string `json:"title" validate:"omitempty,min=1,max=255"`
|
||||
Nama *string `json:"nama" validate:"required,min=1,max=100"`
|
||||
Tempat *string `json:"tempat"`
|
||||
Tgllahir *time.Time `json:"tgllahir"`
|
||||
Jeniskelamin *string `json:"jeniskelamin" validate:"oneof=L P"`
|
||||
Alamat *string `json:"alamat"`
|
||||
Kelurahan *int64 `json:"kelurahan"`
|
||||
Kdkecamatan *int32 `json:"kdkecamatan"`
|
||||
Kota *int32 `json:"kota"`
|
||||
Kdprovinsi *int32 `json:"kdprovinsi"`
|
||||
Agama *int32 `json:"agama"`
|
||||
NoKartu *string `json:"noKartu"`
|
||||
NoktpBaru *string `json:"noktpBaru"`
|
||||
}
|
||||
|
||||
// Response struct for get by ID
|
||||
type PasienGetByIDResponse struct {
|
||||
Message string `json:"message"`
|
||||
Data *Pasien `json:"data"`
|
||||
}
|
||||
|
||||
// Response struct for get by nomr
|
||||
type PasienGetByNomrResponse struct {
|
||||
Message string `json:"message"`
|
||||
Data []Pasien `json:"data"`
|
||||
Meta models.MetaResponse `json:"meta"`
|
||||
Summary *models.AggregateData `json:"summary,omitempty"`
|
||||
}
|
||||
|
||||
// Filter struct for query parameters
|
||||
type PasienFilter struct {
|
||||
Search *string `json:"search,omitempty" form:"search"`
|
||||
DateFrom *time.Time `json:"date_from,omitempty" form:"date_from"`
|
||||
DateTo *time.Time `json:"date_to,omitempty" form:"date_to"`
|
||||
Status *string `json:"status,omitempty" form:"status"`
|
||||
}
|
||||
Reference in New Issue
Block a user