SYMBOL INDEX (158 symbols across 33 files) FILE: app/api/dependencies/auth_utils.py function get_hashed_password (line 20) | def get_hashed_password(password: str) -> str: function verify_password (line 24) | def verify_password(password: str, hashed_password: str) -> bool: function create_access_token (line 28) | def create_access_token( function create_refresh_token (line 47) | def create_refresh_token( function verify_access_token (line 66) | def verify_access_token(token: str, credentials_exception): function get_current_user (line 82) | def get_current_user(token: str = Depends(oauth2_scheme)): FILE: app/api/dependencies/mail_service.py function mail_service (line 14) | def mail_service( FILE: app/api/dependencies/repositories.py class TempFileResponse (line 16) | class TempFileResponse(FileResponse): method __init__ (line 17) | def __init__(self, path, *args, **kwargs): method __del__ (line 21) | def __del__(self): function get_db (line 26) | async def get_db() -> AsyncSession: function get_repository (line 32) | def get_repository(repository): function get_s3_url (line 39) | async def get_s3_url(key: str) -> str: function get_key (line 46) | async def get_key(s3_url: str) -> Optional[str]: function get_ulid (line 66) | def get_ulid(): FILE: app/api/routes/auth/auth.py function signup (line 19) | async def signup( function login (line 32) | async def login( function get_me (line 47) | async def get_me(user: TokenData = Depends(get_current_user)): FILE: app/api/routes/documents/document.py function upload (line 30) | async def upload( function download (line 96) | async def download( function list_bin (line 141) | async def list_bin( function empty_trash (line 167) | async def empty_trash( function perm_delete (line 192) | async def perm_delete( function restore_bin (line 236) | async def restore_bin( function add_to_bin (line 262) | async def add_to_bin( function get_document_preview (line 289) | async def get_document_preview( FILE: app/api/routes/documents/document_organization.py function search_document (line 18) | async def search_document( FILE: app/api/routes/documents/document_sharing.py function share_link_document (line 25) | async def share_link_document( function redirect_to_share (line 92) | async def redirect_to_share( function share_document (line 118) | async def share_document( FILE: app/api/routes/documents/documents_metadata.py function upload_document_metadata (line 28) | async def upload_document_metadata( function get_documents_metadata (line 57) | async def get_documents_metadata( function get_document_metadata (line 87) | async def get_document_metadata( function update_doc_metadata_details (line 115) | async def update_doc_metadata_details( function delete_document_metadata (line 161) | async def delete_document_metadata( function archive (line 201) | async def archive( function archive_list (line 230) | async def archive_list( function un_archive (line 257) | async def un_archive( FILE: app/api/routes/documents/notify.py function get_notifications (line 17) | async def get_notifications( function patch_status (line 40) | async def patch_status( function clear_all_notifications (line 81) | async def clear_all_notifications( FILE: app/core/config.py class GlobalConfig (line 10) | class GlobalConfig(BaseSettings): method db_echo_log (line 49) | def db_echo_log(self) -> bool: method sync_database_url (line 53) | def sync_database_url(self) -> str: method async_database_url (line 60) | def async_database_url(self) -> str: FILE: app/core/exceptions.py function http_400 (line 7) | def http_400(msg: str = "Bad Request...") -> HTTPException: function http_401 (line 12) | def http_401( function http_403 (line 21) | def http_403(msg: str = "Forbidden") -> HTTPException: function http_404 (line 26) | def http_404(msg: str = "Entity does not exists...") -> HTTPException: function http_409 (line 31) | def http_409(msg: str = "Entity already exists...") -> HTTPException: function http_500 (line 36) | def http_500(msg: str = "Internal Server Error") -> HTTPException: FILE: app/db/models.py function check_tables (line 39) | async def check_tables(): FILE: app/db/repositories/auth/auth.py class AuthRepository (line 17) | class AuthRepository: method __init__ (line 18) | def __init__(self, session: AsyncSession) -> None: method _check_user_or_none (line 21) | async def _check_user_or_none( method get_user (line 30) | async def get_user(self, field: str, detail: str): method signup (line 39) | async def signup(self, userdata: UserAuth) -> UserOut: method login (line 56) | async def login(self, ipdata): FILE: app/db/repositories/documents/document_organization.py class DocumentOrgRepository (line 7) | class DocumentOrgRepository: method __init__ (line 12) | def __init__(self): ... method _search_tags (line 15) | async def _search_tags( method _search_category (line 31) | async def _search_category( method _search_file_type (line 47) | async def _search_file_type( method _search_by_status (line 65) | async def _search_by_status( method search_doc (line 78) | async def search_doc( FILE: app/db/repositories/documents/document_sharing.py class DocumentSharingRepository (line 26) | class DocumentSharingRepository: method __init__ (line 31) | def __init__(self, session: AsyncSession) -> None: method get_user_mail (line 43) | async def get_user_mail(self, user: TokenData): method _generate_id (line 52) | async def _generate_id() -> str: method _get_saved_links (line 55) | async def _get_saved_links(self, filename: str) -> Dict[str, Any]: method update_visits (line 62) | async def update_visits(self, filename: str, visits_left: int): method cleanup_expired_links (line 75) | async def cleanup_expired_links(self): method get_presigned_url (line 85) | async def get_presigned_url( method get_shareable_link (line 104) | async def get_shareable_link( method get_redirect_url (line 144) | async def get_redirect_url(self, url_id: str): method send_mail (line 162) | async def send_mail( method confirm_access (line 180) | async def confirm_access(self, user: TokenData, url_id: str | None) ->... method share_document (line 197) | async def share_document( FILE: app/db/repositories/documents/documents.py function _build_boto3_config (line 21) | def _build_boto3_config() -> dict: function perm_delete (line 46) | async def perm_delete( class DocumentRepository (line 60) | class DocumentRepository: method __init__ (line 62) | def __init__(self): method _calculate_file_hash (line 68) | async def _calculate_file_hash(file: File) -> str: method get_s3_file_object_body (line 76) | async def get_s3_file_object_body(self, key: str): method _delete_object (line 83) | async def _delete_object(self, key: str) -> None: method _upload_new_file (line 88) | async def _upload_new_file( method _upload_new_version (line 113) | async def _upload_new_version( method upload (line 139) | async def upload( method download (line 227) | async def download(self, s3_url: str, name: str) -> Dict[str, str]: method preview (line 243) | async def preview(self, document: Dict[str, Any]) -> FileResponse: FILE: app/db/repositories/documents/documents_metadata.py class DocumentMetadataRepository (line 24) | class DocumentMetadataRepository: method __init__ (line 26) | def __init__(self, session: AsyncSession) -> None: method _get_instance (line 30) | async def _get_instance(self, document: Union[str, UUID], owner: Token... method _extract_changes (line 53) | async def _extract_changes(document_patch: DocumentMetadataPatch) -> d... method _execute_update (line 59) | async def _execute_update( method _update_access_and_permission (line 83) | async def _update_access_and_permission(self, db_document, changes, us... method _update_doc_user_access (line 102) | async def _update_doc_user_access(self, db_document, user_id): method _delete_access (line 110) | async def _delete_access(self, document) -> None: method _auto_delete (line 115) | async def _auto_delete(self, bin_items: List) -> bool: method get_doc (line 128) | async def get_doc(self, filename: str) -> Dict[str, Any]: method upload (line 149) | async def upload( method doc_list (line 169) | async def doc_list( method get (line 196) | async def get( method patch (line 206) | async def patch( method delete (line 234) | async def delete(self, document: Union[str, UUID], owner: TokenData) -... method bin_list (line 259) | async def bin_list(self, owner: TokenData) -> Dict[str, List[Row | Row... method restore (line 278) | async def restore(self, file: str, owner: TokenData) -> DocumentMetada... method perm_delete_a_doc (line 295) | async def perm_delete_a_doc(self, document: UUID | None, owner: TokenD... method empty_bin (line 306) | async def empty_bin(self, owner: TokenData): method archive (line 316) | async def archive(self, file: str, user: TokenData): method archive_list (line 331) | async def archive_list(self, user: TokenData) -> Dict[str, List[str] |... method un_archive (line 346) | async def un_archive(self, file: str, user: TokenData) -> DocumentMeta... FILE: app/db/repositories/documents/notify.py class NotifyRepo (line 15) | class NotifyRepo: method __init__ (line 17) | def __init__(self, session: AsyncSession) -> None: method notify (line 20) | async def notify( method get_notification_by_id (line 66) | async def get_notification_by_id(self, n_id: UUID, user: TokenData) ->... method get_notifications (line 89) | async def get_notifications(self, user: TokenData) -> List[Notification]: method mark_all_read (line 109) | async def mark_all_read(self, user: TokenData) -> List[Notification]: method update_status (line 135) | async def update_status( method clear_notification (line 168) | async def clear_notification(self, user: TokenData) -> None: FILE: app/db/tables/auth/auth.py class User (line 9) | class User(Base): FILE: app/db/tables/base_class.py class StatusEnum (line 4) | class StatusEnum(enum.Enum): class NotifyEnum (line 16) | class NotifyEnum(enum.Enum): method has_value (line 25) | def has_value(cls, value): FILE: app/db/tables/documents/document_sharing.py class DocumentSharing (line 10) | class DocumentSharing(Base): FILE: app/db/tables/documents/documents_metadata.py class DocumentMetadata (line 37) | class DocumentMetadata(Base): FILE: app/db/tables/documents/notify.py class Notify (line 11) | class Notify(Base): FILE: app/logs/logger.py function get_log_file_path (line 13) | def get_log_file_path(): FILE: app/main.py function lifespan (line 14) | async def lifespan(app: FastAPI): function favicon (line 44) | async def favicon(): function root (line 49) | async def root(): function health_check (line 59) | async def health_check(): FILE: app/schemas/auth/auth.py class SystemUser (line 4) | class SystemUser(UserOut): FILE: app/schemas/auth/bands.py class UserAuth (line 11) | class UserAuth(BaseModel): class UserOut (line 17) | class UserOut(BaseModel): class Config (line 22) | class Config: class Token (line 26) | class Token(BaseModel): class TokenData (line 31) | class TokenData(BaseModel): FILE: app/schemas/documents/bands.py class DocumentMetadataBase (line 11) | class DocumentMetadataBase(BaseModel): class DocumentMetadataPatch (line 26) | class DocumentMetadataPatch(BaseModel): class DocumentSharingBase (line 34) | class DocumentSharingBase(BaseModel): class DocUserAccess (line 44) | class DocUserAccess(BaseModel): class Config (line 49) | class Config: class DocUserAccessCreate (line 53) | class DocUserAccessCreate(BaseModel): class Notification (line 59) | class Notification(BaseModel): class NotifyPatchStatus (line 67) | class NotifyPatchStatus(BaseModel): FILE: app/schemas/documents/document_sharing.py class DocumentSharingCreate (line 8) | class DocumentSharingCreate(DocumentSharingBase): ... class DocumentSharingRead (line 11) | class DocumentSharingRead(DocumentSharingBase): class Config (line 15) | class Config: class SharingRequest (line 19) | class SharingRequest(BaseModel): FILE: app/schemas/documents/documents_metadata.py class DocumentMetadataCreate (line 7) | class DocumentMetadataCreate(DocumentMetadataBase): class DocumentMetadataRead (line 14) | class DocumentMetadataRead(DocumentMetadataBase): class Config (line 18) | class Config: FILE: app/scripts/init_bucket.py function create_bucket_if_not_exists (line 10) | async def create_bucket_if_not_exists(): FILE: migrations/env.py function run_migrations_offline (line 37) | def run_migrations_offline() -> None: function run_migrations_online (line 61) | def run_migrations_online() -> None: FILE: migrations/versions/2a02384ab925_initial_almebic.py function upgrade (line 22) | def upgrade() -> None: function downgrade (line 127) | def downgrade() -> None: