SYMBOL INDEX (245 symbols across 55 files) FILE: fastapi_backend/alembic_migrations/env.py function run_migrations_offline (line 54) | def run_migrations_offline() -> None: function do_run_migrations (line 78) | def do_run_migrations(connection: Connection) -> None: function run_async_migrations (line 85) | async def run_async_migrations() -> None: function run_migrations_online (line 103) | def run_migrations_online() -> None: FILE: fastapi_backend/alembic_migrations/versions/402d067a8b92_added_user_table.py function upgrade (line 23) | def upgrade() -> None: function downgrade (line 39) | def downgrade() -> None: FILE: fastapi_backend/alembic_migrations/versions/b389592974f8_add_item_model.py function upgrade (line 22) | def upgrade() -> None: function downgrade (line 40) | def downgrade() -> None: FILE: fastapi_backend/app/config.py class Settings (line 6) | class Settings(BaseSettings): FILE: fastapi_backend/app/database.py function create_db_and_tables (line 29) | async def create_db_and_tables(): function get_async_session (line 34) | async def get_async_session() -> AsyncGenerator[AsyncSession, None]: function get_user_db (line 39) | async def get_user_db(session: AsyncSession = Depends(get_async_session)): FILE: fastapi_backend/app/email.py function get_email_config (line 9) | def get_email_config(): function send_reset_password_email (line 26) | async def send_reset_password_email(user: User, token: str): FILE: fastapi_backend/app/models.py class Base (line 9) | class Base(DeclarativeBase): class User (line 13) | class User(SQLAlchemyBaseUserTableUUID, Base): class Item (line 17) | class Item(Base): FILE: fastapi_backend/app/routes/items.py function transform_items (line 17) | def transform_items(items): function read_item (line 22) | async def read_item( function create_item (line 34) | async def create_item( function delete_item (line 47) | async def delete_item( FILE: fastapi_backend/app/schemas.py class UserRead (line 8) | class UserRead(schemas.BaseUser[uuid.UUID]): class UserCreate (line 12) | class UserCreate(schemas.BaseUserCreate): class UserUpdate (line 16) | class UserUpdate(schemas.BaseUserUpdate): class ItemBase (line 20) | class ItemBase(BaseModel): class ItemCreate (line 26) | class ItemCreate(ItemBase): class ItemRead (line 30) | class ItemRead(ItemBase): FILE: fastapi_backend/app/users.py class UserManager (line 30) | class UserManager(UUIDIDMixin, BaseUserManager[User, uuid.UUID]): method on_after_register (line 34) | async def on_after_register(self, user: User, request: Optional[Reques... method on_after_forgot_password (line 37) | async def on_after_forgot_password( method on_after_request_verify (line 42) | async def on_after_request_verify( method validate_password (line 47) | async def validate_password( function get_user_manager (line 67) | async def get_user_manager(user_db: SQLAlchemyUserDatabase = Depends(get... function get_jwt_strategy (line 74) | def get_jwt_strategy() -> JWTStrategy: FILE: fastapi_backend/app/utils.py function simple_generate_unique_route_id (line 4) | def simple_generate_unique_route_id(route: APIRoute): FILE: fastapi_backend/commands/generate_openapi_schema.py function generate_openapi_schema (line 13) | def generate_openapi_schema(output_file): function remove_operation_id_tag (line 23) | def remove_operation_id_tag(schema): FILE: fastapi_backend/tests/commands/test_generate_openapi_schema.py function load_json_file (line 12) | def load_json_file(filename): function sample_openapi_schema (line 20) | def sample_openapi_schema(): function expected_output_schema (line 25) | def expected_output_schema(): function test_remove_operation_id_tag (line 29) | def test_remove_operation_id_tag(sample_openapi_schema, expected_output_... function mock_app (line 35) | def mock_app(mocker): function test_generate_openapi_schema (line 45) | def test_generate_openapi_schema(mocker, mock_app): FILE: fastapi_backend/tests/conftest.py function engine (line 17) | async def engine(): function db_session (line 33) | async def db_session(engine): function test_client (line 46) | async def test_client(db_session): function authenticated_user (line 75) | async def authenticated_user(test_client, db_session): FILE: fastapi_backend/tests/main/test_main.py class TestPasswordValidation (line 8) | class TestPasswordValidation: method test_password_validation (line 78) | async def test_password_validation( method test_register_user_with_valid_password (line 88) | async def test_register_user_with_valid_password(self, test_client, db... FILE: fastapi_backend/tests/routes/test_items.py class TestItems (line 7) | class TestItems: method test_create_item (line 9) | async def test_create_item(self, test_client, db_session, authenticate... method test_read_items (line 32) | async def test_read_items(self, test_client, db_session, authenticated... method test_delete_item (line 78) | async def test_delete_item(self, test_client, db_session, authenticate... method test_delete_nonexistent_item (line 106) | async def test_delete_nonexistent_item(self, test_client, authenticate... method test_unauthorized_read_items (line 116) | async def test_unauthorized_read_items(self, test_client): method test_unauthorized_create_item (line 122) | async def test_unauthorized_create_item(self, test_client): method test_unauthorized_delete_item (line 129) | async def test_unauthorized_delete_item(self, test_client): FILE: fastapi_backend/tests/test_database.py function mock_engine (line 15) | async def mock_engine(mocker): function mock_session (line 32) | async def mock_session(mocker): function test_create_db_and_tables (line 48) | async def test_create_db_and_tables(mock_engine, mocker): function test_get_async_session (line 63) | async def test_get_async_session(mock_session): function test_get_user_db (line 76) | async def test_get_user_db(mock_session): function test_engine_creation (line 88) | def test_engine_creation(mocker): function test_session_maker_configuration (line 105) | async def test_session_maker_configuration(): FILE: fastapi_backend/tests/test_email.py function mock_settings (line 9) | def mock_settings(mocker): function mock_user (line 28) | def mock_user(): function test_get_email_config (line 34) | def test_get_email_config(mock_settings): function test_send_reset_password_email (line 52) | async def test_send_reset_password_email(mock_settings, mock_user, mocker): FILE: fastapi_backend/tests/utils/test_utils.py function test_simple_generate_unique_route_id (line 5) | def test_simple_generate_unique_route_id(mocker): FILE: fastapi_backend/watcher.py class MyHandler (line 14) | class MyHandler(FileSystemEventHandler): method __init__ (line 15) | def __init__(self): method on_modified (line 20) | def on_modified(self, event): method execute_command (line 32) | def execute_command(self, file_path): method run_mypy_checks (line 37) | def run_mypy_checks(self): method run_openapi_schema_generation (line 54) | def run_openapi_schema_generation(self): FILE: nextjs-frontend/app/dashboard/add-item/page.tsx function CreateItemPage (line 11) | function CreateItemPage() { FILE: nextjs-frontend/app/dashboard/deleteButton.tsx type DeleteButtonProps (line 6) | interface DeleteButtonProps { function DeleteButton (line 10) | function DeleteButton({ itemId }: DeleteButtonProps) { FILE: nextjs-frontend/app/dashboard/layout.tsx function DashboardLayout (line 21) | function DashboardLayout({ FILE: nextjs-frontend/app/dashboard/page.tsx type DashboardPageProps (line 23) | interface DashboardPageProps { function DashboardPage (line 30) | async function DashboardPage({ FILE: nextjs-frontend/app/layout.tsx function RootLayout (line 21) | function RootLayout({ FILE: nextjs-frontend/app/login/page.tsx function Page (line 19) | function Page() { FILE: nextjs-frontend/app/openapi-client/client.gen.ts type CreateClientConfig (line 19) | type CreateClientConfig = FILE: nextjs-frontend/app/openapi-client/client/types.gen.ts type Config (line 22) | interface Config type RequestOptions (line 62) | interface RequestOptions< type ClientOptions (line 92) | interface ClientOptions { type RequestResult (line 97) | type RequestResult< type MethodFn (line 121) | type MethodFn = < type SseFn (line 129) | type SseFn = < type RequestFn (line 137) | type RequestFn = < type BuildUrlFn (line 146) | type BuildUrlFn = < type Client (line 157) | type Client = CoreClient< type CreateClientConfig (line 175) | type CreateClientConfig = ( type TDataShape (line 179) | interface TDataShape { type OmitKeys (line 187) | type OmitKeys = Pick>; type Options (line 189) | type Options< type OptionsLegacyParser (line 199) | type OptionsLegacyParser< FILE: nextjs-frontend/app/openapi-client/core/auth.gen.ts type AuthToken (line 3) | type AuthToken = string | undefined; type Auth (line 5) | interface Auth { FILE: nextjs-frontend/app/openapi-client/core/bodySerializer.gen.ts type QuerySerializer (line 9) | type QuerySerializer = (query: Record) => string; type BodySerializer (line 11) | type BodySerializer = (body: any) => any; type QuerySerializerOptions (line 13) | interface QuerySerializerOptions { FILE: nextjs-frontend/app/openapi-client/core/params.gen.ts type Slot (line 3) | type Slot = "body" | "headers" | "path" | "query"; type Field (line 5) | type Field = type Fields (line 27) | interface Fields { type FieldsConfig (line 32) | type FieldsConfig = ReadonlyArray; type KeyMap (line 42) | type KeyMap = Map< type Params (line 71) | interface Params { FILE: nextjs-frontend/app/openapi-client/core/pathSerializer.gen.ts type SerializeOptions (line 3) | interface SerializeOptions type SerializePrimitiveOptions (line 7) | interface SerializePrimitiveOptions { type SerializerOptions (line 12) | interface SerializerOptions { type ArrayStyle (line 20) | type ArrayStyle = "form" | "spaceDelimited" | "pipeDelimited"; type ArraySeparatorStyle (line 21) | type ArraySeparatorStyle = ArrayStyle | MatrixStyle; type MatrixStyle (line 22) | type MatrixStyle = "label" | "matrix" | "simple"; type ObjectStyle (line 23) | type ObjectStyle = "form" | "deepObject"; type ObjectSeparatorStyle (line 24) | type ObjectSeparatorStyle = ObjectStyle | MatrixStyle; type SerializePrimitiveParam (line 26) | interface SerializePrimitiveParam extends SerializePrimitiveOptions { FILE: nextjs-frontend/app/openapi-client/core/serverSentEvents.gen.ts type ServerSentEventsOptions (line 5) | type ServerSentEventsOptions = Omit< type StreamEvent (line 70) | interface StreamEvent { type ServerSentEventsResult (line 77) | type ServerSentEventsResult< FILE: nextjs-frontend/app/openapi-client/core/types.gen.ts type HttpMethod (line 10) | type HttpMethod = type Client (line 21) | type Client< type Config (line 41) | interface Config { type IsExactlyNeverOrNeverUndefined (line 106) | type IsExactlyNeverOrNeverUndefined = [T] extends [never] type OmitNever (line 114) | type OmitNever> = { FILE: nextjs-frontend/app/openapi-client/core/utils.gen.ts type PathSerializer (line 11) | interface PathSerializer { constant PATH_PARAM_RE (line 16) | const PATH_PARAM_RE = /\{[^{}]+\}/g; function getValidRequestBody (line 116) | function getValidRequestBody(options: { FILE: nextjs-frontend/app/openapi-client/sdk.gen.ts type Options (line 58) | type Options< FILE: nextjs-frontend/app/openapi-client/types.gen.ts type BearerResponse (line 6) | type BearerResponse = { type BodyAuthResetForgotPassword (line 20) | type BodyAuthResetForgotPassword = { type BodyAuthResetResetPassword (line 30) | type BodyAuthResetResetPassword = { type BodyAuthVerifyRequestToken (line 44) | type BodyAuthVerifyRequestToken = { type BodyAuthVerifyVerify (line 54) | type BodyAuthVerifyVerify = { type ErrorModel (line 64) | type ErrorModel = { type HttpValidationError (line 78) | type HttpValidationError = { type ItemCreate (line 88) | type ItemCreate = { type ItemRead (line 106) | type ItemRead = { type PageItemRead (line 132) | type PageItemRead = { type UserCreate (line 158) | type UserCreate = { type UserRead (line 184) | type UserRead = { type UserUpdate (line 210) | type UserUpdate = { type ValidationError (line 236) | type ValidationError = { type Login (line 254) | type Login = { type AuthJwtLoginData (line 281) | type AuthJwtLoginData = { type AuthJwtLoginErrors (line 288) | type AuthJwtLoginErrors = { type AuthJwtLoginError (line 299) | type AuthJwtLoginError = AuthJwtLoginErrors[keyof AuthJwtLoginErrors]; type AuthJwtLoginResponses (line 301) | type AuthJwtLoginResponses = { type AuthJwtLoginResponse (line 308) | type AuthJwtLoginResponse = type AuthJwtLogoutData (line 311) | type AuthJwtLogoutData = { type AuthJwtLogoutErrors (line 318) | type AuthJwtLogoutErrors = { type AuthJwtLogoutResponses (line 325) | type AuthJwtLogoutResponses = { type RegisterRegisterData (line 332) | type RegisterRegisterData = { type RegisterRegisterErrors (line 339) | type RegisterRegisterErrors = { type RegisterRegisterError (line 350) | type RegisterRegisterError = type RegisterRegisterResponses (line 353) | type RegisterRegisterResponses = { type RegisterRegisterResponse (line 360) | type RegisterRegisterResponse = type ResetForgotPasswordData (line 363) | type ResetForgotPasswordData = { type ResetForgotPasswordErrors (line 370) | type ResetForgotPasswordErrors = { type ResetForgotPasswordError (line 377) | type ResetForgotPasswordError = type ResetForgotPasswordResponses (line 380) | type ResetForgotPasswordResponses = { type ResetResetPasswordData (line 387) | type ResetResetPasswordData = { type ResetResetPasswordErrors (line 394) | type ResetResetPasswordErrors = { type ResetResetPasswordError (line 405) | type ResetResetPasswordError = type ResetResetPasswordResponses (line 408) | type ResetResetPasswordResponses = { type VerifyRequestTokenData (line 415) | type VerifyRequestTokenData = { type VerifyRequestTokenErrors (line 422) | type VerifyRequestTokenErrors = { type VerifyRequestTokenError (line 429) | type VerifyRequestTokenError = type VerifyRequestTokenResponses (line 432) | type VerifyRequestTokenResponses = { type VerifyVerifyData (line 439) | type VerifyVerifyData = { type VerifyVerifyErrors (line 446) | type VerifyVerifyErrors = { type VerifyVerifyError (line 457) | type VerifyVerifyError = VerifyVerifyErrors[keyof VerifyVerifyErrors]; type VerifyVerifyResponses (line 459) | type VerifyVerifyResponses = { type VerifyVerifyResponse (line 466) | type VerifyVerifyResponse = type UsersCurrentUserData (line 469) | type UsersCurrentUserData = { type UsersCurrentUserErrors (line 476) | type UsersCurrentUserErrors = { type UsersCurrentUserResponses (line 483) | type UsersCurrentUserResponses = { type UsersCurrentUserResponse (line 490) | type UsersCurrentUserResponse = type UsersPatchCurrentUserData (line 493) | type UsersPatchCurrentUserData = { type UsersPatchCurrentUserErrors (line 500) | type UsersPatchCurrentUserErrors = { type UsersPatchCurrentUserError (line 515) | type UsersPatchCurrentUserError = type UsersPatchCurrentUserResponses (line 518) | type UsersPatchCurrentUserResponses = { type UsersPatchCurrentUserResponse (line 525) | type UsersPatchCurrentUserResponse = type UsersDeleteUserData (line 528) | type UsersDeleteUserData = { type UsersDeleteUserErrors (line 540) | type UsersDeleteUserErrors = { type UsersDeleteUserError (line 559) | type UsersDeleteUserError = type UsersDeleteUserResponses (line 562) | type UsersDeleteUserResponses = { type UsersDeleteUserResponse (line 569) | type UsersDeleteUserResponse = type UsersUserData (line 572) | type UsersUserData = { type UsersUserErrors (line 584) | type UsersUserErrors = { type UsersUserError (line 603) | type UsersUserError = UsersUserErrors[keyof UsersUserErrors]; type UsersUserResponses (line 605) | type UsersUserResponses = { type UsersUserResponse (line 612) | type UsersUserResponse = UsersUserResponses[keyof UsersUserResponses]; type UsersPatchUserData (line 614) | type UsersPatchUserData = { type UsersPatchUserErrors (line 626) | type UsersPatchUserErrors = { type UsersPatchUserError (line 649) | type UsersPatchUserError = type UsersPatchUserResponses (line 652) | type UsersPatchUserResponses = { type UsersPatchUserResponse (line 659) | type UsersPatchUserResponse = type ReadItemData (line 662) | type ReadItemData = { type ReadItemErrors (line 680) | type ReadItemErrors = { type ReadItemError (line 687) | type ReadItemError = ReadItemErrors[keyof ReadItemErrors]; type ReadItemResponses (line 689) | type ReadItemResponses = { type ReadItemResponse (line 696) | type ReadItemResponse = ReadItemResponses[keyof ReadItemResponses]; type CreateItemData (line 698) | type CreateItemData = { type CreateItemErrors (line 705) | type CreateItemErrors = { type CreateItemError (line 712) | type CreateItemError = CreateItemErrors[keyof CreateItemErrors]; type CreateItemResponses (line 714) | type CreateItemResponses = { type CreateItemResponse (line 721) | type CreateItemResponse = CreateItemResponses[keyof CreateItemResponses]; type DeleteItemData (line 723) | type DeleteItemData = { type DeleteItemErrors (line 735) | type DeleteItemErrors = { type DeleteItemError (line 742) | type DeleteItemError = DeleteItemErrors[keyof DeleteItemErrors]; type DeleteItemResponses (line 744) | type DeleteItemResponses = { type ClientOptions (line 751) | type ClientOptions = { FILE: nextjs-frontend/app/page.tsx function Home (line 6) | function Home() { FILE: nextjs-frontend/app/password-recovery/confirm/page.tsx function ResetPasswordForm (line 19) | function ResetPasswordForm() { function Page (line 68) | function Page() { FILE: nextjs-frontend/app/password-recovery/page.tsx function Page (line 19) | function Page() { FILE: nextjs-frontend/app/register/page.tsx function Page (line 19) | function Page() { FILE: nextjs-frontend/components/actions/items-action.ts function fetchItems (line 9) | async function fetchItems(page: number = 1, size: number = 10) { function removeItem (line 34) | async function removeItem(id: string) { function addItem (line 57) | async function addItem(prevState: {}, formData: FormData) { FILE: nextjs-frontend/components/actions/login-action.ts function login (line 10) | async function login(prevState: unknown, formData: FormData) { FILE: nextjs-frontend/components/actions/logout-action.ts function logout (line 7) | async function logout() { FILE: nextjs-frontend/components/actions/password-reset-action.ts function passwordReset (line 8) | async function passwordReset(prevState: unknown, formData: FormData) { function passwordResetConfirm (line 29) | async function passwordResetConfirm( FILE: nextjs-frontend/components/actions/register-action.ts function register (line 10) | async function register(prevState: unknown, formData: FormData) { FILE: nextjs-frontend/components/page-pagination.tsx type PagePaginationProps (line 10) | interface PagePaginationProps { function PagePagination (line 18) | function PagePagination({ FILE: nextjs-frontend/components/page-size-selector.tsx type PageSizeSelectorProps (line 12) | interface PageSizeSelectorProps { function PageSizeSelector (line 16) | function PageSizeSelector({ currentSize }: PageSizeSelectorProps) { FILE: nextjs-frontend/components/ui/FormError.tsx type ErrorState (line 1) | interface ErrorState { type FormErrorProps (line 9) | interface FormErrorProps { function FormError (line 14) | function FormError({ state, className = "" }: FormErrorProps) { type FieldErrorProps (line 23) | interface FieldErrorProps { function FieldError (line 29) | function FieldError({ state, field, className = "" }: FieldErrorProps) { FILE: nextjs-frontend/components/ui/badge.tsx type BadgeProps (line 26) | interface BadgeProps function Badge (line 30) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: nextjs-frontend/components/ui/button.tsx type ButtonProps (line 37) | interface ButtonProps FILE: nextjs-frontend/components/ui/form.tsx type FormFieldContextValue (line 20) | type FormFieldContextValue< type FormItemContextValue (line 67) | type FormItemContextValue = { FILE: nextjs-frontend/components/ui/input.tsx type InputProps (line 5) | interface InputProps FILE: nextjs-frontend/components/ui/submitButton.tsx function SubmitButton (line 4) | function SubmitButton({ text }: { text: string }) { FILE: nextjs-frontend/proxy.ts function proxy (line 5) | async function proxy(request: NextRequest) {