| enum EventState { |
| NEW |
| PROCESSING |
| DONE |
| } |
| |
| type Foo { bar: Int } |
| |
| # type Image { |
| # id: ID! |
| # objectPath: String! |
| # } |
| |
| # type ImageEvent { |
| # id: ID! |
| # state: EventState! |
| # node: Image! @hasInverse(field: events) |
| # } |
| |
| # extend type Image { |
| # events: [ImageEvent] @hasInverse(field: node) |
| # } |
| |
| |
| |
| # type ImageSegment { |
| # id: ID! |
| # bar: String |
| # source: Image! @hasInverse(field: segments) |
| # } |
| |
| # type ImageSegmentEvent { |
| # id: ID! |
| # state: EventState! |
| # node: ImageSegment! @hasInverse(field: events) |
| # } |
| |
| # extend type ImageSegment { |
| # events: [ImageSegmentEvent] @hasInverse(field: node) |
| # } |
| |
| # extend type Image { |
| # segments: [ImageSegment] @hasInverse(field: source) |
| # } |