Schema

Schema

The Schema page provides an overview of your GraphQL schema, allowing you to filter and explore type and field definitions. Here, you can also view the raw Schema Definition Language (SDL) of your GraphQL schema. The page lists various kinds of definitions, including objects, scalars, inputs, etc.

Query

The Query type is a crucial part of the GraphQL schema, serving as the entry point for every GraphQL query. While the Query type is a special type, it functions similarly to any other GraphQL object type, and its fields operate in the same way.

GraphQL queries can go beyond simple types and traverse related objects and their fields. This ability enables clients to fetch comprehensive sets of related data in a single request, eliminating the need for multiple roundtrips as required in traditional REST architectures.

Query Fields

  1. getTenantFlowsExecuted : ResultMessage

    • Description: Retrieve executed flows for a specific tenant.

    • Details:

      • tenant_id String!

  2. healthCheck : ResultMessage

    • Description: Performs a health check to verify the status and responsiveness of the system.


Mutation

The Mutation type in GraphQL is specifically designed to modify server-side data. Similar to queries, mutation fields can return an object type, allowing clients to request nested fields. Mutations can consist of multiple fields. However, a crucial distinction exists: while query fields execute in parallel, mutation fields run in series. This ensures that if multiple mutations are sent in a single request, the first mutation completes before the second begins, preventing race conditions.

Mutution Fields

  1. cancelFlowExecution : ResultMessage

    • Description: Cancel the execution of a flow for a specific tenant and batch date time.

    • Details:

      • tenantId String!

      • executionBatchDateTime String!

  2. createCronJob : ResultMessage

    • Description: Schedule a cron job for a specific tenant.

    • Details:

      • tenantId String!

      • flowId String!

      • uniqueId String!

      • flowName String!

      • dateStart DateTime

      • dateEnd DateTime

  3. cronJobAction : ResultMessage

    • Description: Perform an action related to a scheduled cron job

    • Details:

      • tenantId String!

      • flowId String!

      • flowName String!

      • dateStart DateTime

      • dateEnd DateTime

  4. deleteCronJob : ResultMessage

    • Description: Delete a scheduled cron job for a tenant.

    • Details:

      • tenantId String!

      • flowId String!

      • id String!

  5. executeFlow : ResultMessage

    • Description: Execute a flow for a specific tenant.

    • Details:

      • tenantId String!

      • input FlowInput


Objects

The most basic components of a GraphQL schema are object types, representing distinct kinds of objects that can be fetched from the service, along with their defined fields.

Object Type: ResultMessage

  • Description: Results of the operation.

Fields

  1. isSuccessful : Boolean

    • Description: A boolean field indicating whether the operation was successful.

  2. message : String

    • Description: A string field providing additional information or messages related to the operation.

  3. resultObject : JSON

    • Description: A field containing a JSON object representing additional result data. The structure of this object may vary based on the context of the operation.

Used By Types

  1. Query.healthCheck

    • Description: Health check endpoint to verify service status.

  2. Query.getTenantFlowsExecuted

    • Description: Retrieve executed flows for a specific tenant.

  3. Mutation.executeFlow

    • Description: Execute a flow for a specific tenant.

  4. Mutation.cronJobAction

    • Description: Perform an action related to a scheduled cron job.

  5. Mutation.createCronJob

    • Description: Schedule a cron job for a specific tenant.

  6. Mutation.deleteCronJob

    • Description: Delete a scheduled cron job for a tenant.

  7. Mutation.cancelFlowExecution

    • Description: Cancel the execution of a flow for a specific tenant and batch date time


Scalars

Scalar types in GraphQL represent the leaves of a query, providing a way to represent concrete data. Below are descriptions for each scalar type in the GraphQL schema.

Scalar Types

  1. Boolean

    • Description: The Boolean scalar type represents true or false. It is commonly used for logical operations and conditions within GraphQL queries.

    Used By Types

    • ResultMessage.isSuccessful

      • Description: The Boolean scalar type is used by the isSuccessful field of the ResultMessage object type to indicate the success status of an operation.

  2. DateTime

    • Description: A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.

    Used By Types

    • Mutation.cronJobAction(dateStart)

      • Description: Perform an action related to a scheduled cron job.

    • Mutation.cronJobAction(dateEnd)

      • Description: Perform an action related to a scheduled cron job.

    • Mutation.createCronJob(dateStart)

      • Description: Schedule a cron job for a specific tenant.

    • Mutation.createCronJob(dateEnd)

      • Description: Schedule a cron job for a specific tenant

  3. JSON

    • Description: The JSON scalar type represents JSON values as specified by ECMA-404.

    Used By Types

    • ResultMessage.resultObject

      • Description: The JSON scalar type is used by the resultObject field of the ResultMessage object type to convey additional data or results.

    • FlowInput.payload

      • Description: The JSON scalar type is used by the payload field of the FlowInput input type to provide a flexible and structured input for a flow execution.

  4. String

    • Description: The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

    Used By Types

    • Query.getTenantFlowsExecuted(tenant_id)

      • Description: Retrieve executed flows for a specific tenant.

    • Mutation.executeFlow(tenantId)

      • Description: Execute a flow for a specific tenant.

    • Mutation.cronJobAction(tenantId)

      • Description: Perform an action related to a scheduled cron job.

    • Mutation.cronJobAction(flowId)

      • Description: Perform an action related to a scheduled cron job.

    • Mutation.cronJobAction(flowName)

      • Description: Perform an action related to a scheduled cron job.

    • Mutation.createCronJob(tenantId)

      • Description: Schedule a cron job for a specific tenant.

    • Mutation.createCronJob(flowId)

      • Description: Schedule a cron job for a specific tenant.

    • Mutation.createCronJob(uniqueId)

      • Description: Schedule a cron job for a specific tenant.

    • Mutation.createCronJob(flowName)

      • Description: Schedule a cron job for a specific tenant.

    • Mutation.deleteCronJob(tenantId)

      • Description: Delete a scheduled cron job for a tenant.

    • Mutation.deleteCronJob(flowId)

      • Description: Delete a scheduled cron job for a tenant.

    • Mutation.deleteCronJob(id)

      • Description: Delete a scheduled cron job for a tenant.

    • Mutation.cancelFlowExecution(tenantId)

      • Description: Cancel the execution of a flow for a specific tenant and batch date time.

    • Mutation.cancelFlowExecution(executionBatchDateTime)

      • Description: Cancel the execution of a flow for a specific tenant and batch date time.

    • ResultMessage.message

      • Description: No description.

    • FlowInput.flow_id

      • Description: No description


Input

Input types in GraphQL allow the passing of complex objects as arguments into a field, particularly useful for mutations where entire objects need to be created. Below is the description for the input type present in the GraphQL schema.

Input Type: FlowInput

  • Description: The FlowInput input type is designed for passing complex data when executing a flow mutation. It encapsulates specific fields required to describe the input data for the flow execution.

Fields

  1. flow_id : String

    • Description: The identifier for the flow associated with the input. Specifies which flow the mutation should act upon.

  2. payload : JSON

    • Description: A field representing the payload for the flow. It accepts data in JSON format, allowing for a flexible and structured input.

Used By Types

  1. Mutation.executeFlow(input)

    • Description: The FlowInput input type is utilized by the executeFlow mutation in the Mutation type. When executing a flow, this input type allows users to provide the necessary information, such as the flow identifier (flow_id) and payload (payload), to perform the mutation.


Directives

Directives in GraphQL allow you to modify the execution of queries in various ways. Below are descriptions for each directive present in the GraphQL schema.

Directives

  1. @deprecated

    • Description: Marks an element of a GraphQL schema as no longer supported

    • Details:

      • reason String = "No longer supported"

      • Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by CommonMark.

  2. @include

    • Description: Directs the executor to include this field or fragment only when the if argument is true.

    • Details:

      • if Boolean!

      • Included when true.

  3. @skip

    • Description: Directs the executor to skip this field or fragment when the if argument is true.

    • Details:

      • if Boolean!

      • Skipped when true..

  4. @specifiedBy

    • Description: Exposes a URL that specifies the behaviour of this scalar.

    • Details:

      • url String!

      • The URL that specifies the behaviour of this scalar.

Last updated