Skip to main content

yauth_migration/
lib.rs

1#[cfg(feature = "seaorm")]
2pub use sea_orm_migration::prelude::*;
3
4#[cfg(feature = "seaorm")]
5mod m20250101_000001_core;
6
7#[cfg(all(feature = "seaorm", feature = "email-password"))]
8mod m20250101_000002_email_password;
9
10#[cfg(all(feature = "seaorm", feature = "passkey"))]
11mod m20250101_000003_passkey;
12
13#[cfg(all(feature = "seaorm", feature = "mfa"))]
14mod m20250101_000004_mfa;
15
16#[cfg(all(feature = "seaorm", feature = "oauth"))]
17mod m20250101_000005_oauth;
18
19#[cfg(all(feature = "seaorm", feature = "bearer"))]
20mod m20250101_000006_bearer;
21
22#[cfg(all(feature = "seaorm", feature = "api-key"))]
23mod m20250101_000007_api_key;
24
25#[cfg(all(feature = "seaorm", feature = "magic-link"))]
26mod m20250101_000008_magic_link;
27
28#[cfg(all(feature = "seaorm", feature = "oauth"))]
29mod m20250101_000009_oauth_token_refresh;
30
31#[cfg(all(feature = "seaorm", feature = "oauth2-server"))]
32mod m20250101_000010_oauth2_server;
33#[cfg(all(feature = "seaorm", feature = "oauth2-server"))]
34mod m20250101_000011_device_authorization;
35
36#[cfg(all(feature = "seaorm", feature = "oauth2-server"))]
37mod m20250101_000013_oauth2_auth_code_nonce;
38
39#[cfg(all(feature = "seaorm", feature = "account-lockout"))]
40mod m20250101_000012_account_lockout;
41
42#[cfg(all(feature = "seaorm", feature = "webhooks"))]
43mod m20250101_000014_webhooks;
44
45#[cfg(all(feature = "seaorm", feature = "oidc"))]
46mod m20250101_000015_oidc;
47
48#[cfg(feature = "seaorm")]
49pub struct Migrator;
50
51#[cfg(feature = "seaorm")]
52#[async_trait::async_trait]
53impl MigratorTrait for Migrator {
54    fn migration_table_name() -> sea_orm::DynIden {
55        Alias::new("yauth_migrations").into_iden()
56    }
57
58    fn migrations() -> Vec<Box<dyn MigrationTrait>> {
59        let mut migrations: Vec<Box<dyn MigrationTrait>> =
60            vec![Box::new(m20250101_000001_core::Migration)];
61
62        #[cfg(feature = "email-password")]
63        migrations.push(Box::new(m20250101_000002_email_password::Migration));
64
65        #[cfg(feature = "passkey")]
66        migrations.push(Box::new(m20250101_000003_passkey::Migration));
67
68        #[cfg(feature = "mfa")]
69        migrations.push(Box::new(m20250101_000004_mfa::Migration));
70
71        #[cfg(feature = "oauth")]
72        migrations.push(Box::new(m20250101_000005_oauth::Migration));
73
74        #[cfg(feature = "bearer")]
75        migrations.push(Box::new(m20250101_000006_bearer::Migration));
76
77        #[cfg(feature = "api-key")]
78        migrations.push(Box::new(m20250101_000007_api_key::Migration));
79
80        #[cfg(feature = "magic-link")]
81        migrations.push(Box::new(m20250101_000008_magic_link::Migration));
82
83        #[cfg(feature = "oauth")]
84        migrations.push(Box::new(m20250101_000009_oauth_token_refresh::Migration));
85
86        #[cfg(feature = "oauth2-server")]
87        migrations.push(Box::new(m20250101_000010_oauth2_server::Migration));
88
89        #[cfg(feature = "oauth2-server")]
90        migrations.push(Box::new(m20250101_000011_device_authorization::Migration));
91
92        #[cfg(feature = "oauth2-server")]
93        migrations.push(Box::new(m20250101_000013_oauth2_auth_code_nonce::Migration));
94
95        #[cfg(feature = "account-lockout")]
96        migrations.push(Box::new(m20250101_000012_account_lockout::Migration));
97
98        #[cfg(feature = "webhooks")]
99        migrations.push(Box::new(m20250101_000014_webhooks::Migration));
100
101        #[cfg(feature = "oidc")]
102        migrations.push(Box::new(m20250101_000015_oidc::Migration));
103
104        migrations
105    }
106}
107
108#[cfg(feature = "diesel-async")]
109pub mod diesel_migrations;