Commit 96af2356 authored by guillecxb's avatar guillecxb
Browse files

suppFeat mandatory

parent f3fc5d4c
Loading
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -26,6 +26,11 @@ def negotiate_supported_features(supp_feat):
    }


def negotiate_supported_features_hex(supp_feat):
    negotiated = int(supp_feat, 16) & int(SUPPORTED_FEATURES_HEX, 16)
    return format(negotiated, 'x')


class ProviderManagementOperations(Resource):

    def __check_api_provider_domain(self, api_prov_dom_id):
@@ -63,9 +68,9 @@ class ProviderManagementOperations(Resource):
            
            # Supported Features Negotiation
            client_feat = api_provider_enrolment_details.supp_feat
            negotiated = negotiate_supported_features(client_feat)
            api_provider_enrolment_details.supp_feat = negotiated
            current_app.logger.debug(f"Negotiated supported features: {negotiated}")
            negotiated_hex = negotiate_supported_features_hex(client_feat)
            api_provider_enrolment_details.supp_feat = negotiated_hex
            negotiated_flags = negotiate_supported_features(negotiated_hex)

            current_app.logger.debug("Generating certs to api prov funcs")

@@ -89,9 +94,9 @@ class ProviderManagementOperations(Resource):

            current_app.logger.debug("Provider inserted in database")

            res = make_response(object=serialize_clean_camel_case(
                api_provider_enrolment_details), status=201)

            response_obj = serialize_clean_camel_case(api_provider_enrolment_details)
            response_obj["supportedFeaturesFlags"] = negotiated_flags
            res = make_response(object=response_obj, status=201)
            res.headers['Location'] = f"https://{os.getenv("CAPIF_HOSTNAME")}/api-provider-management/v1/registrations/{str(api_provider_enrolment_details.api_prov_dom_id)}"
            return res

+1 −0
Original line number Diff line number Diff line
@@ -544,6 +544,7 @@ components:
          type: string
      required:
      - regSec
      - suppFeat
      title: APIProviderEnrolmentDetails
      type: object
    APIProviderFunctionDetails: