Untitled

mail@pastecode.io avatar
unknown
golang
a year ago
1.8 kB
5
Indexable
Never
type CV struct {
	Name                  string `gorm:"type:varchar(16)" json:"name"`
	Age                   uint64 `gorm:"type:uint" json:"age"`
	ContactInfo           `gorm:"embedded"`
	Degree                string `gorm:"type:varchar(20)" json:"degree"`
	WorkingYears          uint64 `gorm:"type:uint" json:"working_years"` // WorkingYears is extracted from work experience
	Educations            []Education
	WorkExperiences       []WorkExperience
	SchoolExperiences     []SchoolExperience
	InternshipExperiences []InternshipExperience
	ProjectExperiences    []ProjectExperience
	Awards                []Award
	Skills                []Skill
	SelfDesc              string `gorm:"type:varchar(1024)" json:"self_description"`
}

type ContactInfo struct {
	Tel   string `gorm:"type:varchar(20)" json:"tel"`
	Email string `gorm:"type:varchar(50)" json:"email"`
}

type Education struct {
	Duration `gorm:"embedded"`
	School   string `gorm:"type:varchar(50)" json:"school"`
	Degree   string `gorm:"type:varchar(20)" json:"degree"`
	Major    string `gorm:"type:varchar(20)" json:"major"`
	Lessons  string `gorm:"type:varchar(256)" json:"lessons"`
}

type Experience struct {
	CompanyOrOrganization string `gorm:"type:varchar(50)" json:"company_or_organization"`
	Position              string `gorm:"type:varchar(20)" json:"position"`
}

type WorkExperience struct {
	Duration   `gorm:"embedded"`
	Experience `gorm:"embedded"`
}

type SchoolExperience struct {
	Experience `gorm:"embedded"`
}

type InternshipExperience struct {
	Experience `gorm:"embedded"`
}

type ProjectExperience struct {
	Name string `gorm:"type:varchar(50)" json:"project_name"`
	Desc string `gorm:"type:varchar(512)" json:"project_description"`
}

type Award string

type Skill string