add logic to GetModule handler

This commit is contained in:
2023-08-11 17:07:37 +03:00
parent 7de883b8c0
commit 71f438e108
8 changed files with 169 additions and 118 deletions

View File

@@ -42,7 +42,7 @@ func (h *Handler) ListPackage(w http.ResponseWriter, r *http.Request) {
}
rsp := new(pb.ListPackageRsp)
rsp.Packages = dbRsp.Mapping()
rsp.Packages = dbRsp.Decode()
logger.Debug(ctx, "Success finish getListPackage")
h.writer.Response(ctx, w, rsp)
@@ -159,15 +159,26 @@ func (h *Handler) GetModule(w http.ResponseWriter, r *http.Request) {
logger.Debug(ctx, "Start GetModule")
req := new(pb.GetModuleReq)
if err := h.URLValuesToProto(r.URL.Query(), req); err != nil {
if err := URLValuesToProto(r.URL.Query(), req); err != nil {
logger.Errorf(ctx, "Required parameter missing: %v", err)
h.writer.Response(ctx, w, err)
return
}
modules, err := h.store.GetModule(ctx, req)
if err != nil {
logger.Error(ctx, err)
h.writer.Response(ctx, w, NewInternalError(err))
return
}
rsp := &pb.GetModuleRsp{Modules: modules.Decode()}
h.writer.Response(ctx, w, rsp)
logger.Debug(ctx, "Success finish getModule")
}
func (h *Handler) URLValuesToProto(vals url.Values, msg proto.Message) error {
func URLValuesToProto(vals url.Values, msg proto.Message) error {
params := make(map[string]interface{})
var err error
for k, v := range vals {
@@ -185,7 +196,7 @@ func (h *Handler) URLValuesToProto(vals url.Values, msg proto.Message) error {
if err != nil {
return NewUnmarshalError(err)
}
if err = h.Unmarshal(b, msg); err != nil {
if err = protojson.Unmarshal(b, msg); err != nil {
return NewUnmarshalError(err)
}
return nil