diff --git a/go-apps/meep-app-enablement/server/capif-mgmt/service-mgmt.go b/go-apps/meep-app-enablement/server/capif-mgmt/service-mgmt.go index 740820d998714a250a4ee45802a0d0a6c66a2484..a58d17568b370f9309466ee63b69ba7744682ff6 100644 --- a/go-apps/meep-app-enablement/server/capif-mgmt/service-mgmt.go +++ b/go-apps/meep-app-enablement/server/capif-mgmt/service-mgmt.go @@ -616,8 +616,23 @@ func servicesGET(w http.ResponseWriter, r *http.Request) { mutex.Lock() defer mutex.Unlock() + // Validate query parameters + u, _ := url.Parse(r.URL.String()) + q := u.Query() + validParams := []string{"api-invoker-id"} + err := validateQueryParams(q, validParams) + if err != nil { + errHandlerProblemDetails(w, err.Error(), http.StatusBadRequest) + return + } - getServices(w, r, "") + // Extract and parse query parameters + api_invoker_id := q.Get("api-invoker-id") + if api_invoker_id != "" { + getServices(w, r, api_invoker_id) + } else { + getServices(w, r, "") + } } func applicationsSubscriptionsPOST(w http.ResponseWriter, r *http.Request) { @@ -1192,7 +1207,7 @@ func getServices(w http.ResponseWriter, r *http.Request, appId string) { // Validate query parameters u, _ := url.Parse(r.URL.String()) q := u.Query() - validParams := []string{"vend-spec-etsi-mec-serinstance-id", "api-name", "vend-spec-etsi-mec-sercategory-id", "vend-spec-etsi-mec-consumed-local-only", "vend-spec-etsi-mec-is-local", "vend-spec-etsi-mec-scope-of-locality"} + validParams := []string{"api-invoker-id", "vend-spec-etsi-mec-serinstance-id", "api-name", "vend-spec-etsi-mec-sercategory-id", "vend-spec-etsi-mec-consumed-local-only", "vend-spec-etsi-mec-is-local", "vend-spec-etsi-mec-scope-of-locality"} err := validateQueryParams(q, validParams) if err != nil { errHandlerProblemDetails(w, err.Error(), http.StatusBadRequest) @@ -1320,7 +1335,7 @@ func getServices(w http.ResponseWriter, r *http.Request, appId string) { for _, service := range sInfoList.Services { aefProfile := AefProfile{ AefId: service.TransportInfo.Id, - Versions: []string{service.Version}, // Assuming service.Version is a string, wrap it in a slice + Versions: []string{service.Version}, InterfaceDescriptions: service.TransportInfo.Endpoint, VendorSpecificUrnetsimeccapifexttransportInfo: &MecTransportInfoCapifExt{ Name: service.TransportInfo.Name,