from graphql_api.schema.file import FileInterface, CreateFile
from graphql_api.schema.table import Table, TableType
from graphql_api.schema.custom.rupture_generation_task import RuptureGenerationTask
from graphql_api.schema.custom.common import KeyValuePair, KeyValuePairInput, KeyValueListPair, KeyValueListPairInput

from importlib import import_module

from graphql_api.data_s3 import get_data_manager

from datetime import datetime as dt
from graphql_api.config import STACK_NAME, CW_METRICS_RESOLUTION
from graphql_api.cloudwatch import ServerlessMetricWriter

db_metrics = ServerlessMetricWriter(lambda_name=STACK_NAME,
                                    metric_name="MethodDuration",
                                    resolution=CW_METRICS_RESOLUTION)


def resolve_node(root, info, id_field, dm_type):
    """
    Optimisation function, looks at the query and avoids a fetch if
    we only want to resolve the id field.
    """
    t0 = dt.utcnow()
    assert dm_type in ["table", "thing"]

    node_id = getattr(root, id_field)
    if not node_id:
        return
Example #2
0
from graphql_api.data_s3 import get_data_manager

from .custom.general_task import GeneralTask, CreateGeneralTask, UpdateGeneralTask
from .task_task_relation import CreateTaskTaskRelation

from .table import CreateTable, Table
from .custom.automation_task import AutomationTask, CreateAutomationTask, UpdateAutomationTask

#from .custom.inversion_solution import
from graphql_api.schema.custom.inversion_solution import InversionSolution, CreateInversionSolution, AppendInversionSolutionTables, LabelledTableRelationInput

from graphql_api.cloudwatch import ServerlessMetricWriter
from graphql_api.config import IS_OFFLINE, ES_REGION, ES_ENDPOINT, ES_INDEX, STACK_NAME

db_metrics = ServerlessMetricWriter(lambda_name=STACK_NAME,
                                    metric_name="MethodDuration",
                                    resolution=1)

credentials = boto3.Session().get_credentials() if not IS_OFFLINE else None
awsauth = AWS4Auth(credentials.access_key,
                   credentials.secret_key,
                   ES_REGION,
                   'es',
                   session_token=credentials.token) if not IS_OFFLINE else None

s3_client_args = dict(
    aws_access_key_id='S3RVER',
    aws_secret_access_key='S3RVER',
    endpoint_url='http://localhost:4569') if IS_OFFLINE else {}

search_manager = SearchManager(endpoint=ES_ENDPOINT,