Merge branch 'migration' of https://github.com/dikstub-rssa/simrs-be into migration-vanilia
# Conflicts: # cmd/main-migration/migrations/atlas.sum # internal/interface/migration/main-entities.go
This commit is contained in:
@@ -11,7 +11,7 @@ import (
|
||||
e "simrs-vx/internal/domain/main-entities/adime"
|
||||
u "simrs-vx/internal/use-case/main-use-case/adime"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
)
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
package adm_employee_hist
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
rw "github.com/karincake/risoles"
|
||||
sf "github.com/karincake/semprit"
|
||||
|
||||
// ua "github.com/karincake/tumpeng/auth/svc"
|
||||
|
||||
e "simrs-vx/internal/domain/main-entities/adm-employee-hist"
|
||||
u "simrs-vx/internal/use-case/main-use-case/adm-employee-hist"
|
||||
)
|
||||
|
||||
type myBase struct{}
|
||||
|
||||
var O myBase
|
||||
|
||||
func (obj myBase) Create(w http.ResponseWriter, r *http.Request) {
|
||||
dto := e.CreateDto{}
|
||||
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
|
||||
return
|
||||
}
|
||||
res, err := u.Create(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) GetList(w http.ResponseWriter, r *http.Request) {
|
||||
dto := e.ReadListDto{}
|
||||
sf.UrlQueryParam(&dto, *r.URL)
|
||||
res, err := u.ReadList(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) GetDetail(w http.ResponseWriter, r *http.Request) {
|
||||
id := rw.ValidateInt(w, "id", r.PathValue("id"))
|
||||
if id <= 0 {
|
||||
return
|
||||
}
|
||||
dto := e.ReadDetailDto{}
|
||||
dto.Id = uint16(id)
|
||||
res, err := u.ReadDetail(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) Update(w http.ResponseWriter, r *http.Request) {
|
||||
id := rw.ValidateInt(w, "id", r.PathValue("id"))
|
||||
if id <= 0 {
|
||||
return
|
||||
}
|
||||
|
||||
dto := e.UpdateDto{}
|
||||
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
|
||||
return
|
||||
}
|
||||
dto.Id = uint16(id)
|
||||
res, err := u.Update(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) Delete(w http.ResponseWriter, r *http.Request) {
|
||||
id := rw.ValidateInt(w, "id", r.PathValue("id"))
|
||||
if id <= 0 {
|
||||
return
|
||||
}
|
||||
|
||||
dto := e.DeleteDto{}
|
||||
dto.Id = uint16(id)
|
||||
res, err := u.Delete(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import (
|
||||
m "simrs-vx/internal/domain/main-entities/user"
|
||||
s "simrs-vx/internal/use-case/main-use-case/authentication"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
)
|
||||
|
||||
func Login(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
@@ -14,7 +14,7 @@ import (
|
||||
|
||||
u "simrs-vx/internal/use-case/main-use-case/chemo"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
)
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
e "simrs-vx/internal/domain/main-entities/consultation"
|
||||
u "simrs-vx/internal/use-case/main-use-case/consultation"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
)
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
e "simrs-vx/internal/domain/main-entities/device-order"
|
||||
u "simrs-vx/internal/use-case/main-use-case/device-order"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
)
|
||||
|
||||
@@ -12,7 +12,7 @@ import (
|
||||
u "simrs-vx/internal/use-case/main-use-case/encounter"
|
||||
|
||||
erc "simrs-vx/internal/domain/references/common"
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
)
|
||||
@@ -36,7 +36,12 @@ func (obj myBase) Create(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func (obj myBase) GetList(w http.ResponseWriter, r *http.Request) {
|
||||
authInfo, err := pa.GetAuthInfo(r)
|
||||
if err != nil {
|
||||
rw.WriteJSON(w, http.StatusUnauthorized, d.IS{"message": err.Error()}, nil)
|
||||
}
|
||||
dto := e.ReadListDto{}
|
||||
dto.AuthInfo = *authInfo
|
||||
sf.UrlQueryParam(&dto, *r.URL)
|
||||
res, err := u.ReadList(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
@@ -102,6 +107,27 @@ func (obj myBase) CheckOut(w http.ResponseWriter, r *http.Request) {
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) CheckIn(w http.ResponseWriter, r *http.Request) {
|
||||
dto := e.CheckinDto{}
|
||||
id := rw.ValidateInt(w, "id", r.PathValue("id"))
|
||||
if id <= 0 {
|
||||
return
|
||||
}
|
||||
|
||||
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
|
||||
return
|
||||
}
|
||||
|
||||
// validate request body
|
||||
if valid := validateRequestCheckIn(w, dto); !valid {
|
||||
return
|
||||
}
|
||||
|
||||
dto.Id = uint(id)
|
||||
res, err := u.CheckIn(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) Process(w http.ResponseWriter, r *http.Request) {
|
||||
id := rw.ValidateInt(w, "id", r.PathValue("id"))
|
||||
if id <= 0 {
|
||||
|
||||
@@ -10,9 +10,9 @@ import (
|
||||
rw "github.com/karincake/risoles"
|
||||
)
|
||||
|
||||
func validateRequestCheckout(w http.ResponseWriter, i e.DischargeDto) (valid bool) {
|
||||
const dataValidationFail = ""
|
||||
const dataValidationFail = "data-validation-fail"
|
||||
|
||||
func validateRequestCheckout(w http.ResponseWriter, i e.DischargeDto) (valid bool) {
|
||||
switch *i.Discharge_Method_Code {
|
||||
case ere.DMCDeath:
|
||||
if i.DeathCause == nil {
|
||||
@@ -51,3 +51,15 @@ func validateRequestCheckout(w http.ResponseWriter, i e.DischargeDto) (valid boo
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func validateRequestCheckIn(w http.ResponseWriter, i e.CheckinDto) (valid bool) {
|
||||
if i.Responsible_Doctor_Id == nil {
|
||||
rw.DataResponse(w, nil, d.FieldError{
|
||||
Code: dataValidationFail,
|
||||
Message: "responsible_doctor_id required",
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
/******************** main / transaction ********************/
|
||||
adime "simrs-vx/internal/interface/main-handler/adime"
|
||||
admemployeehist "simrs-vx/internal/interface/main-handler/adm-employee-hist"
|
||||
ambulancetransportrequest "simrs-vx/internal/interface/main-handler/ambulance-transport-req"
|
||||
auth "simrs-vx/internal/interface/main-handler/authentication"
|
||||
chemo "simrs-vx/internal/interface/main-handler/chemo"
|
||||
@@ -27,6 +28,7 @@ import (
|
||||
practiceschedule "simrs-vx/internal/interface/main-handler/practice-schedule"
|
||||
prescription "simrs-vx/internal/interface/main-handler/prescription"
|
||||
prescriptionitem "simrs-vx/internal/interface/main-handler/prescription-item"
|
||||
responsibledoctorhist "simrs-vx/internal/interface/main-handler/responsible-doctor-hist"
|
||||
sbar "simrs-vx/internal/interface/main-handler/sbar"
|
||||
soapi "simrs-vx/internal/interface/main-handler/soapi"
|
||||
|
||||
@@ -48,6 +50,7 @@ import (
|
||||
hk "github.com/karincake/hongkue"
|
||||
|
||||
/******************** infra ********************/
|
||||
ibpjs "simrs-vx/internal/infra/bpjs"
|
||||
gs "simrs-vx/internal/infra/gorm-setting"
|
||||
minio "simrs-vx/internal/infra/minio"
|
||||
ssdb "simrs-vx/internal/infra/ss-db"
|
||||
@@ -116,6 +119,7 @@ func SetRoutes() http.Handler {
|
||||
a.RegisterExtCall(lh.Populate)
|
||||
a.RegisterExtCall(minio.Connect)
|
||||
a.RegisterExtCall(mh.I.SetClient)
|
||||
a.RegisterExtCall(ibpjs.SetConfig)
|
||||
a.RegisterExtCall(validation.RegisterValidation)
|
||||
|
||||
r := http.NewServeMux()
|
||||
@@ -135,6 +139,20 @@ func SetRoutes() http.Handler {
|
||||
hc.RegCrud(r, "/v1/prescription-item", prescriptionitem.O)
|
||||
hc.RegCrud(r, "/v1/device-order-item", deviceorderitem.O)
|
||||
hc.RegCrud(r, "/v1/material-order-item", materialorderitem.O)
|
||||
|
||||
hk.GroupRoutes("/v1/encounter", r, auth.GuardMW, hk.MapHandlerFunc{
|
||||
"GET /": encounter.O.GetList,
|
||||
"GET /{id}": encounter.O.GetDetail,
|
||||
"POST /": encounter.O.Create,
|
||||
"PATCH /{id}": encounter.O.Update,
|
||||
"DELETE /{id}": encounter.O.Delete,
|
||||
"PATCH /{id}/check-out": encounter.O.CheckOut,
|
||||
"PATCH /{id}/check-in": encounter.O.CheckIn,
|
||||
"PATCH /{id}/proccess": encounter.O.Process,
|
||||
"PATCH /{id}/cancel": encounter.O.Cancel,
|
||||
"PATCH /{id}/reject": encounter.O.Reject,
|
||||
"PATCH /{id}/skip": encounter.O.Skip,
|
||||
})
|
||||
hk.GroupRoutes("/v1/mcu-order", r, auth.GuardMW, hk.MapHandlerFunc{
|
||||
"GET /": mcuorder.O.GetList,
|
||||
"GET /{id}": mcuorder.O.GetDetail,
|
||||
@@ -153,7 +171,7 @@ func SetRoutes() http.Handler {
|
||||
"PATCH /{id}/complete": mcuorderitem.O.Complete,
|
||||
"PATCH /{id}/set-schedule": mcuorderitem.O.SetSchedule,
|
||||
})
|
||||
hk.GroupRoutes("/v1/prescription", r, hk.MapHandlerFunc{
|
||||
hk.GroupRoutes("/v1/prescription", r, auth.GuardMW, hk.MapHandlerFunc{
|
||||
"GET /": prescription.O.GetList,
|
||||
"GET /{id}": prescription.O.GetDetail,
|
||||
"POST /": prescription.O.Create,
|
||||
@@ -161,7 +179,7 @@ func SetRoutes() http.Handler {
|
||||
"DELETE /{id}": prescription.O.Delete,
|
||||
"PATCH /{id}/approve": prescription.O.Approve,
|
||||
})
|
||||
hk.GroupRoutes("/v1/mcu-order-sub-item", r, hk.MapHandlerFunc{
|
||||
hk.GroupRoutes("/v1/mcu-order-sub-item", r, auth.GuardMW, hk.MapHandlerFunc{
|
||||
"GET /": mcuordersubitem.O.GetList,
|
||||
"GET /{id}": mcuordersubitem.O.GetDetail,
|
||||
"POST /": mcuordersubitem.O.Create,
|
||||
@@ -169,18 +187,6 @@ func SetRoutes() http.Handler {
|
||||
"DELETE /{id}": mcuordersubitem.O.Delete,
|
||||
"PATCH /{id}/complete": mcuordersubitem.O.Complete,
|
||||
})
|
||||
hk.GroupRoutes("/v1/encounter", r, auth.GuardMW, hk.MapHandlerFunc{
|
||||
"GET /": encounter.O.GetList,
|
||||
"GET /{id}": encounter.O.GetDetail,
|
||||
"POST /": encounter.O.Create,
|
||||
"PATCH /{id}": encounter.O.Update,
|
||||
"DELETE /{id}": encounter.O.Delete,
|
||||
"PATCH /{id}/checkout": encounter.O.CheckOut,
|
||||
"PATCH /{id}/proccess": encounter.O.Process,
|
||||
"PATCH /{id}/cancel": encounter.O.Cancel,
|
||||
"PATCH /{id}/reject": encounter.O.Reject,
|
||||
"PATCH /{id}/skip": encounter.O.Skip,
|
||||
})
|
||||
hk.GroupRoutes("/v1/medication", r, auth.GuardMW, hk.MapHandlerFunc{
|
||||
"GET /": medication.O.GetList,
|
||||
"GET /{id}": medication.O.GetDetail,
|
||||
@@ -190,7 +196,7 @@ func SetRoutes() http.Handler {
|
||||
"PATCH /{id}/complete": medication.O.Complete,
|
||||
})
|
||||
|
||||
hk.GroupRoutes("/v1/medication-item", r, hk.MapHandlerFunc{
|
||||
hk.GroupRoutes("/v1/medication-item", r, auth.GuardMW, hk.MapHandlerFunc{
|
||||
"GET /": medicationitem.O.GetList,
|
||||
"GET /{id}": medicationitem.O.GetDetail,
|
||||
"POST /": medicationitem.O.Create,
|
||||
@@ -247,6 +253,8 @@ func SetRoutes() http.Handler {
|
||||
|
||||
hc.RegCrud(r, "/v1/internal-reference", internalreference.O)
|
||||
hc.RegCrud(r, "/v1/ambulance-transport-req", ambulancetransportrequest.O)
|
||||
hc.RegCrud(r, "/v1/responsible-doctor-hist", responsibledoctorhist.O)
|
||||
hc.RegCrud(r, "/v1/adm-employee-hist", admemployeehist.O)
|
||||
|
||||
/******************** actor ********************/
|
||||
hc.RegCrud(r, "/v1/person", person.O)
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
e "simrs-vx/internal/domain/main-entities/material-order"
|
||||
u "simrs-vx/internal/use-case/main-use-case/material-order"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
)
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
e "simrs-vx/internal/domain/main-entities/mcu-order"
|
||||
u "simrs-vx/internal/use-case/main-use-case/mcu-order"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
)
|
||||
@@ -47,6 +47,7 @@ func (obj myBase) GetDetail(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
dto := e.ReadDetailDto{}
|
||||
sf.UrlQueryParam(&dto, *r.URL)
|
||||
dto.Id = uint(id)
|
||||
res, err := u.ReadDetail(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
rw "github.com/karincake/risoles"
|
||||
sf "github.com/karincake/semprit"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
e "simrs-vx/internal/domain/main-entities/medication-item-dist"
|
||||
u "simrs-vx/internal/use-case/main-use-case/medication-item-dist"
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
rw "github.com/karincake/risoles"
|
||||
sf "github.com/karincake/semprit"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
e "simrs-vx/internal/domain/main-entities/medication"
|
||||
u "simrs-vx/internal/use-case/main-use-case/medication"
|
||||
|
||||
@@ -7,6 +7,9 @@ import (
|
||||
sf "github.com/karincake/semprit"
|
||||
|
||||
// ua "github.com/karincake/tumpeng/auth/svc"
|
||||
d "github.com/karincake/dodol"
|
||||
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
e "simrs-vx/internal/domain/main-entities/prescription"
|
||||
u "simrs-vx/internal/use-case/main-use-case/prescription"
|
||||
@@ -21,6 +24,11 @@ func (obj myBase) Create(w http.ResponseWriter, r *http.Request) {
|
||||
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
|
||||
return
|
||||
}
|
||||
authInfo, err := pa.GetAuthInfo(r)
|
||||
if err != nil {
|
||||
rw.WriteJSON(w, http.StatusUnauthorized, d.IS{"message": err.Error()}, nil)
|
||||
}
|
||||
dto.AuthInfo = *authInfo
|
||||
res, err := u.Create(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
package responsible_doctor_hist
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
rw "github.com/karincake/risoles"
|
||||
sf "github.com/karincake/semprit"
|
||||
|
||||
// ua "github.com/karincake/tumpeng/auth/svc"
|
||||
|
||||
e "simrs-vx/internal/domain/main-entities/responsible-doctor-hist"
|
||||
u "simrs-vx/internal/use-case/main-use-case/responsible-doctor-hist"
|
||||
)
|
||||
|
||||
type myBase struct{}
|
||||
|
||||
var O myBase
|
||||
|
||||
func (obj myBase) Create(w http.ResponseWriter, r *http.Request) {
|
||||
dto := e.CreateDto{}
|
||||
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
|
||||
return
|
||||
}
|
||||
res, err := u.Create(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) GetList(w http.ResponseWriter, r *http.Request) {
|
||||
dto := e.ReadListDto{}
|
||||
sf.UrlQueryParam(&dto, *r.URL)
|
||||
res, err := u.ReadList(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) GetDetail(w http.ResponseWriter, r *http.Request) {
|
||||
id := rw.ValidateInt(w, "id", r.PathValue("id"))
|
||||
if id <= 0 {
|
||||
return
|
||||
}
|
||||
dto := e.ReadDetailDto{}
|
||||
dto.Id = uint16(id)
|
||||
res, err := u.ReadDetail(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) Update(w http.ResponseWriter, r *http.Request) {
|
||||
id := rw.ValidateInt(w, "id", r.PathValue("id"))
|
||||
if id <= 0 {
|
||||
return
|
||||
}
|
||||
|
||||
dto := e.UpdateDto{}
|
||||
if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res {
|
||||
return
|
||||
}
|
||||
dto.Id = uint16(id)
|
||||
res, err := u.Update(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
|
||||
func (obj myBase) Delete(w http.ResponseWriter, r *http.Request) {
|
||||
id := rw.ValidateInt(w, "id", r.PathValue("id"))
|
||||
if id <= 0 {
|
||||
return
|
||||
}
|
||||
|
||||
dto := e.DeleteDto{}
|
||||
dto.Id = uint16(id)
|
||||
res, err := u.Delete(dto)
|
||||
rw.DataResponse(w, res, err)
|
||||
}
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
e "simrs-vx/internal/domain/main-entities/sbar"
|
||||
u "simrs-vx/internal/use-case/main-use-case/sbar"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
)
|
||||
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
e "simrs-vx/internal/domain/main-entities/soapi"
|
||||
u "simrs-vx/internal/use-case/main-use-case/soapi"
|
||||
|
||||
pa "simrs-vx/pkg/auth-helper"
|
||||
pa "simrs-vx/internal/lib/auth"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
)
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
appointment "simrs-vx/internal/domain/main-entities/appointment"
|
||||
chemo "simrs-vx/internal/domain/main-entities/chemo"
|
||||
consultation "simrs-vx/internal/domain/main-entities/consultation"
|
||||
controlletter "simrs-vx/internal/domain/main-entities/control-letter"
|
||||
counter "simrs-vx/internal/domain/main-entities/counter"
|
||||
deathcause "simrs-vx/internal/domain/main-entities/death-cause"
|
||||
device "simrs-vx/internal/domain/main-entities/device"
|
||||
@@ -194,6 +195,7 @@ func getMainEntities() []any {
|
||||
&responsibledoctorhist.ResponsibleDoctorHist{},
|
||||
&admemployeehist.AdmEmployeeHist{},
|
||||
&vclaimmember.VclaimMember{},
|
||||
&controlletter.ControlLetter{},
|
||||
&rehab.Rehab{},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user