Skip to content

Conversation

@antirotor
Copy link
Member

PR Checklist

Adding representation traits to the node in GraphQL.

Description of changes

Traits are JSON serialized data, in GraphQL represented as string to simplify model definitions.

Technical details

This is done so pipeline code can work with traits retrieved via graphql.

Additional context

Related PRs:
ayon-core#
#466
#431

@antirotor antirotor added the type: enhancement Improvement of existing functionality or minor addition label Mar 27, 2025
@antirotor antirotor requested review from Copilot and martastain March 27, 2025 15:53
@antirotor antirotor self-assigned this Mar 27, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds representation traits support for GraphQL by including a new JSON serialized field to simplify model definitions for pipeline usage.

  • Added "traits" column retrieval in the representations resolver.
  • Introduced a new nullable "traits" attribute in the representation node along with JSON serialization handling.

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
ayon_server/graphql/resolvers/representations.py Adds traits field selection in the SQL query for representations.
ayon_server/graphql/nodes/representation.py Introduces a new nullable traits attribute and incorporates JSON serialization for the traits field.
Comments suppressed due to low confidence (1)

ayon_server/graphql/nodes/representation.py:111

  • Consider explicitly checking for None (e.g., using record.get('traits') is not None) instead of a falsy check to ensure valid empty JSON objects are not discarded.
traits=json_dumps(record["traits"]) if record["traits"] else None,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: enhancement Improvement of existing functionality or minor addition

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants