Skip to content

Commit 208042a

Browse files
committed
fix python path
1 parent defd089 commit 208042a

File tree

8 files changed

+36
-28
lines changed

8 files changed

+36
-28
lines changed

backend/auth.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22
from typing import Any
33

44
import jwt
5-
from config import settings
6-
from database import get_async_session
75
from fastapi import Depends, HTTPException, status
86
from fastapi.security import OAuth2PasswordBearer
9-
from models import User
10-
from repositories.user_repo import UserRepository
117
from sqlalchemy.ext.asyncio import AsyncSession
128

9+
from backend.config import settings
10+
from backend.database import get_async_session
11+
from backend.models import User
12+
from backend.repositories.user_repo import UserRepository
13+
1314
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="user/jwt/create/", scheme_name="JWT") # important path to get token
1415

1516

backend/database.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
from typing import AsyncGenerator
22

3-
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
4-
from sqlalchemy.orm import sessionmaker
3+
from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine
54

65
DATABASE_URL = "sqlite+aiosqlite:///./todo.db"
76

87

98
engine = create_async_engine(DATABASE_URL)
10-
async_session_maker = sessionmaker(engine, class_=AsyncSession)
9+
async_session_maker = async_sessionmaker(engine, expire_on_commit=False)
1110

1211

1312
async def get_async_session() -> AsyncGenerator[AsyncSession, None]:

backend/main.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
from contextlib import asynccontextmanager
22

3-
from database import engine
43
from fastapi import FastAPI
54
from fastapi.middleware.cors import CORSMiddleware
6-
from models import BaseModel
7-
from routers import authorization, task, user
5+
6+
# sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
7+
from backend.database import engine
8+
from backend.models import metadata
9+
from backend.routers import authorization, task, user
810

911

1012
@asynccontextmanager
@@ -29,5 +31,6 @@ async def lifespan(app: FastAPI):
2931

3032

3133
async def create_tables() -> None:
34+
metadata.bind = engine
3235
async with engine.begin() as conn:
33-
await conn.run_sync(BaseModel.metadata.create_all)
36+
await conn.run_sync(metadata.create_all)

backend/repositories/task_repo.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
from datetime import date
22

33
from fastapi import HTTPException, status
4-
from models import Task, User
5-
from schemas import CreateTaskSchema, UpdateTaskSchema
64
from sqlalchemy import and_, select, update
75
from sqlalchemy.ext.asyncio import AsyncSession
86

7+
from backend.models import Task, User
8+
from backend.schemas import CreateTaskSchema, UpdateTaskSchema
9+
910

1011
class TaskRepository:
1112
def __init__(self, db_session: AsyncSession):

backend/repositories/user_repo.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
from models import User
2-
from schemas import UserCreate
31
from sqlalchemy import or_, select
42
from sqlalchemy.ext.asyncio import AsyncSession
5-
from utils import get_hashed_password, verify_hashed_password
3+
4+
from backend.models import User
5+
from backend.schemas import UserCreate
6+
from backend.utils import get_hashed_password, verify_hashed_password
67

78

89
class UserRepository:

backend/routers/authorization.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
from auth import create_access_token, create_refresh_token
2-
from database import get_async_session
31
from fastapi import APIRouter, Depends, HTTPException, status
42
from fastapi.encoders import jsonable_encoder
53
from fastapi.security.oauth2 import OAuth2PasswordRequestForm
6-
from repositories.user_repo import UserRepository
74
from sqlalchemy.ext.asyncio import AsyncSession
85

6+
from backend.auth import create_access_token, create_refresh_token
7+
from backend.database import get_async_session
8+
from backend.repositories.user_repo import UserRepository
9+
910
router = APIRouter(prefix="/user", tags=["user"])
1011

1112

backend/routers/task.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
from datetime import date
22

3-
from auth import get_current_user
4-
from database import get_async_session
53
from fastapi import APIRouter, Depends, HTTPException, Response, status
6-
from models import User
7-
from repositories.task_repo import TaskRepository
8-
from schemas import (
4+
from sqlalchemy.ext.asyncio import AsyncSession
5+
6+
from backend.auth import get_current_user
7+
from backend.database import get_async_session
8+
from backend.models import User
9+
from backend.repositories.task_repo import TaskRepository
10+
from backend.schemas import (
911
CreateTaskSchema,
1012
DisplayTaskSchema,
1113
UpdateTaskPrioritiesSchema,
1214
UpdateTaskSchema,
1315
)
14-
from sqlalchemy.ext.asyncio import AsyncSession
1516

1617
router = APIRouter(prefix="/task", tags=["task"])
1718

backend/routers/user.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
from database import get_async_session
21
from fastapi import APIRouter, Depends, HTTPException, Response, status
3-
from repositories.user_repo import UserRepository
4-
from schemas import UserCreate, UserDisplay
52
from sqlalchemy.ext.asyncio import AsyncSession
63

4+
from backend.database import get_async_session
5+
from backend.repositories.user_repo import UserRepository
6+
from backend.schemas import UserCreate, UserDisplay
7+
78
router = APIRouter(prefix="/users", tags=["user"])
89

910

0 commit comments

Comments
 (0)