package models import "time" // JobView represents a view record for analytics type JobView struct { ID string `json:"id" db:"id"` JobID string `json:"jobId" db:"job_id"` UserID *string `json:"userId,omitempty" db:"user_id"` IPAddress *string `json:"ipAddress,omitempty" db:"ip_address"` UserAgent *string `json:"userAgent,omitempty" db:"user_agent"` ViewedAt time.Time `json:"viewedAt" db:"viewed_at"` } // JobMetrics represents analytics data for a job type JobMetrics struct { JobID int `json:"jobId"` ViewCount int `json:"viewCount"` UniqueViewers int `json:"uniqueViewers"` ApplicationCount int `json:"applicationCount"` ConversionRate float64 `json:"conversionRate"` // applications / views * 100 ViewsLast7Days int `json:"viewsLast7Days"` ViewsLast30Days int `json:"viewsLast30Days"` }