shri-jai commited on
Commit
679dfd8
·
1 Parent(s): a5b469a

chore: added is_read on leave table

Browse files
alembic/versions/d9bb355538fd_add_is_read_to_leave_table.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """add is_read to leave table
2
+
3
+ Revision ID: d9bb355538fd
4
+ Revises: e95f62f91348
5
+ Create Date: 2025-11-25 16:43:45.584602
6
+
7
+ """
8
+ from typing import Sequence, Union
9
+
10
+ from alembic import op
11
+ import sqlalchemy as sa
12
+ import sqlmodel.sql.sqltypes
13
+
14
+
15
+ # revision identifiers, used by Alembic.
16
+ revision: str = 'd9bb355538fd'
17
+ down_revision: Union[str, Sequence[str], None] = 'e95f62f91348'
18
+ branch_labels: Union[str, Sequence[str], None] = None
19
+ depends_on: Union[str, Sequence[str], None] = None
20
+
21
+
22
+ def upgrade():
23
+ op.add_column(
24
+ "leave",
25
+ sa.Column(
26
+ "is_read",
27
+ sa.Boolean(),
28
+ nullable=False,
29
+ server_default=sa.false()
30
+ )
31
+ )
32
+
33
+ def downgrade():
34
+ op.drop_column("leave", "is_read")
src/main.py CHANGED
@@ -2,11 +2,11 @@ from fastapi import FastAPI
2
 
3
  import os
4
  from src.auth.router import router as auth_router
5
- from src.chatbot.router import router as chatbot
6
  from src.core.database import init_db
7
  from src.home.router import router as home_router
8
  from src.notifications.router import router as notifications_router
9
-
10
  from fastapi.staticfiles import StaticFiles
11
 
12
 
@@ -17,16 +17,11 @@ app.include_router(home_router, prefix="/home", tags=["Home"])
17
 
18
  # init_db()
19
 
20
- BASE_DIR = os.path.dirname(os.path.abspath(__file__))
21
- AUDIO_DIR = os.path.join(BASE_DIR, "static", "audio")
22
-
23
  app.include_router(profile)
24
- app.mount("/static/audio", StaticFiles(directory=AUDIO_DIR), name="audio")
25
- print("Serving audio from:", AUDIO_DIR)
26
 
27
  app.include_router(auth_router)
28
 
29
- app.include_router(chatbot)
30
 
31
  app.include_router(notifications_router)
32
 
 
2
 
3
  import os
4
  from src.auth.router import router as auth_router
5
+ from src.chatbot.router import router as chatbot_router
6
  from src.core.database import init_db
7
  from src.home.router import router as home_router
8
  from src.notifications.router import router as notifications_router
9
+ from src.profile.router import router as profile
10
  from fastapi.staticfiles import StaticFiles
11
 
12
 
 
17
 
18
  # init_db()
19
 
 
 
 
20
  app.include_router(profile)
 
 
21
 
22
  app.include_router(auth_router)
23
 
24
+ app.include_router(chatbot_router)
25
 
26
  app.include_router(notifications_router)
27
 
src/profile/models.py CHANGED
@@ -15,6 +15,7 @@ class LeaveType(str, Enum):
15
  class LeaveStatus(str, Enum):
16
  APPROVED = "Approved"
17
  REJECTED = "Rejected"
 
18
  PENDING = "Pending"
19
 
20
  class Leave(SQLModel, table=True):
@@ -30,6 +31,7 @@ class Leave(SQLModel, table=True):
30
  reason: str = Field(nullable=True)
31
  status: LeaveStatus = Field(default=LeaveStatus.PENDING)
32
  is_delivered: bool = Field(default= False)
 
33
  requested_at: date = Field(default_factory=date.today)
34
  updated_at: date = Field(default_factory=date.today)
35
  reject_reason: Optional[str] = None
 
15
  class LeaveStatus(str, Enum):
16
  APPROVED = "Approved"
17
  REJECTED = "Rejected"
18
+ CANCELLED = "Cancelled"
19
  PENDING = "Pending"
20
 
21
  class Leave(SQLModel, table=True):
 
31
  reason: str = Field(nullable=True)
32
  status: LeaveStatus = Field(default=LeaveStatus.PENDING)
33
  is_delivered: bool = Field(default= False)
34
+ is_read: bool = Field(default=False)
35
  requested_at: date = Field(default_factory=date.today)
36
  updated_at: date = Field(default_factory=date.today)
37
  reject_reason: Optional[str] = None
src/profile/router.py CHANGED
@@ -25,7 +25,7 @@ from src.profile.schemas import (
25
  from src.profile.service import create_leave, mentor_decide_leave
26
 
27
 
28
- # router = APIRouter(prefix="/profile", tags=["Profile"])
29
 
30
 
31
  @router.post("/request", response_model=LeaveResponse)
 
25
  from src.profile.service import create_leave, mentor_decide_leave
26
 
27
 
28
+ router = APIRouter(prefix="/profile", tags=["Profile"])
29
 
30
 
31
  @router.post("/request", response_model=LeaveResponse)