adjust upload
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
package encounter_document
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
rw "github.com/karincake/risoles"
|
||||
sf "github.com/karincake/semprit"
|
||||
|
||||
e "simrs-vx/internal/domain/main-entities/encounter-document"
|
||||
u "simrs-vx/internal/use-case/main-use-case/encounter-document"
|
||||
)
|
||||
|
||||
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{}
|
||||
|
||||
sf.UrlQueryParam(&dto, *r.URL)
|
||||
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)
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package handler
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
encounterdocument "simrs-vx/internal/interface/main-handler/encounter-document"
|
||||
|
||||
/******************** main / transaction ********************/
|
||||
adime "simrs-vx/internal/interface/main-handler/adime"
|
||||
@@ -72,6 +73,7 @@ import (
|
||||
/******************** sources ********************/
|
||||
device "simrs-vx/internal/interface/main-handler/device"
|
||||
diagnosesrc "simrs-vx/internal/interface/main-handler/diagnose-src"
|
||||
district "simrs-vx/internal/interface/main-handler/district"
|
||||
division "simrs-vx/internal/interface/main-handler/division"
|
||||
divisionposition "simrs-vx/internal/interface/main-handler/division-position"
|
||||
doctorfee "simrs-vx/internal/interface/main-handler/doctor-fee"
|
||||
@@ -95,7 +97,10 @@ import (
|
||||
medicinegroup "simrs-vx/internal/interface/main-handler/medicine-group"
|
||||
medicinemethod "simrs-vx/internal/interface/main-handler/medicine-method"
|
||||
pharmacycompany "simrs-vx/internal/interface/main-handler/pharmacy-company"
|
||||
postalregion "simrs-vx/internal/interface/main-handler/postal-region"
|
||||
proceduresrc "simrs-vx/internal/interface/main-handler/procedure-src"
|
||||
province "simrs-vx/internal/interface/main-handler/province"
|
||||
regency "simrs-vx/internal/interface/main-handler/regency"
|
||||
specialist "simrs-vx/internal/interface/main-handler/specialist"
|
||||
specialistposition "simrs-vx/internal/interface/main-handler/specialist-position"
|
||||
subspecialist "simrs-vx/internal/interface/main-handler/subspecialist"
|
||||
@@ -106,11 +111,6 @@ import (
|
||||
uom "simrs-vx/internal/interface/main-handler/uom"
|
||||
vehicle "simrs-vx/internal/interface/main-handler/vehicle"
|
||||
vehiclehist "simrs-vx/internal/interface/main-handler/vehicle-hist"
|
||||
|
||||
district "simrs-vx/internal/interface/main-handler/district"
|
||||
postalregion "simrs-vx/internal/interface/main-handler/postal-region"
|
||||
province "simrs-vx/internal/interface/main-handler/province"
|
||||
regency "simrs-vx/internal/interface/main-handler/regency"
|
||||
village "simrs-vx/internal/interface/main-handler/village"
|
||||
|
||||
///// Internal
|
||||
@@ -273,6 +273,7 @@ func SetRoutes() http.Handler {
|
||||
hc.RegCrud(r, "/v1/therapy-protocol", therapyprotocol.O)
|
||||
hc.RegCrud(r, "/v1/chemo-protocol", chemoprotocol.O)
|
||||
hc.RegCrud(r, "/v1/upload", upload.O)
|
||||
hc.RegCrud(r, "/v1/encounter-document", encounterdocument.O)
|
||||
|
||||
/******************** actor ********************/
|
||||
hc.RegCrud(r, "/v1/person", person.O)
|
||||
|
||||
@@ -6,11 +6,11 @@ import (
|
||||
|
||||
eru "simrs-vx/internal/domain/references/upload"
|
||||
|
||||
e "simrs-vx/internal/domain/main-entities/upload"
|
||||
|
||||
d "github.com/karincake/dodol"
|
||||
rw "github.com/karincake/risoles"
|
||||
|
||||
e "simrs-vx/internal/domain/main-entities/upload"
|
||||
|
||||
u "simrs-vx/internal/use-case/main-use-case/upload"
|
||||
)
|
||||
|
||||
@@ -86,4 +86,5 @@ func (obj myBase) Update(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func (obj myBase) Delete(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
}
|
||||
|
||||
@@ -244,13 +244,6 @@ func Delete(input e.DeleteDto) (*d.Data, error) {
|
||||
return err
|
||||
}
|
||||
|
||||
mwRunner := newMiddlewareRunner(&event, tx)
|
||||
mwRunner.setMwType(pu.MWTPre)
|
||||
// Run pre-middleware
|
||||
if err := mwRunner.RunDeleteMiddleware(readDetailPreMw, &rdDto, data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := removeUploadedFile(string(eru.ETCEncounter), *data.FilePath, &event); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -259,12 +252,6 @@ func Delete(input e.DeleteDto) (*d.Data, error) {
|
||||
return err
|
||||
}
|
||||
|
||||
mwRunner.setMwType(pu.MWTPost)
|
||||
// Run post-middleware
|
||||
if err := mwRunner.RunDeleteMiddleware(readDetailPostMw, &rdDto, data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"errors"
|
||||
pl "simrs-vx/pkg/logger"
|
||||
pu "simrs-vx/pkg/use-case-helper"
|
||||
"strconv"
|
||||
|
||||
dg "github.com/karincake/apem/db-gorm-pg"
|
||||
d "github.com/karincake/dodol"
|
||||
|
||||
@@ -164,29 +164,44 @@ func setEncounterDocument(input e.CreateDto, event *pl.Event, tx *gorm.DB) (*ee.
|
||||
Upload_Employee_Id: input.Upload_Employee_Id,
|
||||
}
|
||||
|
||||
if len(dataUpload) > 0 {
|
||||
if err := removeUploadedFile(string(input.EntityType_Code), *dataUpload[0].FilePath, *dataUpload[0].Encounter_Id, event); err != nil {
|
||||
return nil, err
|
||||
if input.Type_Code == eru.UCSEP || input.Type_Code == eru.UCSIPP {
|
||||
if len(dataUpload) > 0 {
|
||||
data = dataUpload[0]
|
||||
|
||||
// remove file
|
||||
if err := removeUploadedFile(string(input.EntityType_Code), *data.FilePath, *data.Encounter_Id, event); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// update data
|
||||
err = ue.UpdateData(ee.UpdateDto{
|
||||
Id: uint16(data.Id),
|
||||
CreateDto: createDto}, &data, event, tx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
data.FilePath = &input.FilePath
|
||||
|
||||
return &data, nil
|
||||
}
|
||||
|
||||
// update data
|
||||
err = ue.UpdateData(ee.UpdateDto{
|
||||
Id: uint16(dataUpload[0].Id),
|
||||
CreateDto: createDto}, &dataUpload[0], event, tx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
data = dataUpload[0]
|
||||
data.FilePath = &input.FilePath
|
||||
} else {
|
||||
// insert data
|
||||
resData, err := ue.CreateData(createDto, event, tx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
data = *resData
|
||||
|
||||
return &data, nil
|
||||
}
|
||||
|
||||
// insert data
|
||||
resData, err := ue.CreateData(createDto, event, tx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
data = *resData
|
||||
|
||||
return &data, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user