Commit e8c600f1 authored by Pelayo Torres's avatar Pelayo Torres
Browse files

REL18 discover service

parent d618d4e4
Loading
Loading
Loading
Loading
Loading
+29 −8
Original line number Diff line number Diff line
@@ -4,40 +4,61 @@
Dockerfile
README.md
git_push.sh
requirements.txt
service_apis/__init__.py
service_apis/__main__.py
service_apis/controllers/__init__.py
service_apis/controllers/default_controller.py
service_apis/controllers/security_controller_.py
service_apis/controllers/security_controller.py
service_apis/encoder.py
service_apis/models/__init__.py
service_apis/models/aef_location.py
service_apis/models/aef_profile.py
service_apis/models/base_model_.py
service_apis/models/api_status.py
service_apis/models/base_model.py
service_apis/models/civic_address.py
service_apis/models/communication_type.py
service_apis/models/communication_type_any_of.py
service_apis/models/custom_operation.py
service_apis/models/data_format.py
service_apis/models/data_format_any_of.py
service_apis/models/discovered_apis.py
service_apis/models/ellipsoid_arc.py
service_apis/models/gad_shape.py
service_apis/models/geographic_area.py
service_apis/models/geographical_coordinates.py
service_apis/models/interface_description.py
service_apis/models/invalid_param.py
service_apis/models/ip_addr_info.py
service_apis/models/ip_addr_range.py
service_apis/models/ipv4_address_range.py
service_apis/models/ipv6_addr1.py
service_apis/models/ipv6_address_range.py
service_apis/models/local2d_point_uncertainty_ellipse.py
service_apis/models/local3d_point_uncertainty_ellipsoid.py
service_apis/models/local_origin.py
service_apis/models/operation.py
service_apis/models/operation_any_of.py
service_apis/models/point.py
service_apis/models/point_altitude.py
service_apis/models/point_altitude_uncertainty.py
service_apis/models/point_uncertainty_circle.py
service_apis/models/point_uncertainty_ellipse.py
service_apis/models/polygon.py
service_apis/models/problem_details.py
service_apis/models/protocol.py
service_apis/models/protocol_any_of.py
service_apis/models/published_api_path.py
service_apis/models/relative_cartesian_location.py
service_apis/models/resource.py
service_apis/models/security_method.py
service_apis/models/security_method_any_of.py
service_apis/models/service_api_description.py
service_apis/models/service_kpis.py
service_apis/models/shareable_information.py
service_apis/models/supported_gad_shapes.py
service_apis/models/uncertainty_ellipse.py
service_apis/models/uncertainty_ellipsoid.py
service_apis/models/version.py
service_apis/openapi/openapi.yaml
service_apis/test/__init__.py
service_apis/typing_utils.py
service_apis/util.py
requirements.txt
setup.py
test-requirements.txt
tox.ini
+1 −1
Original line number Diff line number Diff line
5.3.0-SNAPSHOT
 No newline at end of file
7.5.0
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ To run the server, please execute the following from the root directory:

```
pip3 install -r requirements.txt
python3 -m service_apis
python3 -m openapi_server
```

and open your browser to here:
+3 −3
Original line number Diff line number Diff line
#!/bin/sh
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
#
# Usage example: /bin/sh ./git_push.sh wing328 openapi-pestore-perl "minor update" "gitlab.com"
# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"

git_user_id=$1
git_repo_id=$2
@@ -38,14 +38,14 @@ git add .
git commit -m "$release_note"

# Sets the new remote
git_remote=`git remote`
git_remote=$(git remote)
if [ "$git_remote" = "" ]; then # git remote not defined

    if [ "$GIT_TOKEN" = "" ]; then
        echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
        git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
    else
        git remote add origin https://${git_user_id}:${GIT_TOKEN}@${git_host}/${git_user_id}/${git_repo_id}.git
        git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
    fi

fi
+41 −7
Original line number Diff line number Diff line
import connexion
from typing import Dict
from typing import Tuple
from typing import Union

from service_apis.models.aef_location import AefLocation  # noqa: E501
from service_apis.models.communication_type import CommunicationType  # noqa: E501
from service_apis.models.data_format import DataFormat  # noqa: E501
from service_apis.models.discovered_apis import DiscoveredAPIs  # noqa: E501
from service_apis.models.ip_addr_info import IpAddrInfo  # noqa: E501
from service_apis.models.problem_details import ProblemDetails  # noqa: E501
from service_apis.models.protocol import Protocol  # noqa: E501
from service_apis.models.service_kpis import ServiceKpis  # noqa: E501
from service_apis import util

from ..core.discoveredapis import DiscoverApisOperations
from flask import Response, request, current_app

discover_apis = DiscoverApisOperations()

def all_service_apis_get(api_invoker_id, api_name=None, api_version=None, comm_type=None, protocol=None, aef_id=None, data_format=None, api_cat=None, supported_features=None, api_supported_features=None):  # noqa: E501

def all_service_apis_get(api_invoker_id, api_name=None, api_version=None, comm_type=None, protocol=None, aef_id=None, data_format=None, api_cat=None, preferred_aef_loc=None, req_api_prov_name=None, supported_features=None, api_supported_features=None, ue_ip_addr=None, service_kpis=None):  # noqa: E501
    """all_service_apis_get

    Discover published service APIs and retrieve a collection of APIs according to certain filter criteria.  # noqa: E501

    :param api_invoker_id: String identifying the API invoker assigned by the CAPIF core function. It also represents the CCF identifier in the CAPIF-6/6e interface. 
    :type api_invoker_id: str
    :param api_name: API name, it is set as {apiName} part of the URI structure as defined in subclause 4.4 of 3GPP TS 29.501.
    :param api_name: API name, it is set as {apiName} part of the URI structure as defined in clause 5.2.4 of 3GPP TS 29.122. 
    :type api_name: str
    :param api_version: API major version the URI (e.g. v1).
    :type api_version: str
@@ -25,14 +40,33 @@ def all_service_apis_get(api_invoker_id, api_name=None, api_version=None, comm_t
    :type data_format: dict | bytes
    :param api_cat: The service API category to which the service API belongs to.
    :type api_cat: str
    :param preferred_aef_loc: The preferred AEF location.
    :type preferred_aef_loc: dict | bytes
    :param req_api_prov_name: Represents the required API provider name.
    :type req_api_prov_name: str
    :param supported_features: Features supported by the NF consumer for the CAPIF Discover Service API.
    :type supported_features: str
    :param api_supported_features: Features supported by the discovered service API indicated by api-name parameter. This may only be present if api-name query parameter is present. 
    :type api_supported_features: str
    :param ue_ip_addr: Represents the UE IP address information.
    :type ue_ip_addr: dict | bytes
    :param service_kpis: Contains iInformation about service characteristics provided by the targeted  service API(s). 
    :type service_kpis: dict | bytes

    :rtype: DiscoveredAPIs
    :rtype: Union[DiscoveredAPIs, Tuple[DiscoveredAPIs, int], Tuple[DiscoveredAPIs, int, Dict[str, str]]
    """

    if connexion.request.is_json:
        comm_type =  CommunicationType.from_dict(connexion.request.get_json())  # noqa: E501
    if connexion.request.is_json:
        protocol =  Protocol.from_dict(connexion.request.get_json())  # noqa: E501
    if connexion.request.is_json:
        data_format =  DataFormat.from_dict(connexion.request.get_json())  # noqa: E501
    if connexion.request.is_json:
        preferred_aef_loc =  AefLocation.from_dict(connexion.request.get_json())  # noqa: E501
    if connexion.request.is_json:
        ue_ip_addr =  IpAddrInfo.from_dict(connexion.request.get_json())  # noqa: E501
    if connexion.request.is_json:
        service_kpis =  ServiceKpis.from_dict(connexion.request.get_json())  # noqa: E501
    current_app.logger.info("Discovering service apis")
    query_params = {"api_name":api_name, "api_version":api_version, "comm_type":comm_type, 
    "protocol":protocol, "aef_id":aef_id, "data_format":data_format, 
Loading