Core

src.core.create_app(config: dict[str, Any] | None = None) Flask[source]

Application Factory

Creates and configures the Flask app instance and initializes extensions.

Parameters:

config (dict[str, Any] | None, optional) – Application configuration overrides.

Returns:

Configured Flask application instance.

Return type:

Flask

class src.core.config.BaseConfig[source]

Bases: object

Base configuration for the Raccoon Survey backend.

CLEANUP_CRON_HOUR: ClassVar[int] = 3
CLEANUP_CRON_MINUTE: ClassVar[int] = 0
CLEANUP_RUN_ON_START: ClassVar[bool] = True
CORS_ORIGINS: ClassVar[tuple[str, ...]] = ('*',)
DATABASE_ECHO: ClassVar[bool] = False
DATABASE_URL: ClassVar[str | None] = 'sqlite:///:memory:'
DEBUG: ClassVar[bool] = False
DEFAULT_USER_ADMIN_EMAIL: ClassVar[str] = 'admin@docs.local'
DEFAULT_USER_ADMIN_NAME: ClassVar[str] = 'Docs Admin'
DEFAULT_USER_ADMIN_PASSWORD: ClassVar[str] = 'pass_doc_local'
ENV: ClassVar[str] = 'testing'
JSON_SORT_KEYS: ClassVar[bool] = False
JWT_ACCESS_TOKEN_EXPIRES: ClassVar[int] = 900
JWT_HEADER_NAME: ClassVar[str] = 'Authorization'
JWT_HEADER_TYPE: ClassVar[str] = 'Bearer'
JWT_REFRESH_TOKEN_EXPIRES: ClassVar[int] = 2592000
JWT_SECRET_KEY: ClassVar[str] = 'qRbR8HKnEjsBPg-cZRjCYQSeHVZrY_PwZETIXguOp2AZLVSIr-Z5RzpMBWgk1vyWb2OS65oFu8O70fB08ELgAQ'
JWT_TOKEN_LOCATION: ClassVar[tuple[str, ...]] = ('headers',)
SQLALCHEMY_DATABASE_URI: ClassVar[str | None] = 'sqlite:///:memory:'
SQLALCHEMY_ENGINE_OPTIONS: ClassVar[dict[str, Any]] = {'echo': False, 'pool_pre_ping': True, 'pool_recycle': 1800}
SQLALCHEMY_TRACK_MODIFICATIONS: ClassVar[bool] = False
TESTING: ClassVar[bool] = False
class src.core.config.DevConfig[source]

Bases: BaseConfig

DEBUG: ClassVar[bool] = True
ENV: ClassVar[str] = 'development'
class src.core.config.ProdConfig[source]

Bases: BaseConfig

DEBUG: ClassVar[bool] = False
ENV: ClassVar[str] = 'production'
class src.core.config.TestConfig[source]

Bases: BaseConfig

DEBUG: ClassVar[bool] = False
ENV: ClassVar[str] = 'testing'
TESTING: ClassVar[bool] = True
src.core.config.get_config_class(env: str | None = None) type[BaseConfig][source]

Return the configuration class based on FLASK_ENV or provided env.

Parameters:

env (str | None, optional) – Environment name. Defaults to None.

Returns:

Configuration class for the specified environment.

Return type:

type[BaseConfig]