Application entity mapping to applications table
Database schema: CREATE TABLE applications ( application_id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), job_id UUID NOT NULL, candidate_id UUID NOT NULL, status application_status DEFAULT 'SUBMITTED', resume_text TEXT NOT NULL, resume_file_path TEXT, hr_decision decision_enum, hr_comments TEXT, submitted_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP );
{
"applicationId": "string",
"submittedAt": "string",
"status": "ApplicationStatus.SUBMITTED",
"resumeText": "string",
"resumeFilePath": "string",
"updatedAt": "string",
"candidateId": "string",
"jobId": "string",
"hrDecision": "SHORTLISTED",
"hrComments": "string",
"assessment": {
"assessmentId": "string",
"application": {
"applicationId": "string",
"submittedAt": "string",
"status": "ApplicationStatus.SUBMITTED",
"resumeText": "string",
"resumeFilePath": "string",
"updatedAt": "string",
"candidateId": "string",
"jobId": "string",
"hrDecision": "SHORTLISTED",
"hrComments": "string",
"chatSession": {
"sessionId": "string",
"application": {},
"messages": "new ArrayList<>()",
"status": "ChatStatus.ACTIVE",
"startedAt": "string",
"completedAt": "string",
"messageCount": 0
}
},
"resumeScore": 0,
"interviewScore": 0,
"resumeComment": "string",
"interviewComment": "string",
"recommendation": "RECOMMEND",
"createdAt": "string",
"updatedAt": "string"
},
"chatSession": {
"sessionId": "string",
"application": {
"applicationId": "string",
"submittedAt": "string",
"status": "ApplicationStatus.SUBMITTED",
"resumeText": "string",
"resumeFilePath": "string",
"updatedAt": "string",
"candidateId": "string",
"jobId": "string",
"hrDecision": "SHORTLISTED",
"hrComments": "string",
"assessment": {
"assessmentId": "string",
"application": {},
"resumeScore": 0,
"interviewScore": 0,
"resumeComment": "string",
"interviewComment": "string",
"recommendation": "RECOMMEND",
"createdAt": "string",
"updatedAt": "string"
}
},
"messages": "new ArrayList<>()",
"status": "ChatStatus.ACTIVE",
"startedAt": "string",
"completedAt": "string",
"messageCount": 0
}
}