shield_sea_orm/migrations/
providers.rs

1#[cfg(feature = "provider-email")]
2pub mod email;
3#[cfg(feature = "provider-oauth")]
4pub mod oauth;
5#[cfg(feature = "provider-oidc")]
6pub mod oidc;
7
8use async_trait::async_trait;
9use sea_orm_migration::{MigrationTrait, MigratorTrait};
10
11pub struct ProvidersMigrator;
12
13#[async_trait]
14impl MigratorTrait for ProvidersMigrator {
15    fn migrations() -> Vec<Box<dyn MigrationTrait>> {
16        #[allow(unused_mut)]
17        let mut migrations = vec![];
18
19        #[cfg(feature = "provider-email")]
20        {
21            use self::email::ProviderEmailMigrator;
22            migrations.extend(ProviderEmailMigrator::migrations());
23        }
24        #[cfg(feature = "provider-oauth")]
25        {
26            use self::oauth::ProviderOauthMigrator;
27            migrations.extend(ProviderOauthMigrator::migrations());
28        }
29        #[cfg(feature = "provider-oidc")]
30        {
31            use self::oidc::ProviderOidcMigrator;
32            migrations.extend(ProviderOidcMigrator::migrations());
33        }
34
35        migrations
36    }
37}