Skip to content

Conversation

@dls-graph-schema-federator
Copy link
Contributor

Repository

Subgraph maintainers

@DiamondLightSource/ulims

@github-actions
Copy link

@@ -1,15 +1,17 @@
 schema
   @link(url: "https://specs.apollo.dev/link/v1.0")
-  @link(url: "https://specs.apollo.dev/join/v0.3", for: EXECUTION)
+  @link(url: "https://specs.apollo.dev/join/v0.4", for: EXECUTION)
 {
   query: Query
   mutation: Mutation
   subscription: Subscription
 }
 
+directive @join__directive(graphs: [join__Graph!], name: String!, args: join__DirectiveArguments) repeatable on SCHEMA | OBJECT | INTERFACE | FIELD_DEFINITION
+
 directive @join__enumValue(graph: join__Graph!) repeatable on ENUM_VALUE
 
-directive @join__field(graph: join__Graph, requires: join__FieldSet, provides: join__FieldSet, type: String, external: Boolean, override: String, usedOverridden: Boolean) repeatable on FIELD_DEFINITION | INPUT_FIELD_DEFINITION
+directive @join__field(graph: join__Graph, requires: join__FieldSet, provides: join__FieldSet, type: String, external: Boolean, override: String, usedOverridden: Boolean, overrideLabel: String) repeatable on FIELD_DEFINITION | INPUT_FIELD_DEFINITION
 
 directive @join__graph(name: String!, url: String!) on ENUM_VALUE
 
@@ -161,7 +163,7 @@ type Instrument
 }
 
 type InstrumentSession
-  @join__type(graph: INSTRUMENT_SESSIONS)
+  @join__type(graph: INSTRUMENT_SESSIONS, key: "instrumentSessionNumber proposal {proposalNumber}")
 {
   instrumentSessionId: Int!
   instrumentSessionNumber: Int!
@@ -184,6 +186,8 @@ type InstrumentSessionRole
   onSite: Boolean!
 }
 
+scalar join__DirectiveArguments
+
 scalar join__FieldSet
 
 enum join__Graph {
@@ -231,6 +235,7 @@ type Mutation
 
 """Information about pagination in a connection"""
 type PageInfo
+  @join__type(graph: INSTRUMENT_SESSIONS)
   @join__type(graph: SAMPLES)
   @join__type(graph: WORKFLOWS)
 {
@@ -240,15 +245,15 @@ type PageInfo
   """When paginating forwards, the cursor to continue."""
   endCursor: String
 
-  """When paginating backwards, are there more items?"""
-  hasPreviousPage: Boolean!
-
   """When paginating forwards, are there more items?"""
   hasNextPage: Boolean!
+
+  """When paginating backwards, are there more items?"""
+  hasPreviousPage: Boolean!
 }
 
 type Proposal
-  @join__type(graph: INSTRUMENT_SESSIONS)
+  @join__type(graph: INSTRUMENT_SESSIONS, key: "proposalNumber")
 {
   proposalNumber: Int!
   proposalCategory: String
@@ -268,6 +273,20 @@ type ProposalAccount
   role: String!
 }
 
+type ProposalConnection
+  @join__type(graph: INSTRUMENT_SESSIONS)
+{
+  edges: [ProposalEdge!]!
+  pageInfo: PageInfo!
+}
+
+type ProposalEdge
+  @join__type(graph: INSTRUMENT_SESSIONS)
+{
+  cursor: String!
+  node: Proposal!
+}
+
 enum ProposalState
   @join__type(graph: INSTRUMENT_SESSIONS)
 {
@@ -286,7 +305,7 @@ type Query
   proposal(proposalNumber: Int!): Proposal @join__field(graph: INSTRUMENT_SESSIONS)
 
   """Get a list of proposals"""
-  proposals(proposalCategory: String = null): [Proposal!]! @join__field(graph: INSTRUMENT_SESSIONS)
+  proposals(proposalCategory: String = null, first: Int = null, last: Int = null, after: String = null, before: String = null): ProposalConnection! @join__field(graph: INSTRUMENT_SESSIONS)
 
   """Get a instrument session"""
   instrumentSession(proposalNumber: Int!, instrumentSessionNumber: Int!): InstrumentSession @join__field(graph: INSTRUMENT_SESSIONS)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant