SYMBOL INDEX (161 symbols across 32 files) FILE: src/app/api/dependencies.py function get_current_user (line 24) | async def get_current_user( function get_optional_user (line 42) | async def get_optional_user(request: Request, db: AsyncSession = Depends... function get_current_superuser (line 68) | async def get_current_superuser(current_user: Annotated[dict, Depends(ge... function rate_limiter (line 75) | async def rate_limiter( FILE: src/app/api/v1/login.py function login_for_access_token (line 24) | async def login_for_access_token( function refresh_access_token (line 47) | async def refresh_access_token(request: Request, db: AsyncSession = Depe... FILE: src/app/api/v1/logout.py function logout (line 13) | async def logout( FILE: src/app/api/v1/posts.py function write_post (line 20) | async def write_post( function read_posts (line 48) | async def read_posts( function read_post (line 74) | async def read_post( function patch_post (line 92) | async def patch_post( function erase_post (line 117) | async def erase_post( function erase_db_post (line 142) | async def erase_db_post( FILE: src/app/api/v1/rate_limits.py function write_rate_limit (line 18) | async def write_rate_limit( function read_rate_limits (line 38) | async def read_rate_limits( function read_rate_limit (line 62) | async def read_rate_limit( function patch_rate_limit (line 79) | async def patch_rate_limit( function erase_rate_limit (line 107) | async def erase_rate_limit( FILE: src/app/api/v1/tasks.py function create_task (line 14) | async def create_task(message: str) -> dict[str, str]: function get_task (line 32) | async def get_task(task_id: str) -> dict[str, Any] | None: FILE: src/app/api/v1/tiers.py function write_tier (line 17) | async def write_tier( function read_tiers (line 31) | async def read_tiers( function read_tier (line 43) | async def read_tier(request: Request, name: str, db: Annotated[AsyncSess... function patch_tier (line 52) | async def patch_tier( function erase_tier (line 64) | async def erase_tier(request: Request, name: str, db: Annotated[AsyncSes... FILE: src/app/api/v1/users.py function write_user (line 21) | async def write_user( function read_users (line 42) | async def read_users( function read_users_me (line 58) | async def read_users_me(request: Request, current_user: Annotated[UserRe... function read_user (line 63) | async def read_user(request: Request, username: str, db: Annotated[Async... function patch_user (line 74) | async def patch_user( function erase_user (line 103) | async def erase_user( function erase_db_user (line 123) | async def erase_db_user( function read_user_rate_limits (line 139) | async def read_user_rate_limits( function read_user_tier (line 162) | async def read_user_tier( function patch_user_tier (line 186) | async def patch_user_tier( FILE: src/app/core/config.py class AppSettings (line 12) | class AppSettings(BaseSettings): class CryptSettings (line 21) | class CryptSettings(BaseSettings): class DatabaseSettings (line 28) | class DatabaseSettings(BaseSettings): class SQLiteSettings (line 32) | class SQLiteSettings(DatabaseSettings): class PostgresSettings (line 38) | class PostgresSettings(DatabaseSettings): class FirstUserSettings (line 50) | class FirstUserSettings(BaseSettings): class TestSettings (line 57) | class TestSettings(BaseSettings): class RedisCacheSettings (line 64) | class RedisCacheSettings(BaseSettings): class ClientSideCacheSettings (line 70) | class ClientSideCacheSettings(BaseSettings): class RedisQueueSettings (line 74) | class RedisQueueSettings(BaseSettings): class RedisRateLimiterSettings (line 79) | class RedisRateLimiterSettings(BaseSettings): class DefaultRateLimitSettings (line 85) | class DefaultRateLimitSettings(BaseSettings): class EnvironmentOption (line 90) | class EnvironmentOption(Enum): class DBOption (line 96) | class DBOption(Enum): class EnvironmentSettings (line 101) | class EnvironmentSettings(BaseSettings): class Settings (line 111) | class Settings( FILE: src/app/core/db/database.py function async_get_db (line 21) | async def async_get_db() -> AsyncSession: FILE: src/app/core/db/models.py class UUIDMixin (line 8) | class UUIDMixin: class TimestampMixin (line 14) | class TimestampMixin: class SoftDeleteMixin (line 21) | class SoftDeleteMixin: FILE: src/app/core/db/token_blacklist.py class TokenBlacklist (line 4) | class TokenBlacklist(SQLModel, table=True): FILE: src/app/core/exceptions/cache_exceptions.py class CacheIdentificationInferenceError (line 1) | class CacheIdentificationInferenceError(Exception): method __init__ (line 2) | def __init__(self, message: str = "Could not infer id for resource bei... class InvalidRequestError (line 7) | class InvalidRequestError(Exception): method __init__ (line 8) | def __init__(self, message: str = "Type of request not supported.") ->... class MissingClientError (line 13) | class MissingClientError(Exception): method __init__ (line 14) | def __init__(self, message: str = "Client is None.") -> None: FILE: src/app/core/schemas.py class HealthCheck (line 8) | class HealthCheck(BaseModel): class UUIDSchema (line 15) | class UUIDSchema(BaseModel): class TimestampSchema (line 19) | class TimestampSchema(BaseModel): method serialize_dt (line 24) | def serialize_dt(self, created_at: datetime | None, _info: Any) -> str... method serialize_updated_at (line 31) | def serialize_updated_at(self, updated_at: datetime | None, _info: Any... class PersistentDeletion (line 38) | class PersistentDeletion(BaseModel): method serialize_dates (line 43) | def serialize_dates(self, deleted_at: datetime | None, _info: Any) -> ... class Token (line 51) | class Token(BaseModel): class TokenData (line 56) | class TokenData(BaseModel): class TokenBlacklistBase (line 60) | class TokenBlacklistBase(BaseModel): class TokenBlacklistCreate (line 65) | class TokenBlacklistCreate(TokenBlacklistBase): class TokenBlacklistUpdate (line 69) | class TokenBlacklistUpdate(TokenBlacklistBase): FILE: src/app/core/security.py function verify_password (line 22) | async def verify_password(plain_password: str, hashed_password: str) -> ... function get_password_hash (line 27) | def get_password_hash(password: str) -> str: function authenticate_user (line 32) | async def authenticate_user(username_or_email: str, password: str, db: A... function create_access_token (line 47) | async def create_access_token(data: dict[str, Any], expires_delta: timed... function create_refresh_token (line 58) | async def create_refresh_token(data: dict[str, Any], expires_delta: time... function verify_token (line 69) | async def verify_token(token: str, db: AsyncSession) -> TokenData | None: function blacklist_token (line 99) | async def blacklist_token(token: str, db: AsyncSession) -> None: FILE: src/app/core/setup.py function create_tables (line 33) | async def create_tables() -> None: function create_redis_cache_pool (line 39) | async def create_redis_cache_pool() -> None: function close_redis_cache_pool (line 44) | async def close_redis_cache_pool() -> None: function create_redis_queue_pool (line 49) | async def create_redis_queue_pool() -> None: function close_redis_queue_pool (line 53) | async def close_redis_queue_pool() -> None: function create_redis_rate_limit_pool (line 58) | async def create_redis_rate_limit_pool() -> None: function close_redis_rate_limit_pool (line 63) | async def close_redis_rate_limit_pool() -> None: function set_threadpool_tokens (line 68) | async def set_threadpool_tokens(number_of_tokens: int = 100) -> None: function lifespan_factory (line 73) | def lifespan_factory( function create_application (line 119) | def create_application( FILE: src/app/core/utils/cache.py function _infer_resource_id (line 17) | def _infer_resource_id(kwargs: dict[str, Any], resource_id_type: type | ... function _extract_data_inside_brackets (line 55) | def _extract_data_inside_brackets(input_string: str) -> list[str]: function _construct_data_dict (line 77) | def _construct_data_dict(data_inside_brackets: list[str], kwargs: dict[s... function _format_prefix (line 97) | def _format_prefix(prefix: str, kwargs: dict[str, Any]) -> str: function _format_extra_data (line 117) | def _format_extra_data(to_invalidate_extra: dict[str, str], kwargs: dict... function _delete_keys_by_pattern (line 145) | async def _delete_keys_by_pattern(pattern: str) -> None: function cache (line 184) | def cache( FILE: src/app/core/utils/rate_limit.py function is_rate_limited (line 15) | async def is_rate_limited(db: AsyncSession, user_id: int, path: str, lim... FILE: src/app/core/worker/functions.py function sample_background_task (line 13) | async def sample_background_task(ctx: Worker, name: str) -> str: function startup (line 19) | async def startup(ctx: Worker) -> None: function shutdown (line 23) | async def shutdown(ctx: Worker) -> None: FILE: src/app/core/worker/settings.py class WorkerSettings (line 10) | class WorkerSettings: FILE: src/app/middleware/client_cache_middleware.py class ClientCacheMiddleware (line 5) | class ClientCacheMiddleware(BaseHTTPMiddleware): method __init__ (line 31) | def __init__(self, app: FastAPI, max_age: int = 60) -> None: method dispatch (line 35) | async def dispatch(self, request: Request, call_next: RequestResponseE... FILE: src/app/models/job.py class Job (line 4) | class Job(SQLModel): FILE: src/app/models/post.py class PostBase (line 7) | class PostBase(SQLModel): class Post (line 12) | class Post(PostBase, table=True): class PostRead (line 22) | class PostRead(PostBase): class PostCreate (line 29) | class PostCreate(PostBase): class PostCreateInternal (line 33) | class PostCreateInternal(PostCreate): class PostUpdate (line 37) | class PostUpdate(SQLModel): class PostUpdateInternal (line 43) | class PostUpdateInternal(PostUpdate): class PostDelete (line 47) | class PostDelete(SQLModel): FILE: src/app/models/rate_limit.py function sanitize_path (line 6) | def sanitize_path(path: str) -> str: class RateLimitBase (line 10) | class RateLimitBase(SQLModel): method validate_path (line 16) | def validate_path(cls, v: str) -> str: class RateLimit (line 20) | class RateLimit(RateLimitBase, table=True): class RateLimitRead (line 28) | class RateLimitRead(RateLimitBase): class RateLimitCreate (line 34) | class RateLimitCreate(RateLimitBase): class RateLimitCreateInternal (line 38) | class RateLimitCreateInternal(RateLimitCreate): class RateLimitUpdate (line 42) | class RateLimitUpdate(SQLModel): method validate_path (line 49) | def validate_path(cls, v: Optional[str]) -> Optional[str]: class RateLimitUpdateInternal (line 53) | class RateLimitUpdateInternal(RateLimitUpdate): class RateLimitDelete (line 57) | class RateLimitDelete(SQLModel): FILE: src/app/models/tier.py class TierBase (line 6) | class TierBase(SQLModel): class Tier (line 10) | class Tier(TierBase, table=True): class TierRead (line 16) | class TierRead(TierBase): class TierCreate (line 21) | class TierCreate(TierBase): class TierCreateInternal (line 25) | class TierCreateInternal(TierCreate): class TierUpdate (line 29) | class TierUpdate(SQLModel): class TierUpdateInternal (line 33) | class TierUpdateInternal(TierUpdate): class TierDelete (line 37) | class TierDelete(SQLModel): FILE: src/app/models/user.py class UserBase (line 9) | class UserBase(SQLModel): class User (line 15) | class User(UserBase, table=True): class UserRead (line 28) | class UserRead(SQLModel): class UserCreate (line 37) | class UserCreate(UserBase): method validate_password (line 41) | def validate_password(cls, value): class UserCreateInternal (line 47) | class UserCreateInternal(UserBase): class UserUpdate (line 51) | class UserUpdate(SQLModel): class UserUpdateInternal (line 58) | class UserUpdateInternal(UserUpdate): class UserTierUpdate (line 62) | class UserTierUpdate(SQLModel): class UserDelete (line 66) | class UserDelete(SQLModel): class UserRestoreDeleted (line 71) | class UserRestoreDeleted(SQLModel): FILE: src/migrations/env.py function run_migrations_offline (line 37) | def run_migrations_offline() -> None: function do_run_migrations (line 57) | def do_run_migrations(connection: Connection) -> None: function run_async_migrations (line 64) | async def run_async_migrations() -> None: function run_migrations_online (line 79) | def run_migrations_online() -> None: FILE: src/scripts/create_first_superuser.py function create_first_user (line 18) | async def create_first_user(session: AsyncSession) -> None: function main (line 71) | async def main(): FILE: src/scripts/create_first_tier.py function create_first_tier (line 14) | async def create_first_tier(session: AsyncSession) -> None: function main (line 34) | async def main(): FILE: tests/conftest.py function client (line 8) | def client(): FILE: tests/helper.py function _get_token (line 4) | def _get_token(username: str, password: str, client: TestClient): FILE: tests/test_user.py function test_post_user (line 19) | def test_post_user(client: TestClient) -> None: function test_get_user (line 27) | def test_get_user(client: TestClient) -> None: function test_get_multiple_users (line 32) | def test_get_multiple_users(client: TestClient) -> None: function test_update_user (line 37) | def test_update_user(client: TestClient) -> None: function test_delete_user (line 48) | def test_delete_user(client: TestClient) -> None: function test_delete_db_user (line 57) | def test_delete_db_user(client: TestClient) -> None: