flask-more-smorest

User Guide:

  • Getting Started
    • Installation
    • Quick Start
    • Creating Models
    • Controlling CRUD Endpoints
    • User Authentication
    • Filtering and Pagination
    • Error Handling
    • Health Checks
    • Performance Monitoring
    • Next Steps
  • Configuration
    • Core Configuration
      • Required Settings
    • Health Check Endpoint
      • Configuration Options
      • Example Configuration
      • Health Check Response
    • Performance Monitoring
      • Configuration Options
      • Example Configuration
      • Slow Query Logging
      • Request Statistics
    • Error Handling
      • RFC 7807 Problem Details
        • Configuration Options
        • Error Response Format
        • Content-Type
    • Security Configuration
      • Debug Information Exposure
      • JWT Secret Validation
    • Pagination
    • Full Example
  • Permissions System
    • Overview
    • BasePermsModel
    • Permission Hooks
    • Return 404 vs 403
    • Permission Mixins
      • HasUserMixin
      • UserOwnershipMixin
    • Bypassing Permissions
      • Context Manager
      • Per-Instance
    • Integration with CRUD
    • Example: Blog with Permissions
  • User Model Extension Guide
    • Pattern 1: Direct Inheritance (90% of Use Cases)
    • Pattern 2: Separate Tables (Distinct User Types)
    • Pattern 3: Custom User Context (External Auth)
    • Available Mixins
    • Common Use Cases
      • Multi-Tenant SaaS Application
      • E-Commerce Platform
      • Enterprise Application
        • Troubleshooting
  • Custom User Context Integration
    • When to Use Custom User Context
    • Quick Start
    • How It Works
    • Flask-Login Integration
    • Custom JWT Implementation
    • OAuth Integration (Google, GitHub, etc.)
    • SAML Integration
    • LDAP Integration
    • Multi-Tenant Applications
    • Type Safety with AbstractUser
    • Custom Role Checking
    • User Object Requirements
    • Testing with Custom Context
    • Troubleshooting
  • Demoapp-Style Integration
    • Overview
    • Complete Example
    • Key Features Explained
      • Custom Domain Model
      • Custom User Model
      • Login Validation Hooks
      • Invite System
      • Password Recovery Flow
      • Health Endpoint
    • Testing This Pattern
    • Migration Guide
    • Troubleshooting
  • CRUD Blueprints
    • Basic Usage
    • Configuration Options
      • Model and Schema Resolution
      • Controlling Methods
      • Custom Resource ID
    • Query Filtering
      • Field Equality
      • Date Range Filtering
      • Numeric Filtering
      • String Matching
      • Boolean Filtering
    • Pagination
    • Custom Schemas
    • Admin-Only Endpoints
    • Nested Resources
    • Custom Endpoints
    • Public Endpoints
    • Operation IDs
    • Example: Complete CRUD Blueprint
    • Next Steps
  • User Models & Authentication
    • Overview
    • Basic Usage
    • User Model
      • Fields
      • Methods
    • Default Roles
    • User Authentication Blueprints
    • JWT Authentication (Manual Implementation)
    • Token Management
    • Token Model
    • Extending User Model
    • Profile Mixin
    • Domain/Multi-Tenancy
    • Custom Roles
    • Permission Integration
    • Example: Complete Auth System
    • Next Steps
  • Testing Guide
    • Testing Helpers
      • Context Managers
      • Utility Functions
    • Quick Start
    • As User Context Manager
      • as_user()
    • As Admin Context Manager
      • as_admin()
    • Clear Registration
      • clear_registration()
    • Testing with Fixtures
    • Testing Permissions
    • Testing Custom User Context
    • Common Patterns

API Reference:

  • API Reference
    • Core Modules
      • flask_more_smorest
        • Api
        • BaseModel
        • BasePermsModel
        • BaseSchema
        • BlueprintAccessMixin
        • BlueprintOperationIdMixin
        • CRUDBlueprint
        • CRUDMethod
        • ProfileMixin
        • SoftDeleteMixin
        • TimestampMixin
        • UserBlueprint
        • UserOwnershipMixin
        • convert_snake_to_camel()
        • create_migration()
        • downgrade_database()
        • generate_filter_schema()
        • get_statements_from_filters()
        • init_db()
        • init_jwt()
        • init_migrations()
        • upgrade_database()
        • flask_more_smorest.crud
        • flask_more_smorest.error
        • flask_more_smorest.perms
        • flask_more_smorest.protocols
        • flask_more_smorest.sqla
        • flask_more_smorest.testing
        • flask_more_smorest.utils
    • SQLAlchemy Base Models
      • flask_more_smorest.sqla.base_model
        • BaseModelMeta
        • BaseModel
      • flask_more_smorest.sqla.db
        • db
    • Permissions System
      • flask_more_smorest.perms.base_perms_model
        • BasePermsModel
      • flask_more_smorest.perms.model_mixins
        • HasUserMixin
        • UserOwnershipMixin
        • TimestampMixin
        • ProfileMixin
        • SoftDeleteMixin
      • flask_more_smorest.perms.models
        • AbstractDomain
        • AbstractToken
        • AbstractUser
        • AbstractUserRole
        • AbstractUserSetting
        • flask_more_smorest.perms.models.abstract_role
        • flask_more_smorest.perms.models.abstract_setting
        • flask_more_smorest.perms.models.abstract_token
        • flask_more_smorest.perms.models.abstract_user
        • flask_more_smorest.perms.models.base_roles
        • flask_more_smorest.perms.models.defaults
        • flask_more_smorest.perms.models.role
        • flask_more_smorest.perms.models.setting
        • flask_more_smorest.perms.models.token
        • flask_more_smorest.perms.models.user
      • flask_more_smorest.perms.user_context
        • get_current_user()
        • get_current_user_id()
        • is_current_user_admin()
        • is_current_user_superadmin()
      • flask_more_smorest.perms.user_blueprint
        • __getattr__()
        • UserBlueprint
      • flask_more_smorest.perms.jwt
        • init_jwt()
    • CRUD Blueprints
      • flask_more_smorest.crud.crud_blueprint
        • CRUDMethod
        • MethodConfig
        • resolve_schema()
        • CRUDConfig
        • CRUDBlueprint
      • flask_more_smorest.crud.query_filtering
        • generate_filter_schema()
        • get_statements_from_filters()
    • Blueprint Extensions
      • flask_more_smorest.crud.blueprint_operationid
        • strip_suffixes()
        • BlueprintOperationIdMixin
      • flask_more_smorest.perms.perms_blueprint
        • PermsBlueprintMixin
        • PermsBlueprint
      • flask_more_smorest.crud.pagination
        • CRUDPaginationMixin
    • Utilities
      • flask_more_smorest.utils
        • generate_password_hash()
        • check_password_hash()
        • convert_snake_to_camel()
        • convert_camel_to_snake()
      • flask_more_smorest.error.exceptions
        • ApiException
        • NotFoundError
        • ForbiddenError
        • UnauthorizedError
        • BadRequestError
        • ConflictError
        • UnprocessableEntity
        • InternalServerError
        • DBError
        • NoDomainAccessError
        • DomainNotFoundError
flask-more-smorest
  • Search


© Copyright 2026, Qualisero.

Built with Sphinx using a theme provided by Read the Docs.