Skip to content

Instantly share code, notes, and snippets.

@soorajshankar
Created December 12, 2023 06:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soorajshankar/f4577d4d7b7dd401de99ca2c4ce5c019 to your computer and use it in GitHub Desktop.
Save soorajshankar/f4577d4d7b7dd401de99ca2c4ce5c019 to your computer and use it in GitHub Desktop.
local_metadata.json
{
"version": "v1",
"supergraph": {
"objects": [
{
"definition": {
"allowRoleEmulationBy": "admin",
"mode": {
"webhook": {
"method": "Post",
"url": "https://auth.pro.hasura.io/webhook/ddn?role=admin"
}
}
},
"kind": "AuthConfig",
"version": "v1"
},
{
"date": "2023-11-27",
"kind": "CompatibilityConfig"
}
]
},
"subgraphs": [
{
"name": "default",
"objects": [
{
"definition": {
"fields": [
{
"name": "id",
"type": "Float!"
},
{
"name": "user_id",
"type": "Float!"
},
{
"name": "todo",
"type": "String!"
}
],
"graphql": {
"inputTypeName": "todoTypeInput",
"typeName": "todoType"
},
"name": "todoType"
},
"kind": "ObjectType",
"version": "v1"
},
{
"definition": {
"fields": [
{
"name": "status",
"type": "String!"
},
{
"name": "errorMessage",
"type": "String!"
},
{
"name": "data",
"type": "todoType!"
}
],
"graphql": {
"inputTypeName": "insertTodosOutputInput",
"typeName": "insertTodosOutput"
},
"name": "insert_todos_output"
},
"kind": "ObjectType",
"version": "v1"
},
{
"definition": {
"permissions": [
{
"output": {
"allowedFields": [
"id",
"user_id",
"todo"
]
},
"role": "admin"
}
],
"typeName": "todoType"
},
"kind": "TypePermissions",
"version": "v1"
},
{
"definition": {
"permissions": [
{
"output": {
"allowedFields": [
"status",
"errorMessage",
"data"
]
},
"role": "admin"
}
],
"typeName": "insert_todos_output"
},
"kind": "TypePermissions",
"version": "v1"
},
{
"definition": {
"arguments": [
{
"name": "user_id",
"type": "String!"
},
{
"name": "todo",
"type": "String!"
}
],
"graphql": {
"rootFieldKind": "Mutation",
"rootFieldName": "insertTodos"
},
"name": "insert_todos",
"outputType": "insert_todos_output!",
"source": {
"dataConnectorCommand": {
"procedure": "insert_todos"
},
"dataConnectorName": "functions"
}
},
"kind": "Command",
"version": "v1"
},
{
"definition": {
"commandName": "insert_todos",
"permissions": [
{
"allowExecution": true,
"role": "admin"
}
]
},
"kind": "CommandPermissions",
"version": "v1"
},
{
"definition": {
"graphql": {
"typeName": "updateTodoOutputFieldReturning"
},
"name": "update_todo_output_field_returning"
},
"kind": "ScalarType",
"version": "v1"
},
{
"definition": {
"dataConnectorName": "functions",
"dataConnectorScalarType": "update_todo_output_field_returning",
"graphql": {
"comparisonExpressionTypeName": "updateTodoOutputFieldReturningComparisonExp"
},
"representation": "update_todo_output_field_returning"
},
"kind": "DataConnectorScalarRepresentation",
"version": "v1"
},
{
"definition": {
"fields": [
{
"name": "returning",
"type": "update_todo_output_field_returning!"
},
{
"name": "status",
"type": "String!"
}
],
"graphql": {
"inputTypeName": "updateTodoOutputInput",
"typeName": "updateTodoOutput"
},
"name": "update_todo_output"
},
"kind": "ObjectType",
"version": "v1"
},
{
"definition": {
"permissions": [
{
"output": {
"allowedFields": [
"returning",
"status"
]
},
"role": "admin"
}
],
"typeName": "update_todo_output"
},
"kind": "TypePermissions",
"version": "v1"
},
{
"definition": {
"arguments": [
{
"name": "todo_id",
"type": "String!"
},
{
"name": "status",
"type": "String!"
}
],
"graphql": {
"rootFieldKind": "Mutation",
"rootFieldName": "updateTodo"
},
"name": "update_todo",
"outputType": "update_todo_output!",
"source": {
"dataConnectorCommand": {
"procedure": "update_todo"
},
"dataConnectorName": "functions"
}
},
"kind": "Command",
"version": "v1"
},
{
"definition": {
"commandName": "update_todo",
"permissions": [
{
"allowExecution": true,
"role": "admin"
}
]
},
"kind": "CommandPermissions",
"version": "v1"
},
{
"definition": {
"name": "functions",
"schema": {
"collections": [],
"functions": [],
"object_types": {
"insert_todos_output": {
"fields": {
"data": {
"type": {
"name": "todoType",
"type": "named"
}
},
"errorMessage": {
"type": {
"name": "String",
"type": "named"
}
},
"status": {
"type": {
"name": "String",
"type": "named"
}
}
}
},
"todoType": {
"fields": {
"id": {
"type": {
"name": "Float",
"type": "named"
}
},
"todo": {
"type": {
"name": "String",
"type": "named"
}
},
"user_id": {
"type": {
"name": "Float",
"type": "named"
}
}
}
},
"update_todo_output": {
"fields": {
"returning": {
"type": {
"name": "update_todo_output_field_returning",
"type": "named"
}
},
"status": {
"type": {
"name": "String",
"type": "named"
}
}
}
}
},
"procedures": [
{
"arguments": {
"todo": {
"type": {
"name": "String",
"type": "named"
}
},
"user_id": {
"type": {
"name": "String",
"type": "named"
}
}
},
"name": "insert_todos",
"result_type": {
"name": "insert_todos_output",
"type": "named"
}
},
{
"arguments": {
"status": {
"type": {
"name": "String",
"type": "named"
}
},
"todo_id": {
"type": {
"name": "String",
"type": "named"
}
}
},
"name": "update_todo",
"result_type": {
"name": "update_todo_output",
"type": "named"
}
}
],
"scalar_types": {
"Float": {
"aggregate_functions": {},
"comparison_operators": {},
"update_operators": {}
},
"String": {
"aggregate_functions": {},
"comparison_operators": {},
"update_operators": {}
},
"update_todo_output_field_returning": {
"aggregate_functions": {},
"comparison_operators": {},
"update_operators": {}
}
}
},
"url": {
"singleUrl": "http://127.0.0.1:8100"
}
},
"kind": "DataConnector",
"version": "v1"
},
{
"definition": {
"connectorConfiguration": [
{
"configuration": {
"configureOptions": {
"comparisonOperatorMapping": [
{
"exposedName": "_eq",
"operatorName": "="
},
{
"exposedName": "_lte",
"operatorName": "<="
},
{
"exposedName": "_gt",
"operatorName": ">"
},
{
"exposedName": "_gte",
"operatorName": ">="
},
{
"exposedName": "_lt",
"operatorName": "<"
},
{
"exposedName": "_neq",
"operatorName": "!="
},
{
"exposedName": "_like",
"operatorName": "LIKE"
},
{
"exposedName": "_nlike",
"operatorName": "NOT LIKE"
},
{
"exposedName": "_ilike",
"operatorName": "ILIKE"
},
{
"exposedName": "_nilike",
"operatorName": "NOT ILIKE"
},
{
"exposedName": "_similar",
"operatorName": "SIMILAR TO"
},
{
"exposedName": "_nsimilar",
"operatorName": "NOT SIMILAR TO"
},
{
"exposedName": "_neq",
"operatorName": "<>"
},
{
"exposedName": "_like",
"operatorName": "~~"
},
{
"exposedName": "_nlike",
"operatorName": "!~~"
},
{
"exposedName": "_ilike",
"operatorName": "~~*"
},
{
"exposedName": "_nilike",
"operatorName": "!~~*"
},
{
"exposedName": "_regex",
"operatorName": "~"
},
{
"exposedName": "_nregex",
"operatorName": "!~"
},
{
"exposedName": "_iregex",
"operatorName": "~*"
},
{
"exposedName": "_niregex",
"operatorName": "!~*"
}
],
"excludedSchemas": [
"information_schema",
"pg_catalog",
"tiger",
"crdb_internal",
"columnar",
"columnar_internal"
],
"unqualifiedSchemas": [
"public"
]
},
"connectionUri": {
"uri": {
"value": "postgres://user_sooraj:pass@asia-south1-a-001.secure-connect.cloud.internal:2006/db"
}
},
"metadata": {
"aggregateFunctions": {
"int4": {
"bit_and": {
"returnType": "int4"
},
"bit_or": {
"returnType": "int4"
},
"max": {
"returnType": "int4"
},
"min": {
"returnType": "int4"
}
},
"text": {
"max": {
"returnType": "text"
},
"min": {
"returnType": "text"
}
}
},
"comparisonOperators": {
"int4": {
"_eq": {
"argumentType": "int4",
"operatorName": "="
},
"_gt": {
"argumentType": "int4",
"operatorName": ">"
},
"_gte": {
"argumentType": "int4",
"operatorName": ">="
},
"_lt": {
"argumentType": "int4",
"operatorName": "<"
},
"_lte": {
"argumentType": "int4",
"operatorName": "<="
},
"_neq": {
"argumentType": "int4",
"operatorName": "<>"
}
},
"text": {
"_eq": {
"argumentType": "text",
"operatorName": "="
},
"_gt": {
"argumentType": "text",
"operatorName": ">"
},
"_gte": {
"argumentType": "text",
"operatorName": ">="
},
"_ilike": {
"argumentType": "text",
"operatorName": "~~*"
},
"_iregex": {
"argumentType": "text",
"operatorName": "~*"
},
"_like": {
"argumentType": "text",
"operatorName": "~~"
},
"_lt": {
"argumentType": "text",
"operatorName": "<"
},
"_lte": {
"argumentType": "text",
"operatorName": "<="
},
"_neq": {
"argumentType": "text",
"operatorName": "<>"
},
"_nilike": {
"argumentType": "text",
"operatorName": "!~~*"
},
"_niregex": {
"argumentType": "text",
"operatorName": "!~*"
},
"_nlike": {
"argumentType": "text",
"operatorName": "!~~"
},
"_nregex": {
"argumentType": "text",
"operatorName": "!~"
},
"_regex": {
"argumentType": "text",
"operatorName": "~"
}
},
"varchar": {
"_eq": {
"argumentType": "varchar",
"operatorName": "="
},
"_gt": {
"argumentType": "varchar",
"operatorName": ">"
},
"_gte": {
"argumentType": "varchar",
"operatorName": ">="
},
"_ilike": {
"argumentType": "varchar",
"operatorName": "~~*"
},
"_iregex": {
"argumentType": "varchar",
"operatorName": "~*"
},
"_like": {
"argumentType": "varchar",
"operatorName": "~~"
},
"_lt": {
"argumentType": "varchar",
"operatorName": "<"
},
"_lte": {
"argumentType": "varchar",
"operatorName": "<="
},
"_neq": {
"argumentType": "varchar",
"operatorName": "<>"
},
"_nilike": {
"argumentType": "varchar",
"operatorName": "!~~*"
},
"_niregex": {
"argumentType": "varchar",
"operatorName": "!~*"
},
"_nlike": {
"argumentType": "varchar",
"operatorName": "!~~"
},
"_nregex": {
"argumentType": "varchar",
"operatorName": "!~"
},
"_regex": {
"argumentType": "varchar",
"operatorName": "~"
}
}
},
"nativeQueries": {},
"tables": {
"todos": {
"columns": {
"id": {
"description": null,
"name": "id",
"nullable": "nonNullable",
"type": "int4"
},
"status": {
"description": null,
"name": "status",
"nullable": "nullable",
"type": "text"
},
"todo": {
"description": null,
"name": "todo",
"nullable": "nonNullable",
"type": "text"
},
"user_id": {
"description": null,
"name": "user_id",
"nullable": "nullable",
"type": "int4"
}
},
"description": null,
"foreignRelations": {
"todos_user_id_fkey": {
"columnMapping": {
"user_id": "id"
},
"foreignSchema": "public",
"foreignTable": "users"
}
},
"schemaName": "public",
"tableName": "todos",
"uniquenessConstraints": {
"todos_pkey": [
"id"
]
}
},
"users": {
"columns": {
"email": {
"description": null,
"name": "email",
"nullable": "nonNullable",
"type": "varchar"
},
"id": {
"description": null,
"name": "id",
"nullable": "nonNullable",
"type": "int4"
},
"name": {
"description": null,
"name": "name",
"nullable": "nonNullable",
"type": "varchar"
}
},
"description": null,
"foreignRelations": {},
"schemaName": "public",
"tableName": "users",
"uniquenessConstraints": {
"users_email_key": [
"email"
],
"users_pkey": [
"id"
]
}
}
}
},
"version": 1
},
"mode": "ReadOnly",
"region": "gcp-asia-south1"
}
],
"connectorId": "hasura/postgres",
"name": "postgres"
},
"kind": "HasuraHubDataConnector",
"version": "v1"
},
{
"definition": {
"graphql": {
"typeName": "int4"
},
"name": "int4"
},
"kind": "ScalarType",
"version": "v1"
},
{
"definition": {
"graphql": {
"typeName": "text"
},
"name": "text"
},
"kind": "ScalarType",
"version": "v1"
},
{
"definition": {
"dataConnectorName": "postgres",
"dataConnectorScalarType": "int4",
"graphql": {
"comparisonExpressionTypeName": "int4ComparisonExp"
},
"representation": "int4"
},
"kind": "DataConnectorScalarRepresentation",
"version": "v1"
},
{
"definition": {
"dataConnectorName": "postgres",
"dataConnectorScalarType": "text",
"graphql": {
"comparisonExpressionTypeName": "textComparisonExp"
},
"representation": "text"
},
"kind": "DataConnectorScalarRepresentation",
"version": "v1"
},
{
"definition": {
"fields": [
{
"name": "id",
"type": "int4!"
},
{
"name": "status",
"type": "text"
},
{
"name": "todo",
"type": "text!"
},
{
"name": "user_id",
"type": "int4"
}
],
"graphql": {
"inputTypeName": "todosInput",
"typeName": "todos"
},
"name": "todos"
},
"kind": "ObjectType",
"version": "v1"
},
{
"definition": {
"permissions": [
{
"output": {
"allowedFields": [
"id",
"status",
"todo",
"user_id"
]
},
"role": "admin"
}
],
"typeName": "todos"
},
"kind": "TypePermissions",
"version": "v1"
},
{
"definition": {
"arguments": [],
"filterableFields": [
{
"fieldName": "id",
"operators": {
"enableAll": true
}
},
{
"fieldName": "status",
"operators": {
"enableAll": true
}
},
{
"fieldName": "todo",
"operators": {
"enableAll": true
}
},
{
"fieldName": "user_id",
"operators": {
"enableAll": true
}
}
],
"graphql": {
"filterExpressionType": "todosBoolExp",
"orderByExpressionType": "todosOrderBy",
"selectMany": {
"queryRootField": "todos"
},
"selectUniques": [
{
"queryRootField": "todosById",
"uniqueIdentifier": [
"id"
]
}
]
},
"name": "todos",
"objectType": "todos",
"orderableFields": [
{
"fieldName": "id",
"orderByDirections": {
"enableAll": true
}
},
{
"fieldName": "status",
"orderByDirections": {
"enableAll": true
}
},
{
"fieldName": "todo",
"orderByDirections": {
"enableAll": true
}
},
{
"fieldName": "user_id",
"orderByDirections": {
"enableAll": true
}
}
],
"source": {
"collection": "todos",
"dataConnectorName": "postgres"
}
},
"kind": "Model",
"version": "v1"
},
{
"definition": {
"modelName": "todos",
"permissions": [
{
"role": "admin",
"select": {
"filter": null
}
}
]
},
"kind": "ModelPermissions",
"version": "v1"
},
{
"definition": {
"graphql": {
"typeName": "varchar"
},
"name": "varchar"
},
"kind": "ScalarType",
"version": "v1"
},
{
"definition": {
"dataConnectorName": "postgres",
"dataConnectorScalarType": "varchar",
"graphql": {
"comparisonExpressionTypeName": "varcharComparisonExp"
},
"representation": "varchar"
},
"kind": "DataConnectorScalarRepresentation",
"version": "v1"
},
{
"definition": {
"fields": [
{
"name": "email",
"type": "varchar!"
},
{
"name": "id",
"type": "int4!"
},
{
"name": "name",
"type": "varchar!"
}
],
"graphql": {
"inputTypeName": "usersInput",
"typeName": "users"
},
"name": "users"
},
"kind": "ObjectType",
"version": "v1"
},
{
"definition": {
"permissions": [
{
"output": {
"allowedFields": [
"email",
"id",
"name"
]
},
"role": "admin"
}
],
"typeName": "users"
},
"kind": "TypePermissions",
"version": "v1"
},
{
"definition": {
"arguments": [],
"filterableFields": [
{
"fieldName": "email",
"operators": {
"enableAll": true
}
},
{
"fieldName": "id",
"operators": {
"enableAll": true
}
},
{
"fieldName": "name",
"operators": {
"enableAll": true
}
}
],
"graphql": {
"filterExpressionType": "usersBoolExp",
"orderByExpressionType": "usersOrderBy",
"selectMany": {
"queryRootField": "users"
},
"selectUniques": [
{
"queryRootField": "usersByEmail",
"uniqueIdentifier": [
"email"
]
},
{
"queryRootField": "usersById",
"uniqueIdentifier": [
"id"
]
}
]
},
"name": "users",
"objectType": "users",
"orderableFields": [
{
"fieldName": "email",
"orderByDirections": {
"enableAll": true
}
},
{
"fieldName": "id",
"orderByDirections": {
"enableAll": true
}
},
{
"fieldName": "name",
"orderByDirections": {
"enableAll": true
}
}
],
"source": {
"collection": "users",
"dataConnectorName": "postgres"
}
},
"kind": "Model",
"version": "v1"
},
{
"definition": {
"modelName": "users",
"permissions": [
{
"role": "admin",
"select": {
"filter": null
}
}
]
},
"kind": "ModelPermissions",
"version": "v1"
},
{
"definition": {
"mapping": [
{
"source": {
"fieldPath": [
{
"fieldName": "user_id"
}
]
},
"target": {
"modelField": [
{
"fieldName": "id"
}
]
}
}
],
"name": "user",
"source": "todos",
"target": {
"model": {
"name": "users",
"relationshipType": "Object"
}
}
},
"kind": "Relationship",
"version": "v1"
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment