38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
from ninja import Router, Query
|
|
from django.shortcuts import get_object_or_404
|
|
from accounts.models import User
|
|
from authorize.models import ResumeDetailAccessRequest
|
|
from authorize.schemas import ResumeAccessRequestIn
|
|
from resumes.models import ResumeDetail
|
|
from utils.auth import jwt_auth
|
|
from utils.permissions import login_required
|
|
|
|
resume_authorize_router = Router(tags=["简历授权管理"])
|
|
|
|
|
|
@resume_authorize_router.post("/apply", auth=jwt_auth, summary="申请简历详情[普]",
|
|
description="普通用户申请查看某一份简历详情")
|
|
@login_required
|
|
def apply_resume_access(request, data: ResumeAccessRequestIn):
|
|
user = request.user
|
|
|
|
if not user.is_user():
|
|
return {"success": False, "message": "仅普通用户可申请查看简历"}
|
|
|
|
resume = get_object_or_404(ResumeDetail, id=data.resume_id)
|
|
|
|
exists = ResumeDetailAccessRequest.objects.filter(
|
|
user=user, resume=resume, status="pending"
|
|
).exists()
|
|
|
|
if exists:
|
|
return {"success": False, "message": "您已申请过该简历,正在等待审批"}
|
|
|
|
ResumeDetailAccessRequest.objects.create(
|
|
user=user,
|
|
resume=resume,
|
|
reason=data.reason or ""
|
|
)
|
|
|
|
return {"success": True, "message": "申请已提交,等待审批"}
|