OCF184 add visibility control api helper

Proposers

  • name-of-proposer-1 (institution-of-proposer-1)
  • name-of-proposer-2 (institution-of-proposer-2) ...

Description

Describe your proposal in ~1000 characters. You can reference external content listed in section "References" as [Ref-1].

Demo or definition of done

Describe which high level conditions needs to be fulfilled to demonstrate this feature implementation is completed. You can reference external content (example, demo paper) listed in section "References" as [Ref-2].

References

  1. Reference name
  2. Author1, Author2, Author3, et. al., “My demo using feature,” in Conference-Name Demo Track, 20XX.

Acknowledgements

This work is funded by the European Commission through the project with Grant Agreement number . example HORIZON-JU-SNS-2022 FLEX-SCALE project with Grant Agreement number 101096909.

Merge request reports

Loading
+0 −0

Empty file added.

+21 −0
Changes for services/helper/helper_service/services/visibility_control/controllers/decision_controller.py: 21 added lines, 0 removed lines.
Original line number Diff line number Diff line
import connexion
from typing import Dict
from typing import Tuple
from typing import Union

from visibility_control.models.discovered_apis import DiscoveredAPIs  # noqa: E501
from visibility_control.models.error import Error  # noqa: E501
from visibility_control import util


def decision_invokers_api_invoker_id_discoverable_apis_get(api_invoker_id):  # noqa: E501
    """Get discoverable APIs filter for an invoker (global scope)

    Returns a filtered list of APIs for the API Invoker.  # noqa: E501

    :param api_invoker_id: CAPIF API Invoker identifier
    :type api_invoker_id: str

    :rtype: Union[DiscoveredAPIs, Tuple[DiscoveredAPIs, int], Tuple[DiscoveredAPIs, int, Dict[str, str]]
    """
    return 'do some magic!'
+58 −0
Changes for services/helper/helper_service/services/visibility_control/controllers/rules_controller.py: 58 added lines, 0 removed lines.
Original line number Diff line number Diff line
import connexion
from typing import Dict, Tuple, Union

#from ..auth import cert_validation

from visibility_control.auth import cert_validation

# Importamos la lógica del CORE 
from ..core.visibility_control_core import (
    get_all_rules, 
    create_new_rule, 
    get_rule_by_id, 
    delete_rule_by_id, 
    update_rule_patch
)

from visibility_control.models.error import Error
from visibility_control.models.rule import Rule
from visibility_control.models.rule_create_request import RuleCreateRequest
from visibility_control.models.rule_patch_request import RulePatchRequest
from visibility_control.models.rules_get200_response import RulesGet200Response
from visibility_control import util

@cert_validation()
def rules_get():
    """List rules"""
    return get_all_rules()

@cert_validation()
def rules_post(body): 
    """
    Create a rule
    """
    if body is not None:
        return create_new_rule(body)
    if connexion.request.is_json:
        body = connexion.request.get_json()
        return create_new_rule(body)
        
    return Error(title="Bad Request", detail="JSON body required", status=400), 400

@cert_validation()
def rules_rule_id_delete(rule_id):
    """Delete a rule"""
    return delete_rule_by_id(rule_id)

@cert_validation()
def rules_rule_id_get(rule_id):
    """Get a rule"""
    return get_rule_by_id(rule_id)

@cert_validation()
def rules_rule_id_patch(rule_id, body):
    """Update a rule (partial)"""
    if connexion.request.is_json:
        body = connexion.request.get_json()
        return update_rule_patch(rule_id, body)
    return Error(title="Bad Request", detail="JSON body required", status=400), 400
 No newline at end of file
+2 −0
Changes for services/helper/helper_service/services/visibility_control/controllers/security_controller.py: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
from typing import List
+0 −0

Empty file added.

Loading
Loading