rustauth_plugins/username/
schema.rs1use rustauth_core::db::{DbField, DbFieldType, TableOptions};
2use rustauth_core::plugin::PluginSchemaContribution;
3
4#[derive(Debug, Clone, Default, PartialEq, Eq)]
5pub struct UsernameSchemaOptions {
6 pub user: TableOptions,
7}
8
9pub fn username_field(options: &UsernameSchemaOptions) -> PluginSchemaContribution {
10 PluginSchemaContribution::field(
11 "user",
12 "username",
13 DbField::new(
14 options
15 .user
16 .field_names
17 .get("username")
18 .cloned()
19 .unwrap_or_else(|| "username".to_owned()),
20 DbFieldType::String,
21 )
22 .optional()
23 .unique(),
24 )
25}
26
27pub fn display_username_field(options: &UsernameSchemaOptions) -> PluginSchemaContribution {
28 PluginSchemaContribution::field(
29 "user",
30 "display_username",
31 DbField::new(
32 options
33 .user
34 .field_names
35 .get("displayUsername")
36 .cloned()
37 .unwrap_or_else(|| "display_username".to_owned()),
38 DbFieldType::String,
39 )
40 .optional(),
41 )
42}