Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

Repository files navigation

***Descripción del proyecto

***Diagrama de arquitectura

***Instrucciones de uso

***Ejemplos de solicitudes y respuestas esperadas

  1. Hola mundo

nombre: hola

def hola_mundo():
    return 'Hola mundo.'

http://localhost/ms/hola/

  1. Sumar dos números

nombre: sumar

def sumar(x: int, y: int):
    total = x + y
    return {"x": x, "y": y, "suma": total}

http://localhost/ms/sumar/?x=5&y=13

#Cada argumento debe ir en el link utilizando la estructura mostrada en el enlace de ejemplo de arriba

  1. Autenticación con Roble

    nombre: consultar_roble

def consultar_roble(db_name: str, access_token: str, table_name: str):
    """
    Consulta una tabla en ROBLE usando un token ya obtenido.
    Parámetros:
      - db_name: identificador del proyecto (dbName), p. ej. 'dashboard_1b100b9a80'
      - access_token: token JWT válido (cadena completa después de 'Bearer ')
      - table_name: nombre de la tabla a leer, p. ej. 'usuarios'
    Retorna:
      - Lista (rows) con el contenido de la tabla, o un dict con {"error", "status", "body"} si falla.
    """
    import json
    from urllib.request import Request, urlopen
    from urllib.error import HTTPError, URLError
    from urllib.parse import urlencode

    # Endpoint /read con query param tableName
    base = f"https://roble-api.openlab.uninorte.edu.co/database/{db_name}/read"
    qs = urlencode({"tableName": table_name})
    req = Request(
        f"{base}?{qs}",
        headers={"Authorization": f"Bearer {access_token}"},
        method="GET"
    )

    try:
        with urlopen(req, timeout=20) as resp:
            body = resp.read().decode("utf-8") or "[]"
            return json.loads(body)  # <- retorna DIRECTO el contenido de la tabla
    except HTTPError as e:
        try:
            err_body = e.read().decode("utf-8")
        except Exception:
            err_body = str(e)
        return {"error": "HTTPError", "status": e.code, "body": err_body}
    except URLError as e:
        return {"error": "URLError", "status": 0, "body": str(e)}

#Este código, así como la función de sumar 2 números, recibe parámetros por lo que estos deben ir en el enlace que entrega el localhost, separados por un &

sería: https://localhost/ms/consultar_roble?db_name=(valor)&access_token=(valor)&table_name=(valor)

ejemplo:

http://localhost/ms/consultar_roble/?db_name=dashboard_1b100b9a80&access_token={token}&table_name=usuarios

(Eliminar paréntesis o llaves al meter los parámetros, el {token} solo fue para no agregar un token real

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages