model

package
v0.3.0-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 14, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusSaved     = "saved"
	StatusApplied   = "applied"
	StatusScreening = "screening"
	StatusInterview = "interview"
	StatusOffer     = "offer"
	StatusAccepted  = "accepted"
	StatusRejected  = "rejected"
	StatusWithdrawn = "withdrawn"
)

Status constants for the application pipeline

Variables

This section is empty.

Functions

func AllStatuses

func AllStatuses() []string

AllStatuses returns all valid status values in pipeline order

func StatusLabel

func StatusLabel(status string) string

StatusLabel returns a human-readable label for a status

func StatusPriority

func StatusPriority(status string) int

StatusPriority returns sort priority for a status (higher = more important)

Types

type Application

type Application struct {
	ID          string     `json:"id"`
	Company     string     `json:"company"`
	Position    string     `json:"position"`
	Status      string     `json:"status"`
	DateApplied *time.Time `json:"date_applied,omitempty"`
	Notes       string     `json:"notes,omitempty"`

	// Extended info
	SalaryMin int    `json:"salary_min,omitempty"`
	SalaryMax int    `json:"salary_max,omitempty"`
	JobURL    string `json:"job_url,omitempty"`
	Location  string `json:"location,omitempty"`
	Remote    bool   `json:"remote,omitempty"`

	// Contact & Interviews
	ContactName  string      `json:"contact_name,omitempty"`
	ContactEmail string      `json:"contact_email,omitempty"`
	Interviews   []Interview `json:"interviews,omitempty"`

	// Documents
	ResumeVersion string `json:"resume_version,omitempty"`
	CoverLetter   string `json:"cover_letter,omitempty"`

	// Follow-up
	NextFollowUp *time.Time `json:"next_follow_up,omitempty"`

	// Metadata
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

Application represents a job application

func (*Application) SalaryRange

func (a *Application) SalaryRange() string

SalaryRange returns formatted salary range or empty string

type Interview

type Interview struct {
	Date     time.Time `json:"date"`
	Type     string    `json:"type"` // phone, video, onsite, technical
	Notes    string    `json:"notes,omitempty"`
	WithWhom string    `json:"with_whom,omitempty"`
}

Interview represents a scheduled or completed interview

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL