50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
import profile
|
|
from fastapi import APIRouter,Depends, Query
|
|
from fastapi.responses import JSONResponse
|
|
from fastapi import HTTPException
|
|
from db_setup import get_session
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
from pydantic import BaseModel, EmailStr, model_validator
|
|
from users.views import User
|
|
from users.permissions import CurrentUser, PermissionTag, require_permission
|
|
from job_post.views import JobPost
|
|
|
|
|
|
from dotenv import load_dotenv
|
|
load_dotenv()
|
|
|
|
router = APIRouter()
|
|
|
|
@router.post("/candidate/cv_upload")
|
|
async def cv_upload(session: AsyncSession = Depends(get_session),current_user: Depends(require_permission(PermissionTag.CANDIDATES_MANAGE,PermissionTag.CANDIDATES_VIEW,PermissionTag.CANDIDATES_EDIT,PermissionTag.CANDIDATES_DELETE,PermissionTag.CANDIDATES_CREATE))):
|
|
try:
|
|
pass
|
|
except HTTPException:
|
|
raise
|
|
except Exception as e:
|
|
raise HTTPException(status_code=500,detail=str(e))
|
|
|
|
|
|
@router.post("/job/post-job")
|
|
async def post_job(
|
|
session: AsyncSession = Depends(get_session),
|
|
current_user: Depends(require_permission(
|
|
PermissionTag.JOB_BOARD_CREATE,
|
|
PermissionTag.JOB_BOARD_VIEW,
|
|
PermissionTag.JOB_BOARD_APPROVE,
|
|
PermissionTag.JOB_BOARD_EDIT,
|
|
PermissionTag.JOB_BOARD_DELETE,
|
|
PermissionTag.JOB_BOARD_VIEW_ALL,
|
|
PermissionTag.JOB_BOARD_APPROVE_ALL,
|
|
PermissionTag.JOB_BOARD_EDIT_ALL,
|
|
PermissionTag.JOB_BOARD_DELETE_ALL,
|
|
PermissionTag.JOB_BOARD_VIEW_ALL,
|
|
PermissionTag.JOB_BOARD_APPROVE_ALL,
|
|
PermissionTag.JOB_BOARD_EDIT_ALL,
|
|
PermissionTag.JOB_BOARD_DELETE_ALL,
|
|
))):
|
|
try:
|
|
service=JobPost(session=session)
|
|
except Exception as e:
|
|
raise HTTPException(status_code=500,detail=str(e))
|