Commit 4e5d74e2 authored by Paris Stentoumis's avatar Paris Stentoumis
Browse files

feat: TMF921 support

parent cea1db27
Loading
Loading
Loading
Loading
+52 −0
Changes for service-resource-manager-implementation/src/controllers/intent_controller.py: 52 added lines, 0 removed lines.
Original line number Diff line number Diff line
import logging

from src.services.tf_sdk import get_client

logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG)


def list_intent(
    fields: str | None = None, offset: int | None = 0, limit: int | None = 0
):
    tf_sdk = get_client()
    res = tf_sdk.get_intents(fields, offset, limit)

    if isinstance(res, (list, dict)):
        return res, 200
    try:
        if not res.content:
            return {}, res.status_code
        return res.json(), res.status_code
    except Exception as e:
        logger.exception("Failed to parse adapter HTTP response")
        return {"error": "Invalid response from adapter", "details": str(e)}, 502


def create_intent(body):
    logger.debug("Create Intent")

    tf_sdk = get_client()
    res = tf_sdk.onboard_intent(body)

    # Adapter returned HTTP response
    try:
        if not res.content:
            return {}, res.status_code
        return res.json(), res.status_code
    except Exception as e:
        logger.exception("Failed to parse adapter HTTP response")
        return {"error": "Invalid response from adapter", "details": str(e)}, 502


def delete_intent(id_: str):
    logger.debug("Delete Intent " + id_)
    tf_sdk = get_client()
    res = tf_sdk.delete_intent(id_)
    try:
        if not res.content:
            return {}, res.status_code
        return res.json(), res.status_code
    except Exception as e:
        logger.exception("Failed to parse adapter HTTP response")
        return {"error": "Invalid response from adapter", "details": str(e)}, 502
+1704 −0

File changed.

Preview size limit exceeded, changes collapsed.