From bd2f073dfc4833559cd8cef3d76ecb1f9ab8bff4 Mon Sep 17 00:00:00 2001 From: dpurbosakti Date: Wed, 10 Dec 2025 12:32:14 +0700 Subject: [PATCH] wip --- .../interface/main-handler/main-handler.go | 5 ++ .../vclaim-sep-control-letter/handler.go | 67 +++++++++++++++++++ .../vclaim-sep-control-letter/plugin.go | 3 +- 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 internal/interface/main-handler/vclaim-sep-control-letter/handler.go diff --git a/internal/interface/main-handler/main-handler.go b/internal/interface/main-handler/main-handler.go index 7bf8cd2d..225a320f 100644 --- a/internal/interface/main-handler/main-handler.go +++ b/internal/interface/main-handler/main-handler.go @@ -138,6 +138,7 @@ import ( reference "simrs-vx/internal/interface/main-handler/reference" referral "simrs-vx/internal/interface/main-handler/referral" vclaimsep "simrs-vx/internal/interface/main-handler/vclaim-sep" + vclaimsepcontrolletter "simrs-vx/internal/interface/main-handler/vclaim-sep-control-letter" vclaimsephist "simrs-vx/internal/interface/main-handler/vclaim-sep-hist" vclaimsepprint "simrs-vx/internal/interface/main-handler/vclaim-sep-print" ) @@ -414,6 +415,10 @@ func SetRoutes() http.Handler { "DELETE /{number}": vclaimsep.O.Delete, }) + hk.GroupRoutes("/v1/vclaim-sep-control-letter", r, hk.MapHandlerFunc{ + "POST /": vclaimsepcontrolletter.O.Create, + }) + hk.GroupRoutes("/v1/vclaim-sep-hist", r, hk.MapHandlerFunc{ "GET /": vclaimsephist.O.GetList, }) diff --git a/internal/interface/main-handler/vclaim-sep-control-letter/handler.go b/internal/interface/main-handler/vclaim-sep-control-letter/handler.go new file mode 100644 index 00000000..d26cc633 --- /dev/null +++ b/internal/interface/main-handler/vclaim-sep-control-letter/handler.go @@ -0,0 +1,67 @@ +package vclaimsepcontrolletter + +import ( + "net/http" + + rw "github.com/karincake/risoles" + + e "simrs-vx/internal/domain/bpjs-entities/vclaim-sep-control-letter" + u "simrs-vx/internal/use-case/bpjs-use-case/vclaim-sep-control-letter" +) + +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) { +// number := rw.ValidateString(w, "number", r.PathValue("number")) +// if number <= "" { +// return +// } +// dto := e.ReadDetailDto{} +// dto.Number = &number +// res, err := u.ReadDetail(dto) +// rw.DataResponse(w, res, err) +// } + +// func (obj myBase) Update(w http.ResponseWriter, r *http.Request) { +// number := rw.ValidateString(w, "number", r.PathValue("number")) +// if number != "" { +// return +// } + +// dto := e.UpdateDto{} +// if res := rw.ValidateStructByIOR(w, r.Body, &dto); !res { +// return +// } +// dto.Number = &number +// 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 = uint(id) +// res, err := u.Delete(dto) +// rw.DataResponse(w, res, err) +// } diff --git a/internal/use-case/bpjs-plugin/vclaim-sep-control-letter/plugin.go b/internal/use-case/bpjs-plugin/vclaim-sep-control-letter/plugin.go index b8460713..3ad81f74 100644 --- a/internal/use-case/bpjs-plugin/vclaim-sep-control-letter/plugin.go +++ b/internal/use-case/bpjs-plugin/vclaim-sep-control-letter/plugin.go @@ -50,7 +50,8 @@ func CreateSepControlLetter(input *e.CreateDto, data *e.VclaimSepControlLetter, } tmp := string(pdfNeeds) input.Value = &tmp - + input.Number = &vresp.Response.NoSuratKontrol + input.VclaimSep_Number = &vresp.Response.Sep.NoSep return nil }