entity

package
v0.0.0-...-172868c Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Company

type Company struct {
	CompanyID        uuid.UUID        `json:"company_id" gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	Title            string           `json:"title" gorm:"type:varchar(100); not NULL; unique"`
	Email            string           `json:"email" gorm:"type:varchar(100); not NULL; unique"`
	Password         string           `json:"password" gorm:"type:varchar(100); not NULL"`
	Phone            string           `json:"phone" gorm:"type:varchar(100);"`
	CreationTime     time.Time        `json:"creation_time" gorm:"type:date; not NULL;"`
	UpdateTime       time.Time        `json:"update_time" gorm:"type:date; not NULL;"`
	CompanyAddresses []CompanyAddress `gorm:"ForeignKey:CompanyID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
	Positions        []Position       `gorm:"ForeignKey:CompanyID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
}

type CompanyAddress

type CompanyAddress struct {
	CompanyAddressID uuid.UUID `json:"company_address_id" gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	Title            string    `json:"title" gorm:"type: varchar(200); not NULL"`
	IsBaseAddress    bool      `json:"is_base_adress" gorm:"type: boolean"`
	CompanyID        uuid.UUID `json:"company_id" gorm:"not NULL"`
}

type Position

type Position struct {
	PositionID       uuid.UUID      `json:"position_id" gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	Description      string         `json:"description" gorm:"type:varchar(1000)"`
	Requirements     pq.StringArray `json:"requirements" gorm:"type:text[]"`
	Responsibilities pq.StringArray `json:"responsibilities" gorm:"type:text[]"`
	PositionType     string         `json:"position_type"  gorm:"type:text"`
	Salary           *int           `json:"salary" gorm:"type:int"`
	CompanyID        uuid.UUID      `json:"company_id" gorm:"not NULL"`
	Status           string         `json:"status" gorm:"text; not NULL;default:OPEN;"`
	CreationTime     time.Time      `json:"creation_time" gorm:"type:date; not NULL;"`
	UpdateTime       time.Time      `json:"update_time" gorm:"type:date; not NULL;"`
}

type ResetPasswordToken

type ResetPasswordToken struct {
	ResetPasswordTokenID uuid.UUID  `json:"reset_password_token_id" gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	Token                string     `json:"token" gorm:"type:varchar(32)"`
	CompanyID            *uuid.UUID `json:"company_id"`
	Company              Company
	UserID               *uuid.UUID `json:"user_id"`
	User                 User
	CreationTime         time.Time `json:"creation_time" gorm:"type:date; not NULL"`
}

type Resume

type Resume struct {
	ResumeID        uuid.UUID      `json:"resume_id" gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	FirstName       string         `json:"first_name" gorm:"type:varchar(100); not NULL"`
	LastName        string         `json:"last_name" gorm:"type:varchar(100); not NULL"`
	DateOfBirght    time.Time      `json:"date_of_birght" gorm:"type:date; not NULL"`
	Gender          string         `json:"gender" gorm:"type:text; default:0"`
	Citizenship     string         `json:"citizenship" gorm:"type:text; default:0;"`
	DesiredPosition string         `json:"desired_position" gorm:"type:varchar(100);index:idx_member"`
	SubwayStation   string         `json:"subway_station" gorm:"type:text; default:0;"`
	Specialization  string         `json:"specialization" gorm:"type:text; default:0;"`
	WorkMode        string         `json:"work_mode" gorm:"type:text;default:0; not NULL"`
	About           string         `json:"about" gorm:"type:text"`
	Tags            pq.StringArray `json:"tags" gorm:"type:text[]"`
	Status          string         `json:"status" gorm:"type:text"`
	CreationTime    time.Time      `json:"creation_time" gorm:"type:date; not NULL"`
	UpdateTime      time.Time      `json:"update_time" gorm:"type:date; not NULL"`
	UserID          uuid.UUID      `json:"user_id" gorm:"not NULL; index:idx_member"`
	User            User
	Experience      []ResumeExperience `gorm:"ForeignKey:ResumeID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
	Education       []ResumeEducation  `gorm:"ForeignKey:ResumeID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
}

type ResumeEducation

type ResumeEducation struct {
	ResumeEducationID uuid.UUID `json:"resume_education_id" gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	StartDate         time.Time `json:"start_date"`
	EndDate           time.Time `json:"end_date"`
	DegreePlacement   string    `json:"degree_placement" gorm:"type:varchar(100);default:0;"`
	City              string    `json:"city" gorm:"type:varchar(100);not NULL"`
	ResumeID          uuid.UUID `json:"resume_id" gorm:"not NULL"`
}

type ResumeExperience

type ResumeExperience struct {
	ResumeExperienceID uuid.UUID `json:"resume_experience_id" gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	StartDate          time.Time `json:"start_date"`
	EndDate            time.Time `json:"end_date"`
	CompanyName        string    `json:"company_name" gorm:"type:varchar(100); not NULL"`
	Position           string    `json:"position" gorm:"type:varchar(100); default:0;"`
	City               string    `json:"city" gorm:"type:varchar(100); not NULL"`
	ResumeID           uuid.UUID `json:"resume_id" gorm:"not NULL"`
}

type User

type User struct {
	UserID       uuid.UUID `json:"user_id" gorm:"type:uuid;default:uuid_generate_v4();primary_key"`
	Username     string    `json:"username" gorm:"type:varchar(100)"`
	Email        string    `json:"email" gorm:"type:varchar(100); not NULL; unique"`
	Password     string    `json:"password" gorm:"type:varchar(100); not NULL"`
	CreationTime time.Time `json:"creation_time" gorm:"type:date; not NULL"`
	UpdateTime   time.Time `json:"update_time" gorm:"type:date; not NULL"`
	Mobile       string    `json:"mobile" gorm:"type:varchar(30); default:NULL"`
	Status       string    `json:"status" gorm:"type:text; default:0"`
	Resumes      []Resume  `gorm:"ForeignKey:UserID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"`
}

Jump to

Keyboard shortcuts

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