Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions calendar_backend/exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@


class ObjectNotFound(Exception):
def __init__(self, type: Type, id: int):
super().__init__(f"Object {type.__name__} {id=} not found")
def __init__(self, type: Type, ids: int | list[int]):
super().__init__(f"Objects of type {type.__name__} {ids=} not found")


class NotEnoughCriteria(Exception):
Expand Down
8 changes: 0 additions & 8 deletions calendar_backend/google_engine/__init__.py

This file was deleted.

52 changes: 0 additions & 52 deletions calendar_backend/google_engine/api_utils.py

This file was deleted.

41 changes: 0 additions & 41 deletions calendar_backend/google_engine/event.py

This file was deleted.

39 changes: 0 additions & 39 deletions calendar_backend/google_engine/event_from_db.py

This file was deleted.

31 changes: 0 additions & 31 deletions calendar_backend/google_engine/service.py

This file was deleted.

1 change: 0 additions & 1 deletion calendar_backend/methods/image.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
from concurrent.futures import ThreadPoolExecutor
from functools import partial
from io import BytesIO
from typing import Final

import aiofiles
from fastapi import File, HTTPException, UploadFile
Expand Down
2 changes: 2 additions & 0 deletions calendar_backend/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
Credentials,
Direction,
Event,
EventsGroups,
EventsLecturers,
EventsRooms,
Group,
Expand All @@ -25,4 +26,5 @@
"EventsLecturers",
"EventsRooms",
"ApproveStatuses",
"EventsGroups",
]
17 changes: 11 additions & 6 deletions calendar_backend/models/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,15 +106,15 @@ class Group(BaseDbModel):

events: Mapped[list[Event]] = relationship(
"Event",
foreign_keys="Event.group_id",
order_by="(Event.start_ts)",
primaryjoin="and_(Group.id==Event.group_id, not_(Event.is_deleted))",
secondary="events_groups",
back_populates="group",
secondaryjoin="and_(Event.id==EventsGroups.event_id, not_(Event.is_deleted))",
)


class Event(BaseDbModel):
name: Mapped[str] = mapped_column(String, nullable=False)
group_id: Mapped[int] = mapped_column(Integer, ForeignKey("group.id"), nullable=True)
start_ts: Mapped[datetime] = mapped_column(DateTime, nullable=False)
end_ts: Mapped[datetime] = mapped_column(DateTime, nullable=False)
is_deleted: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False)
Expand All @@ -125,11 +125,11 @@ class Event(BaseDbModel):
secondary="events_rooms",
secondaryjoin="and_(Room.id==EventsRooms.room_id, not_(Room.is_deleted))",
)
group: Mapped[Group] = relationship(
group: Mapped[list[Group]] = relationship(
"Group",
back_populates="events",
foreign_keys="Event.group_id",
primaryjoin="and_(Group.id==Event.group_id, not_(Group.is_deleted))",
secondary="events_groups",
secondaryjoin="and_(Group.id==EventsGroups.group_id, not_(Group.is_deleted))",
)
lecturer: Mapped[list[Lecturer]] = relationship(
"Lecturer",
Expand All @@ -155,6 +155,11 @@ class EventsRooms(BaseDbModel):
room_id: Mapped[int] = mapped_column(Integer, ForeignKey("room.id"), nullable=False)


class EventsGroups(BaseDbModel):
event_id: Mapped[int] = mapped_column(Integer, ForeignKey("event.id"), nullable=False)
group_id: Mapped[int] = mapped_column(Integer, ForeignKey("group.id"), nullable=False)


class Photo(BaseDbModel):
lecturer_id: Mapped[int] = mapped_column(Integer, ForeignKey("lecturer.id"), nullable=False)
link: Mapped[str] = mapped_column(String, unique=True, nullable=False)
Expand Down
25 changes: 0 additions & 25 deletions calendar_backend/routes/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,15 @@
from calendar_backend.exceptions import ForbiddenAction, NotEnoughCriteria, ObjectNotFound
from calendar_backend.settings import get_settings

from .event import event_comment_review_router as old_event_comment_review_router # DEPRICATED TODO: Drop 2023-04-01
from .event import event_comment_router as old_event_comment_router # DEPRICATED TODO: Drop 2023-04-01
from .event import event_router as old_event_router # DEPRICATED TODO: Drop 2023-04-01
from .event.comment import router as event_comment_router
from .event.comment_review import router as event_comment_review_router
from .event.event import router as event_router
from .gcal import gcal
from .group import group_router as old_group_router # DEPRICATED TODO: Drop 2023-04-01
from .group.group import router as group_router
from .lecturer import (
lecturer_comment_review_router as old_lecturer_comment_review_router, # DEPRICATED TODO: Drop 2023-04-01
)
from .lecturer import lecturer_comment_router as old_lecturer_comment_router # DEPRICATED TODO: Drop 2023-04-01
from .lecturer import lecturer_photo_router as old_lecturer_photo_router # DEPRICATED TODO: Drop 2023-04-01
from .lecturer import lecturer_router as old_lecturer_router # DEPRICATED TODO: Drop 2023-04-01
from .lecturer.comment import router as lecturer_comment_router
from .lecturer.comment_review import router as lecturer_comment_review_router
from .lecturer.lecturer import router as lecturer_router
from .lecturer.photo import router as lecturer_photo_router
from .lecturer.photo_review import router as lecturer_photo_review_router
from .room import room_router as old_room_router # DEPRICATED TODO: Drop 2023-04-01
from .room.room import router as room_router


Expand Down Expand Up @@ -129,19 +117,6 @@ async def dispatch(self, request: Request, call_next: RequestResponseEndpoint) -

app.mount('/static', StaticFiles(directory=settings.STATIC_PATH), 'static')

# region DEPRICATED
# TODO: Drop 2023-04-01
app.include_router(gcal)
app.include_router(old_lecturer_router)
app.include_router(old_lecturer_comment_router)
app.include_router(old_lecturer_comment_review_router)
app.include_router(old_lecturer_photo_router)
app.include_router(old_group_router)
app.include_router(old_room_router)
app.include_router(old_event_router)
app.include_router(old_event_comment_router)
app.include_router(old_event_comment_review_router)
# endregion

app.include_router(lecturer_router)
app.include_router(lecturer_comment_router)
Expand Down
6 changes: 0 additions & 6 deletions calendar_backend/routes/event/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +0,0 @@
from .comment import event_comment_router
from .comment_review import event_comment_review_router
from .event import event_router


__all__ = ["event_router", "event_comment_review_router", "event_comment_router"]
7 changes: 0 additions & 7 deletions calendar_backend/routes/event/comment.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,9 @@


settings = get_settings()
# DEPRICATED TODO: Drop 2023-04-01
event_comment_router = APIRouter(prefix="/timetable/event/{event_id}/comment", tags=["Event: Comment"], deprecated=True)
router = APIRouter(prefix="/event/{event_id}/comment", tags=["Event: Comment"])


@event_comment_router.post("/", response_model=CommentEventGet) # DEPRICATED TODO: Drop 2023-04-01
@router.post("/", response_model=CommentEventGet)
async def comment_event(event_id: int, comment: EventCommentPost) -> CommentEventGet:
approve_status = ApproveStatuses.APPROVED if not settings.REQUIRE_REVIEW_EVENT_COMMENT else ApproveStatuses.PENDING
Expand All @@ -26,7 +23,6 @@ async def comment_event(event_id: int, comment: EventCommentPost) -> CommentEven
return CommentEventGet.from_orm(comment_event)


@event_comment_router.patch("/{id}", response_model=CommentEventGet) # DEPRICATED TODO: Drop 2023-04-01
@router.patch("/{id}", response_model=CommentEventGet)
async def update_comment(id: int, event_id: int, comment_inp: EventCommentPatch) -> CommentEventGet:
comment = DbCommentEvent.get(id, only_approved=False, session=db.session)
Expand All @@ -39,7 +35,6 @@ async def update_comment(id: int, event_id: int, comment_inp: EventCommentPatch)
return CommentEventGet.from_orm(comment_event)


@event_comment_router.get("/{id}", response_model=CommentEventGet) # DEPRICATED TODO: Drop 2023-04-01
@router.get("/{id}", response_model=CommentEventGet)
async def get_comment(id: int, event_id: int) -> CommentEventGet:
comment = DbCommentEvent.get(id, session=db.session)
Expand All @@ -48,7 +43,6 @@ async def get_comment(id: int, event_id: int) -> CommentEventGet:
return CommentEventGet.from_orm(comment)


@event_comment_router.delete("/{id}", response_model=None) # DEPRICATED TODO: Drop 2023-04-01
@router.delete("/{id}", response_model=None)
async def delete_comment(
id: int, event_id: int, _=Depends(UnionAuth(scopes=["timetable.event.comment.delete"]))
Expand All @@ -61,7 +55,6 @@ async def delete_comment(
return None


@event_comment_router.get("/", response_model=EventComments) # DEPRICATED TODO: Drop 2023-04-01
@router.get("/", response_model=EventComments)
async def get_event_comments(event_id: int, limit: int = 10, offset: int = 0) -> EventComments:
res = DbCommentEvent.get_all(session=db.session).filter(DbCommentEvent.event_id == event_id)
Expand Down
6 changes: 0 additions & 6 deletions calendar_backend/routes/event/comment_review.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,9 @@


settings = get_settings()
# DEPRICATED TODO: Drop 2023-04-01
event_comment_review_router = APIRouter(
prefix="/timetable/event/{event_id}/comment", tags=["Event: Comment Review"], deprecated=True
)
router = APIRouter(prefix="/event/{event_id}/comment", tags=["Event: Comment Review"])


@event_comment_review_router.get("/review/", response_model=list[CommentEventGet]) # DEPRICATED TODO: Drop 2023-04-01
@router.get("/review/", response_model=list[CommentEventGet])
async def get_unreviewed_comments(
event_id: int, _=Depends(UnionAuth(scopes=["timetable.event.comment.review"]))
Expand All @@ -33,7 +28,6 @@ async def get_unreviewed_comments(
return parse_obj_as(list[CommentEventGet], comments)


@event_comment_review_router.post("/{id}/review/", response_model=CommentEventGet) # DEPRICATED TODO: Drop 2023-04-01
@router.post("/{id}/review/", response_model=CommentEventGet)
async def review_comment(
id: int,
Expand Down
Loading