#[non_exhaustive]pub struct MutationField {
pub name: String,
pub table_name: String,
pub schema_name: String,
pub mutation_type: MutationType,
pub pk_columns: Vec<(String, String)>,
pub return_type: String,
pub type_name: String,
pub local_type_name: String,
pub description: Option<String>,
}Expand description
A mutation field for a table.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringField name (e.g., “insertUsers”)
table_name: StringTable name
schema_name: StringSchema the table lives in
mutation_type: MutationTypeMutation type
pk_columns: Vec<(String, String)>Primary key columns, as (column name, PostgreSQL type).
Populated for by-PK mutations so the resolver can target the row by its key. Empty for bulk mutations.
return_type: StringGraphQL return type
type_name: StringGraphQL row object type name.
local_type_name: StringBase name for helper types owned by this table.
description: Option<String>Field description
Implementations§
Source§impl MutationField
impl MutationField
Sourcepub fn insert_fields(table: &Table) -> Vec<Self>
pub fn insert_fields(table: &Table) -> Vec<Self>
Create insert mutation fields for a table.
Sourcepub fn insert_fields_named(table: &Table, base_name: &str) -> Vec<Self>
pub fn insert_fields_named(table: &Table, base_name: &str) -> Vec<Self>
As Self::insert_fields, with an explicit base name for the generated
field and type names.
Sourcepub fn insert_fields_typed(
table: &Table,
local_type_name: &str,
type_name: &str,
) -> Vec<Self>
pub fn insert_fields_typed( table: &Table, local_type_name: &str, type_name: &str, ) -> Vec<Self>
Create insert mutation fields using separate helper and row type names.
Sourcepub fn update_fields(table: &Table) -> Vec<Self>
pub fn update_fields(table: &Table) -> Vec<Self>
Create update mutation fields for a table.
Sourcepub fn update_fields_named(table: &Table, base_name: &str) -> Vec<Self>
pub fn update_fields_named(table: &Table, base_name: &str) -> Vec<Self>
As Self::update_fields, with an explicit base name for the generated
field and type names.
Sourcepub fn update_fields_typed(
table: &Table,
local_type_name: &str,
type_name: &str,
) -> Vec<Self>
pub fn update_fields_typed( table: &Table, local_type_name: &str, type_name: &str, ) -> Vec<Self>
Create update mutation fields using separate helper and row type names.
Sourcepub fn delete_fields(table: &Table) -> Vec<Self>
pub fn delete_fields(table: &Table) -> Vec<Self>
Create delete mutation fields for a table.
Sourcepub fn delete_fields_named(table: &Table, base_name: &str) -> Vec<Self>
pub fn delete_fields_named(table: &Table, base_name: &str) -> Vec<Self>
As Self::delete_fields, with an explicit base name for the generated
field and type names.
Trait Implementations§
Source§impl Clone for MutationField
impl Clone for MutationField
Auto Trait Implementations§
impl Freeze for MutationField
impl RefUnwindSafe for MutationField
impl Send for MutationField
impl Sync for MutationField
impl Unpin for MutationField
impl UnsafeUnpin for MutationField
impl UnwindSafe for MutationField
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