fet:--->
This commit is contained in:
commit
715162b0ea
BIN
__pycache__/main.cpython-312.pyc
Normal file
BIN
__pycache__/main.cpython-312.pyc
Normal file
Binary file not shown.
8
main.py
Normal file
8
main.py
Normal file
@ -0,0 +1,8 @@
|
||||
from fastapi import FastAPI
|
||||
from routers import auth_router, attendance_router, leave_router
|
||||
|
||||
app = FastAPI(title="Attendance API")
|
||||
|
||||
app.include_router(auth_router.router, prefix="/auth", tags=["Auth"])
|
||||
app.include_router(attendance_router.router, prefix="/attendance", tags=["Attendance"])
|
||||
app.include_router(leave_router.router, prefix="/leave", tags=["Leave"])
|
||||
3
requirements.txt
Normal file
3
requirements.txt
Normal file
@ -0,0 +1,3 @@
|
||||
fastapi
|
||||
uvicorn
|
||||
pydantic
|
||||
BIN
routers/__pycache__/attendance_router.cpython-312.pyc
Normal file
BIN
routers/__pycache__/attendance_router.cpython-312.pyc
Normal file
Binary file not shown.
BIN
routers/__pycache__/auth_router.cpython-312.pyc
Normal file
BIN
routers/__pycache__/auth_router.cpython-312.pyc
Normal file
Binary file not shown.
BIN
routers/__pycache__/leave_router.cpython-312.pyc
Normal file
BIN
routers/__pycache__/leave_router.cpython-312.pyc
Normal file
Binary file not shown.
22
routers/attendance_router.py
Normal file
22
routers/attendance_router.py
Normal file
@ -0,0 +1,22 @@
|
||||
from fastapi import APIRouter, Header, HTTPException
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
class CheckinRequest(BaseModel):
|
||||
lat: float
|
||||
long: float
|
||||
|
||||
@router.post("/checkin")
|
||||
def check_in(request:CheckinRequest, authorization: str = Header(None),):
|
||||
print(request)
|
||||
if authorization != "Bearer fake-jwt-token":
|
||||
raise HTTPException(status_code=403, detail="Unauthorized")
|
||||
return {"checked_in_at": datetime.now()}
|
||||
|
||||
@router.post("/checkout")
|
||||
def check_out(authorization: str = Header(None)):
|
||||
if authorization != "Bearer fake-jwt-token":
|
||||
raise HTTPException(status_code=403, detail="Unauthorized")
|
||||
return {"checked_out_at": datetime.now()}
|
||||
14
routers/auth_router.py
Normal file
14
routers/auth_router.py
Normal file
@ -0,0 +1,14 @@
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from pydantic import BaseModel
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
class LoginRequest(BaseModel):
|
||||
email: str
|
||||
password: str
|
||||
|
||||
@router.post("/login")
|
||||
def login(request: LoginRequest):
|
||||
if request.email == "test@test.com" and request.password == "1234":
|
||||
return {"token": "fake-jwt-token"}
|
||||
raise HTTPException(status_code=401, detail="Invalid credentials")
|
||||
26
routers/leave_router.py
Normal file
26
routers/leave_router.py
Normal file
@ -0,0 +1,26 @@
|
||||
from fastapi import APIRouter, Header, HTTPException
|
||||
from pydantic import BaseModel
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
class LeaveRequest(BaseModel):
|
||||
leave_type: str
|
||||
reason: str
|
||||
from_date: str
|
||||
to_date: str
|
||||
|
||||
@router.post("/")
|
||||
def request_leave(request: LeaveRequest, authorization: str = Header(None)):
|
||||
if authorization != "Bearer fake-jwt-token":
|
||||
raise HTTPException(status_code=403, detail="Unauthorized")
|
||||
return {"status": "Leave request submitted"}
|
||||
|
||||
@router.get("/summary")
|
||||
def leave_summary(authorization: str = Header(None)):
|
||||
if authorization != "Bearer fake-jwt-token":
|
||||
raise HTTPException(status_code=403, detail="Unauthorized")
|
||||
return {
|
||||
"sick_leave": 2,
|
||||
"personal_leave": 3,
|
||||
"vacation_leave": 1
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user