gohorsejobs/backend/internal/models/video_interview.go
GoHorse Deploy ae475e41a9 feat: implement careerjet gap analysis improvements
- Video Interview system (backend + frontend)
- Date Posted filter (24h, 7d, 30d)
- Company filter in jobs listing
- Recent searches persistence (LocalStorage)
- Job Alerts with email confirmation
- Favorite jobs with API
- Company followers system
- Careerjet URL compatibility (s/l aliases)
2026-02-14 19:37:25 +00:00

39 lines
1.6 KiB
Go

package models
import "time"
type VideoInterview struct {
ID string `json:"id" db:"id"`
ApplicationID string `json:"applicationId" db:"application_id"`
ScheduledAt time.Time `json:"scheduledAt" db:"scheduled_at"`
DurationMinutes int `json:"durationMinutes" db:"duration_minutes"`
Timezone string `json:"timezone" db:"timezone"`
MeetingLink *string `json:"meetingLink,omitempty" db:"meeting_link"`
MeetingProvider *string `json:"meetingProvider,omitempty" db:"meeting_provider"`
MeetingID *string `json:"meetingId,omitempty" db:"meeting_id"`
MeetingPassword *string `json:"meetingPassword,omitempty" db:"meeting_password"`
Status string `json:"status" db:"status"`
StartedAt *time.Time `json:"startedAt,omitempty" db:"started_at"`
EndedAt *time.Time `json:"endedAt,omitempty" db:"ended_at"`
Notes *string `json:"notes,omitempty" db:"notes"`
InterviewerFeedback *string `json:"interviewerFeedback,omitempty" db:"interviewer_feedback"`
CandidateFeedback *string `json:"candidateFeedback,omitempty" db:"candidate_feedback"`
Rating *int `json:"rating,omitempty" db:"rating"`
CreatedBy *string `json:"createdBy,omitempty" db:"created_by"`
CreatedAt time.Time `json:"createdAt" db:"created_at"`
UpdatedAt time.Time `json:"updatedAt" db:"updated_at"`
}
type VideoInterviewWithDetails struct {
VideoInterview
JobTitle string `json:"jobTitle"`
CompanyID string `json:"companyId"`
CompanyName string `json:"companyName"`
CandidateName string `json:"candidateName"`
CandidateEmail string `json:"candidateEmail"`
}