1818from ..email .plugin import setup_email
1919from ..email .settings import get_plugin_settings as get_email_plugin_settings
2020from ..invitations .plugin import setup_invitations
21- from ..login_auth .plugin import setup_login_auth
21+ from ..login_auth .plugin import ensure_single_setup , setup_login_auth
2222from ..products import products_service
2323from ..products .models import ProductName
2424from ..products .plugin import setup_products
@@ -62,11 +62,13 @@ async def _setup_login_storage_ctx(app: web.Application):
6262 yield # ----------------
6363
6464
65+ @ensure_single_setup (f"{ __name__ } .storage" , logger = log )
6566def setup_login_storage (app : web .Application ):
6667 if _setup_login_storage_ctx not in app .cleanup_ctx :
6768 app .cleanup_ctx .append (_setup_login_storage_ctx )
6869
6970
71+ @ensure_single_setup (f"{ __name__ } .login_options" , logger = log )
7072def _setup_login_options (app : web .Application ):
7173 settings : SMTPSettings = get_email_plugin_settings (app )
7274
@@ -140,6 +142,8 @@ def setup_login(app: web.Application):
140142 # routes
141143
142144 app .router .add_routes (auth .routes )
145+ setup_login_auth (app )
146+
143147 app .router .add_routes (confirmation .routes )
144148 app .router .add_routes (registration .routes )
145149 app .router .add_routes (preregistration .routes )
@@ -148,7 +152,6 @@ def setup_login(app: web.Application):
148152
149153 _setup_login_options (app )
150154 setup_login_storage (app )
151- setup_login_auth (app )
152155
153156 app .on_startup .append (_resolve_login_settings_per_product )
154157
0 commit comments