1use anchor_lang::prelude::*;
2
3#[derive(AnchorSerialize, AnchorDeserialize, Clone, Debug, InitSpace)]
6pub struct UserAccount {
7 pub authority: Pubkey, pub bump: u8, pub created_at: i64, pub resume_hash: Option<[u8; 32]>, pub last_resume_upload: Option<i64>,pub interview_count: u32, pub last_interview_at: Option<i64>, pub reputation_score: i32, pub ban_expires_at: Option<i64>, pub violation_count: u8, pub referred_by: Option<Pubkey>, pub referral_count: u16, pub profession_id: u16, }
21
22impl UserAccount {
23 pub const LEN: usize = 8 + 147; }
25
26#[derive(AnchorSerialize, AnchorDeserialize, Clone, Debug, InitSpace)]
29pub struct InterviewResult {
30 pub authority: Pubkey, pub bump: u8, pub interview_index: u32, pub started_at: i64, pub completed_at: i64, pub job_role_hash: [u8; 32], pub profession_id: u16, pub technical_score: u8, pub communication_score: u8, pub behavioral_score: u8, pub claims_verification_score: u8, pub overall_score: u8, pub reputation_delta: i16, pub recommendation: u8, pub red_flag_count: u8, pub yellow_flag_count: u8, pub transcript_hash: [u8; 32], pub evaluation_hash: [u8; 32], pub evaluator_version: u16, }
50
51impl InterviewResult {
52 pub const LEN: usize = 8 + 163; }