Files
request-itv/request_itv/reqs_graphql.py
2024-06-10 08:09:10 +03:00

47 lines
1.4 KiB
Python

from gql import gql, Client
from gql.transport.aiohttp import AIOHTTPTransport
from .config import config
transport = AIOHTTPTransport(url=config.default.REQUEST_ITV.gql.url)
service = config.default.REQUEST_ITV.gql.schema
def get_classifier():
client = Client(transport=transport, fetch_schema_from_transport=True, execute_timeout=None)
query = gql(
"""
query getClassifier($name: String!) {
getClassifier(name: $name)
}
"""
)
result = client.execute(query, variable_values={"name": service}, )
return result['getClassifier']
def get_catalog():
client = Client(transport=transport, fetch_schema_from_transport=True, execute_timeout=None)
query = gql(
"""
query getCatalog($name: String!) {
getCatalog(name: $name)
}
"""
)
result = client.execute(query, variable_values={"name": service})
return result['getCatalog']
def get_object(oid: str):
client = Client(transport=transport, fetch_schema_from_transport=True, execute_timeout=None)
query = gql(
"""
query getObjects($oid: String!, $name: String!) {
getObject(name: $name, oid: $oid)
}
"""
)
params = {'oid': oid, 'name': service}
result = client.execute(query, variable_values=params)
return result['getObject']