pub struct RelationshipField {
pub name: String,
pub target_type: String,
pub is_list: bool,
pub relationship: Relationship,
pub description: Option<String>,
pub arguments: Vec<(String, String, bool)>,
}Expand description
Represents a GraphQL field derived from a database relationship.
Fields§
§name: StringField name (derived from foreign table name).
target_type: StringTarget GraphQL type name.
is_list: boolWhether this returns a list (O2M, M2M) or single object (M2O, O2O).
relationship: RelationshipThe original relationship.
description: Option<String>Description for the field.
arguments: Vec<(String, String, bool)>The arguments a computed relationship’s function takes from the caller,
as (name, PostgreSQL type, required).
Neither the parent row nor the session is among them: the first is what makes it a relationship and the second is the server’s to supply. Empty for every relationship reached by a key.
Implementations§
Source§impl RelationshipField
impl RelationshipField
Sourcepub fn from_relationship(rel: &Relationship) -> Self
pub fn from_relationship(rel: &Relationship) -> Self
Create a GraphQL field from a database relationship.
Sourcepub fn from_relationship_named(
rel: &Relationship,
target_base_name: &str,
given_name: Option<&str>,
) -> Self
pub fn from_relationship_named( rel: &Relationship, target_base_name: &str, given_name: Option<&str>, ) -> Self
Create a GraphQL field using an explicit base name for the target.
The base name must match the one the target table’s object type was generated with, otherwise the field would reference a type that was never registered.
Sourcepub fn type_string(&self) -> String
pub fn type_string(&self) -> String
Get the GraphQL type string.
Sourcepub fn join_columns(&self) -> Vec<(String, String)>
pub fn join_columns(&self) -> Vec<(String, String)>
Get the join columns for this relationship.
Trait Implementations§
Source§impl Clone for RelationshipField
impl Clone for RelationshipField
Source§fn clone(&self) -> RelationshipField
fn clone(&self) -> RelationshipField
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for RelationshipField
impl RefUnwindSafe for RelationshipField
impl Send for RelationshipField
impl Sync for RelationshipField
impl Unpin for RelationshipField
impl UnsafeUnpin for RelationshipField
impl UnwindSafe for RelationshipField
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more