- 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)
39 lines
1.6 KiB
Go
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"`
|
|
}
|