142 lines
4.7 KiB
Go
142 lines
4.7 KiB
Go
package master
|
|
|
|
import (
|
|
"database/sql"
|
|
"encoding/json"
|
|
)
|
|
|
|
type ListPoli struct {
|
|
TipeAnjungan string `json:"Tipe_Anjungan" db:"tipeanjungan"`
|
|
Active bool `json:"active" db:"active"`
|
|
IDKlinik sql.NullString `json:"idklinik" db:"idklinik"`
|
|
NamaKlinik sql.NullString `json:"namaklinik" db:"namaklinik"`
|
|
Code string `json:"code" db:"code"`
|
|
IDSpesialis sql.NullInt64 `json:"idspesialis" db:"idspesialis"`
|
|
Spesialis sql.NullString `json:"Spesialis" db:"spesialis"`
|
|
Hari string `json:"hari" db:"hari"`
|
|
JamMulai string `json:"jammulai" db:"mulai"`
|
|
JamSelesai string `json:"jamselesai" db:"selesai"`
|
|
JamAnjungan string `json:"mulaianjungan" db:"mulaianjungan"`
|
|
Selesaianjungan string `json:"selesaianjungan" db:"selesaianjungan"`
|
|
Shift sql.NullInt64 `json:"shift" db:"shift"`
|
|
Kuota sql.NullInt64 `json:"kuota" db:"kuota"`
|
|
IDloket sql.NullString `json:"idloket" db:"idloket"`
|
|
Namaloket sql.NullString `json:"namaloket" db:"namaloket"`
|
|
KodeLoket sql.NullString `json:"kodeloket" db:"kodeloket"`
|
|
QuotaLoket sql.NullInt64 `json:"quota_loket" db:"quota_loket"`
|
|
AvailableQuota sql.NullInt64 `json:"available_quota" db:"available_quota"`
|
|
IdPayment sql.NullInt64 `json:"idpayment" db:"idpayment"`
|
|
PaymentType sql.NullString `json:"paymenttype" db:"paymenttype"`
|
|
}
|
|
|
|
type LoketDetail struct {
|
|
IDLoket string `json:"idloket"`
|
|
NamaLoket string `json:"namaloket"`
|
|
KodeLoket string `json:"kodeloket"`
|
|
AvailableQuota int `json:"available_quota"`
|
|
}
|
|
|
|
type PoliklinikGrouped struct {
|
|
TipeAnjungan string `json:"Tipe_Anjungan"`
|
|
Active bool `json:"active"`
|
|
IDKlinik string `json:"idklinik"`
|
|
NamaKlinik string `json:"namaklinik"`
|
|
Code string `json:"code"`
|
|
Shift sql.NullInt64 `json:"shift"`
|
|
Kuota sql.NullInt64 `json:"kuota"`
|
|
Jadwal []ScheduleDetail `json:"jadwal"`
|
|
Spesialis []SpesialisDetail `json:"spesialis"`
|
|
Loket []LoketDetail `json:"loket"`
|
|
Payment []PaymentDetail `json:"payment"`
|
|
}
|
|
|
|
type SpesialisDetail struct {
|
|
IDSpesialis int `json:"idspesialis"`
|
|
Spesialis string `json:"Spesialis"`
|
|
}
|
|
|
|
type PoliklinikResponse struct {
|
|
Message string `json:"message"`
|
|
Data []*PoliklinikGrouped `json:"data"`
|
|
Meta map[string]interface{} `json:"meta"`
|
|
}
|
|
type ScheduleDetail struct {
|
|
Hari string `json:"hari"`
|
|
JamOperasional string `json:"jam_operasional"`
|
|
}
|
|
|
|
type PaymentDetail struct {
|
|
IDPayment int `json:"idpayment"`
|
|
PaymentType string `json:"payment_type"`
|
|
}
|
|
type ListLoket struct {
|
|
IdLoket string `json:"idloket" db:"idloket"`
|
|
NamaLoket string `json:"namaloket" db:"namaloket"`
|
|
KodeLoket string `json:"kodeloket" db:"kodeloket"`
|
|
KuotaLoket string `json:"kuotaloket" db:"kuotaloket"`
|
|
LoketAktif bool `json:"loketatif" db:"loketaktif"`
|
|
JenisLoket string `json:"jenisoket" db:"jenisloket"`
|
|
TipeLoket string `json:"tipeloket" db:"tipeloket"`
|
|
TipeVisit string `json:"tipevisit" db:"tipevisit"`
|
|
Pembayaran string `json:"pembayaran" db:"pembayaran"`
|
|
IDKlinik string `json:"idklinik" db:"idklinik"`
|
|
NamaKlinik string `json:"namaklinik" db:"namaklinik"`
|
|
}
|
|
|
|
type LoketResponse struct {
|
|
Message string `json:"message"`
|
|
Data []*LoketGrouped `json:"data"`
|
|
Meta map[string]interface{} `json:"meta"`
|
|
}
|
|
|
|
type LoketGrouped struct {
|
|
IdLoket string `json:"idloket"`
|
|
TipeAnjungan string `json:"namaloket"`
|
|
KodeLoket string `json:"kodeloket"`
|
|
KuotaLoket string `json:"kuotaloket"`
|
|
LoketAktif bool `json:"loketaktif"`
|
|
JenisLoket string `json:"jenisloket"`
|
|
TipeLoket string `json:"tipeloket"`
|
|
TipeVisit []ListVisit `json:"tipevisit"`
|
|
NamaKlinik []ListKlinik `json:"spesialis"`
|
|
NamaPembayaran []ListPembayaran `json:"pembayaran"`
|
|
}
|
|
|
|
type ListVisit struct {
|
|
TipeVisit string `json:"tipevisit"`
|
|
}
|
|
|
|
type ListKlinik struct {
|
|
IDKlinik string `json:"idklinik"`
|
|
NamaKlinik string `json:"namaklinik"`
|
|
}
|
|
|
|
type ListPembayaran struct {
|
|
IDPayment int `json:"idpayment"`
|
|
NamaPembayaran string `json:"pembayaran"`
|
|
}
|
|
|
|
func (p PoliklinikGrouped) MarshalJSON() ([]byte, error) {
|
|
type Alias PoliklinikGrouped
|
|
aux := &struct {
|
|
Shift *int `json:"shift,omitempty"`
|
|
Kuota *int `json:"kuota,omitempty"`
|
|
*Alias
|
|
}{
|
|
Alias: (*Alias)(&p),
|
|
}
|
|
|
|
// Convert sql.NullInt64 to pointer
|
|
if p.Shift.Valid {
|
|
shift := int(p.Shift.Int64)
|
|
aux.Shift = &shift
|
|
}
|
|
|
|
if p.Kuota.Valid {
|
|
kuota := int(p.Kuota.Int64)
|
|
aux.Kuota = &kuota
|
|
}
|
|
|
|
return json.Marshal(aux)
|
|
}
|