├── .gitignore ├── README.md ├── docker-compose.yml ├── fastapi-application ├── .env.template ├── actions │ ├── __init__.py │ └── create_superuser.py ├── admin │ ├── __init__.py │ ├── access_token.py │ ├── converter.py │ └── user.py ├── alembic.ini ├── alembic │ ├── README │ ├── env.py │ ├── script.py.mako │ └── versions │ │ ├── 2024_05_10_1954-96249c3db1f2_create_users_table.py │ │ └── 2024_05_10_2013-1c8ec6e08c44_create_access_tokens_table.py ├── api │ ├── __init__.py │ ├── api_v1 │ │ ├── __init__.py │ │ ├── auth.py │ │ ├── messages.py │ │ ├── service.py │ │ └── users.py │ ├── dependencies │ │ ├── __init__.py │ │ └── authentication │ │ │ ├── __init__.py │ │ │ ├── access_tokens.py │ │ │ ├── backend.py │ │ │ ├── strategy.py │ │ │ ├── user_manager.py │ │ │ └── users.py │ └── webhooks │ │ ├── __init__.py │ │ └── user.py ├── core │ ├── __init__.py │ ├── authentication │ │ ├── __init__.py │ │ ├── fastapi_users.py │ │ ├── transport.py │ │ └── user_manager.py │ ├── config.py │ ├── gunicorn │ │ ├── __init__.py │ │ ├── app_options.py │ │ ├── application.py │ │ └── logger.py │ ├── models │ │ ├── __init__.py │ │ ├── access_token.py │ │ ├── base.py │ │ ├── db_helper.py │ │ ├── mixins │ │ │ ├── __init__.py │ │ │ └── id_int_pk.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ └── types │ │ ├── __init__.py │ │ └── user_id.py ├── create_fastapi_app.py ├── errors_handlers.py ├── jinja_templates.py ├── mailing │ ├── __init__.py │ ├── send_email.py │ ├── send_email_confirmed.py │ └── send_verification_email.py ├── main.py ├── middlewares │ ├── __init__.py │ ├── middlewares.py │ └── requests_count_middleware.py ├── run ├── run_main.py ├── templates │ ├── base.html │ ├── home.html │ ├── mailing │ │ ├── base.html │ │ └── email-verify │ │ │ ├── email-verified.html │ │ │ └── verification-request.html │ └── verification.html ├── utils │ ├── __init__.py │ ├── case_converter.py │ └── webhooks │ │ ├── __init__.py │ │ └── user.py └── views │ ├── __init__.py │ ├── home.py │ └── verification.py ├── poetry.lock └── pyproject.toml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /fastapi-application/.env.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/.env.template -------------------------------------------------------------------------------- /fastapi-application/actions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastapi-application/actions/create_superuser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/actions/create_superuser.py -------------------------------------------------------------------------------- /fastapi-application/admin/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/admin/__init__.py -------------------------------------------------------------------------------- /fastapi-application/admin/access_token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/admin/access_token.py -------------------------------------------------------------------------------- /fastapi-application/admin/converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/admin/converter.py -------------------------------------------------------------------------------- /fastapi-application/admin/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/admin/user.py -------------------------------------------------------------------------------- /fastapi-application/alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/alembic.ini -------------------------------------------------------------------------------- /fastapi-application/alembic/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/alembic/README -------------------------------------------------------------------------------- /fastapi-application/alembic/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/alembic/env.py -------------------------------------------------------------------------------- /fastapi-application/alembic/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/alembic/script.py.mako -------------------------------------------------------------------------------- /fastapi-application/alembic/versions/2024_05_10_1954-96249c3db1f2_create_users_table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/alembic/versions/2024_05_10_1954-96249c3db1f2_create_users_table.py -------------------------------------------------------------------------------- /fastapi-application/alembic/versions/2024_05_10_2013-1c8ec6e08c44_create_access_tokens_table.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/alembic/versions/2024_05_10_2013-1c8ec6e08c44_create_access_tokens_table.py -------------------------------------------------------------------------------- /fastapi-application/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/__init__.py -------------------------------------------------------------------------------- /fastapi-application/api/api_v1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/api_v1/__init__.py -------------------------------------------------------------------------------- /fastapi-application/api/api_v1/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/api_v1/auth.py -------------------------------------------------------------------------------- /fastapi-application/api/api_v1/messages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/api_v1/messages.py -------------------------------------------------------------------------------- /fastapi-application/api/api_v1/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/api_v1/service.py -------------------------------------------------------------------------------- /fastapi-application/api/api_v1/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/api_v1/users.py -------------------------------------------------------------------------------- /fastapi-application/api/dependencies/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastapi-application/api/dependencies/authentication/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/dependencies/authentication/__init__.py -------------------------------------------------------------------------------- /fastapi-application/api/dependencies/authentication/access_tokens.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/dependencies/authentication/access_tokens.py -------------------------------------------------------------------------------- /fastapi-application/api/dependencies/authentication/backend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/dependencies/authentication/backend.py -------------------------------------------------------------------------------- /fastapi-application/api/dependencies/authentication/strategy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/dependencies/authentication/strategy.py -------------------------------------------------------------------------------- /fastapi-application/api/dependencies/authentication/user_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/dependencies/authentication/user_manager.py -------------------------------------------------------------------------------- /fastapi-application/api/dependencies/authentication/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/dependencies/authentication/users.py -------------------------------------------------------------------------------- /fastapi-application/api/webhooks/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/webhooks/__init__.py -------------------------------------------------------------------------------- /fastapi-application/api/webhooks/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/api/webhooks/user.py -------------------------------------------------------------------------------- /fastapi-application/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastapi-application/core/authentication/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastapi-application/core/authentication/fastapi_users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/authentication/fastapi_users.py -------------------------------------------------------------------------------- /fastapi-application/core/authentication/transport.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/authentication/transport.py -------------------------------------------------------------------------------- /fastapi-application/core/authentication/user_manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/authentication/user_manager.py -------------------------------------------------------------------------------- /fastapi-application/core/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/config.py -------------------------------------------------------------------------------- /fastapi-application/core/gunicorn/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/gunicorn/__init__.py -------------------------------------------------------------------------------- /fastapi-application/core/gunicorn/app_options.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/gunicorn/app_options.py -------------------------------------------------------------------------------- /fastapi-application/core/gunicorn/application.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/gunicorn/application.py -------------------------------------------------------------------------------- /fastapi-application/core/gunicorn/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/gunicorn/logger.py -------------------------------------------------------------------------------- /fastapi-application/core/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/models/__init__.py -------------------------------------------------------------------------------- /fastapi-application/core/models/access_token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/models/access_token.py -------------------------------------------------------------------------------- /fastapi-application/core/models/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/models/base.py -------------------------------------------------------------------------------- /fastapi-application/core/models/db_helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/models/db_helper.py -------------------------------------------------------------------------------- /fastapi-application/core/models/mixins/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastapi-application/core/models/mixins/id_int_pk.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/models/mixins/id_int_pk.py -------------------------------------------------------------------------------- /fastapi-application/core/models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/models/user.py -------------------------------------------------------------------------------- /fastapi-application/core/schemas/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastapi-application/core/schemas/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/core/schemas/user.py -------------------------------------------------------------------------------- /fastapi-application/core/types/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastapi-application/core/types/user_id.py: -------------------------------------------------------------------------------- 1 | UserIdType = int 2 | -------------------------------------------------------------------------------- /fastapi-application/create_fastapi_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/create_fastapi_app.py -------------------------------------------------------------------------------- /fastapi-application/errors_handlers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/errors_handlers.py -------------------------------------------------------------------------------- /fastapi-application/jinja_templates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/jinja_templates.py -------------------------------------------------------------------------------- /fastapi-application/mailing/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastapi-application/mailing/send_email.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/mailing/send_email.py -------------------------------------------------------------------------------- /fastapi-application/mailing/send_email_confirmed.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/mailing/send_email_confirmed.py -------------------------------------------------------------------------------- /fastapi-application/mailing/send_verification_email.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/mailing/send_verification_email.py -------------------------------------------------------------------------------- /fastapi-application/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/main.py -------------------------------------------------------------------------------- /fastapi-application/middlewares/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/middlewares/__init__.py -------------------------------------------------------------------------------- /fastapi-application/middlewares/middlewares.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/middlewares/middlewares.py -------------------------------------------------------------------------------- /fastapi-application/middlewares/requests_count_middleware.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/middlewares/requests_count_middleware.py -------------------------------------------------------------------------------- /fastapi-application/run: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/run -------------------------------------------------------------------------------- /fastapi-application/run_main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/run_main.py -------------------------------------------------------------------------------- /fastapi-application/templates/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/templates/base.html -------------------------------------------------------------------------------- /fastapi-application/templates/home.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/templates/home.html -------------------------------------------------------------------------------- /fastapi-application/templates/mailing/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/templates/mailing/base.html -------------------------------------------------------------------------------- /fastapi-application/templates/mailing/email-verify/email-verified.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/templates/mailing/email-verify/email-verified.html -------------------------------------------------------------------------------- /fastapi-application/templates/mailing/email-verify/verification-request.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/templates/mailing/email-verify/verification-request.html -------------------------------------------------------------------------------- /fastapi-application/templates/verification.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/templates/verification.html -------------------------------------------------------------------------------- /fastapi-application/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/utils/__init__.py -------------------------------------------------------------------------------- /fastapi-application/utils/case_converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/utils/case_converter.py -------------------------------------------------------------------------------- /fastapi-application/utils/webhooks/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fastapi-application/utils/webhooks/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/utils/webhooks/user.py -------------------------------------------------------------------------------- /fastapi-application/views/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/views/__init__.py -------------------------------------------------------------------------------- /fastapi-application/views/home.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/views/home.py -------------------------------------------------------------------------------- /fastapi-application/views/verification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/fastapi-application/views/verification.py -------------------------------------------------------------------------------- /poetry.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/poetry.lock -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahenzon/fastapi-users-intro/HEAD/pyproject.toml --------------------------------------------------------------------------------