pub struct UserFieldConfig {
pub field_type: UserFieldType,
pub required: Option<bool>,
pub input: Option<bool>,
pub returned: Option<bool>,
pub field_name: Option<String>,
pub references: Option<UserFieldReference>,
pub unique: Option<bool>,
pub default_value: Option<FieldValue>,
pub default_value_fn: Option<UserFieldFactory>,
pub on_update: Option<UserFieldFactory>,
pub validator: Option<UserFieldValidator>,
pub transform: Option<FieldTransforms>,
}Expand description
Schema for an application-owned user field.
Fields§
§field_type: UserFieldTypeStorage type; route validation is supplied separately by validator.
required: Option<bool>User input requires Some(true); organization input requires any value except Some(false).
input: Option<bool>Permit public client input. Omission defaults to true.
returned: Option<bool>Include the field in public user views. Omission defaults to true.
field_name: Option<String>Serialized application model field name. Omitted or empty names use the logical field name.
references: Option<UserFieldReference>Foreign-key metadata. References to id use the adapter’s ID output conversion.
unique: Option<bool>Unique foreign keys select one related row; omission permits a related page.
default_value: Option<FieldValue>Constant creation default.
default_value_fn: Option<UserFieldFactory>Creation default factory.
on_update: Option<UserFieldFactory>Produce a stored value when an update omits this field.
validator: Option<UserFieldValidator>Validate public input before persistence; takes precedence over the route input transform.
transform: Option<FieldTransforms>Field callbacks. None preserves omission; Some(Default::default()) is an empty container.
Implementations§
Source§impl UserFieldConfig
impl UserFieldConfig
Sourcepub fn adapter_input(
&self,
value: Value,
supports_native_json: bool,
native_json_field: bool,
) -> AuthResult<Value>
pub fn adapter_input( &self, value: Value, supports_native_json: bool, native_json_field: bool, ) -> AuthResult<Value>
Convert a transformed value to the selected adapter’s database binding. JSON text uses JavaScript property ordering and number formatting. Serialization errors propagate before the adapter writes the value.
Sourcepub fn references_id(&self) -> bool
pub fn references_id(&self) -> bool
Whether this field uses the adapter’s reference-to-ID conversion.
Sourcepub async fn adapter_output(
&self,
value: Value,
supports_native_json: bool,
) -> AuthResult<Value>
pub async fn adapter_output( &self, value: Value, supports_native_json: bool, ) -> AuthResult<Value>
Await the output policy before decoding adapter storage values.
Source§impl UserFieldConfig
impl UserFieldConfig
Sourcepub fn validate_organization_input(
&self,
value: Option<&Value>,
location: &str,
partial: bool,
) -> AuthResult<Option<Value>>
pub fn validate_organization_input( &self, value: Option<&Value>, location: &str, partial: bool, ) -> AuthResult<Option<Value>>
Validate one Organization field without applying adapter defaults or transforms.
Source§impl UserFieldConfig
impl UserFieldConfig
Sourcepub fn input(&self) -> bool
pub fn input(&self) -> bool
Whether the public input boundary permits this field; defaults to true.
Sourcepub fn input_transform(&self) -> Option<&UserFieldTransform>
pub fn input_transform(&self) -> Option<&UserFieldTransform>
Configured input callback, without invoking the callback.
Sourcepub fn output_transform(&self) -> Option<&UserFieldTransform>
pub fn output_transform(&self) -> Option<&UserFieldTransform>
Configured output callback, without invoking the callback.