HR-ATS-Portal/backend/job/assignment/serializers.py

35 lines
1.5 KiB
Python

def serialize_job_assignment(row, names=None) -> dict:
names = names or {}
user_key = str(row.user_id) if row.user_id else None
by_key = str(row.assigned_by) if row.assigned_by else None
return {
"id": str(row.id),
"job_post_id": str(row.job_post_id) if row.job_post_id else None,
"user_id": user_key,
"user_name": names.get(user_key) if user_key else None,
"assignment_role": row.assignment_role,
"valid_from": row.valid_from.isoformat() if row.valid_from else None,
"valid_to": row.valid_to.isoformat() if row.valid_to else None,
"assigned_by": by_key,
"assigned_by_name": names.get(by_key) if by_key else None,
"created_at": row.created_at.isoformat() if row.created_at else None,
}
def serialize_application_assignment(row, names=None) -> dict:
names = names or {}
user_key = str(row.user_id) if row.user_id else None
by_key = str(row.assigned_by) if row.assigned_by else None
return {
"id": str(row.id),
"inbox_id": row.inbox_id,
"user_id": user_key,
"user_name": names.get(user_key) if user_key else None,
"assignment_role": row.assignment_role,
"valid_from": row.valid_from.isoformat() if row.valid_from else None,
"valid_to": row.valid_to.isoformat() if row.valid_to else None,
"assigned_by": by_key,
"assigned_by_name": names.get(by_key) if by_key else None,
"created_at": row.created_at.isoformat() if row.created_at else None,
}