Fix UT and change function to private
[ric-plt/a1.git] / a1-go / pkg / restful / restful.go
index 26a229f..f34a5ad 100644 (file)
@@ -68,10 +68,47 @@ func (r *Restful) setupHandler() *operations.A1API {
        })
 
        api.A1MediatorA1ControllerGetPolicyTypeHandler = a1_mediator.A1ControllerGetPolicyTypeHandlerFunc(func(params a1_mediator.A1ControllerGetPolicyTypeParams) middleware.Responder {
-               a1.Logger.Error("handler for get policy type from policytypeID")
+               a1.Logger.Debug("handler for get policy type from policytypeID")
                return a1_mediator.NewA1ControllerGetPolicyTypeOK().WithPayload(r.rh.GetPolicyType(models.PolicyTypeID(params.PolicyTypeID)))
        })
 
+       api.A1MediatorA1ControllerCreateOrReplacePolicyInstanceHandler = a1_mediator.A1ControllerCreateOrReplacePolicyInstanceHandlerFunc(func(params a1_mediator.A1ControllerCreateOrReplacePolicyInstanceParams) middleware.Responder {
+               a1.Logger.Debug("handler for create policy type instance ")
+               if err = r.rh.CreatePolicyInstance(models.PolicyTypeID(params.PolicyTypeID), models.PolicyInstanceID(params.PolicyInstanceID), params.Body); err == nil {
+                       return a1_mediator.NewA1ControllerCreateOrReplacePolicyInstanceAccepted()
+               }
+               if r.rh.IsValidJson(err) {
+                       return a1_mediator.NewA1ControllerCreateOrReplacePolicyInstanceBadRequest()
+               }
+               return a1_mediator.NewA1ControllerCreateOrReplacePolicyInstanceServiceUnavailable()
+
+       })
+
+       api.A1MediatorA1ControllerGetPolicyInstanceHandler = a1_mediator.A1ControllerGetPolicyInstanceHandlerFunc(func(params a1_mediator.A1ControllerGetPolicyInstanceParams) middleware.Responder {
+               a1.Logger.Debug("handler for get policy instance from policytypeID")
+               if resp, err := r.rh.GetPolicyInstance(models.PolicyTypeID(params.PolicyTypeID), models.PolicyInstanceID(params.PolicyInstanceID)); err == nil {
+                       return a1_mediator.NewA1ControllerGetPolicyInstanceOK().WithPayload(resp)
+               }
+               if r.rh.IsPolicyInstanceNotFound(err) {
+                       return a1_mediator.NewA1ControllerGetPolicyInstanceNotFound()
+               }
+               return a1_mediator.NewA1ControllerGetPolicyInstanceServiceUnavailable()
+       })
+
+       api.A1MediatorA1ControllerGetAllInstancesForTypeHandler = a1_mediator.A1ControllerGetAllInstancesForTypeHandlerFunc(func(params a1_mediator.A1ControllerGetAllInstancesForTypeParams) middleware.Responder {
+               a1.Logger.Debug("handler for get all policy instance")
+               if resp, err := r.rh.GetAllPolicyInstance(models.PolicyTypeID(params.PolicyTypeID)); err == nil {
+                       if resp != nil {
+                               return a1_mediator.NewA1ControllerGetAllInstancesForTypeOK().WithPayload(resp)
+                       }
+               }
+               if r.rh.IsPolicyInstanceNotFound(err) {
+                       return a1_mediator.NewA1ControllerGetPolicyInstanceNotFound()
+               }
+               return a1_mediator.NewA1ControllerGetAllInstancesForTypeServiceUnavailable()
+
+       })
+
        return api
 
 }