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