Skip to content

feat: update instrument_sessions subgraph to 0.3.0#128

Merged
MattPrit merged 1 commit intomainfrom
instrument_sessions-0.3.0
Jan 27, 2026
Merged

feat: update instrument_sessions subgraph to 0.3.0#128
MattPrit merged 1 commit intomainfrom
instrument_sessions-0.3.0

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
 
@@ -164,7 +166,7 @@ type Instrument
 }
 
 type InstrumentSession
-  @join__type(graph: INSTRUMENT_SESSIONS)
+  @join__type(graph: INSTRUMENT_SESSIONS, key: "instrumentSessionNumber proposal {proposalNumber}")
 {
   instrumentSessionId: Int!
   instrumentSessionNumber: Int!
@@ -178,6 +180,13 @@ type InstrumentSession
   roles: [InstrumentSessionRole!]!
 }
 
+type InstrumentSessionMutations
+  @join__type(graph: INSTRUMENT_SESSIONS, key: "instrumentSessionNumber proposalNumber")
+{
+  instrumentSessionNumber: Int!
+  proposalNumber: Int!
+}
+
 type InstrumentSessionRole
   @join__type(graph: INSTRUMENT_SESSIONS)
 {
@@ -187,6 +196,8 @@ type InstrumentSessionRole
   onSite: Boolean!
 }
 
+scalar join__DirectiveArguments
+
 scalar join__FieldSet
 
 enum join__Graph {
@@ -234,9 +245,11 @@ type LogEntry
 
 """The root mutation of the service"""
 type Mutation
+  @join__type(graph: INSTRUMENT_SESSIONS)
   @join__type(graph: SAMPLES)
   @join__type(graph: WORKFLOWS)
 {
+  instrumentSession(proposalNumber: Int!, instrumentSessionNumber: Int!): InstrumentSessionMutations @join__field(graph: INSTRUMENT_SESSIONS)
   createSamples(input: CreateSampleInput!): [Sample!]! @join__field(graph: SAMPLES) @deprecated(reason: "Will be replaced by createOrValidateSamples")
   createOrValidateSamples(input: CreateOrValidateSampleInput!): CreateSamplesResponse! @join__field(graph: SAMPLES)
   sample(sampleId: UUID!): SampleMutations @join__field(graph: SAMPLES)
@@ -245,6 +258,7 @@ type Mutation
 
 """Information about pagination in a connection"""
 type PageInfo
+  @join__type(graph: INSTRUMENT_SESSIONS)
   @join__type(graph: SAMPLES)
   @join__type(graph: WORKFLOWS)
 {
@@ -254,15 +268,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
@@ -282,6 +296,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)
 {
@@ -300,7 +328,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)

@MattPrit MattPrit merged commit 1ac4e34 into main Jan 27, 2026
17 checks passed
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.

2 participants