Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompanySizeType ¶
type CompanySizeType int
const ( STARTUP CompanySizeType = iota // 스타트업 SMALL // 중소기업 MEDIUM // 중견기업 LARGE // 대기업 FOREIGN // 외국계 )
type Feed ¶
type Feed struct { ID uint `gorm:"column:id;primarykey"` Name string `gorm:"column:name;type:varchar;not null"` Title string `gorm:"column:title;type:varchar;not null"` Description string `gorm:"column:description;type:varchar;not null"` Link string `gorm:"column:link;type:varchar;not null;unique"` Updated time.Time `gorm:"column:updated;type:timestamp;not null"` Copyright string `gorm:"column:copyright;type:varchar;not null"` CompanySize CompanySizeType `gorm:"column:company_size;type:int2;not null"` RssID uint `gorm:"column:rss_id;type:int8;not null"` Items []Item `gorm:"foreignKey:FeedID"` }
type Item ¶
type Item struct { ID uint `gorm:"column:id;primarykey"` Title string `gorm:"column:title;type:varchar;not null"` Description string `gorm:"column:description;type:varchar;not null"` Link string `gorm:"column:link;type:varchar;not null"` Thumbnail *string `gorm:"column:thumbnail;type:varchar"` Published time.Time `gorm:"column:published;type:timestamp;not null"` GUID string `gorm:"column:guid;type:varchar;not null"` Summary string `gorm:"column:summary;type:varchar"` Views uint `gorm:"column:views;type:int8;not null;default:0"` Likes uint `gorm:"column:likes;type:int8;not null;default:0"` FeedID uint `gorm:"column:feed_id;type:int8;not null"` JobTags []JobTag `gorm:"many2many:item_job_tags;"` SkillTags []SkillTag `gorm:"many2many:item_skill_tags;"` }
type ItemRepo ¶
type ItemRepo interface { CountView(company *string, companySizes *[]CompanySizeType, jobTags, skillTags *[]int64) (int64, error) FindAllView(company *string, companySizes *[]CompanySizeType, jobTags, skillTags *[]int64, perPage, page int) ([]ItemView, error) Exist(id int64) (bool, error) IncreaseViewCount(id int64) (int64, error) IncreaseLikeCount(id int64) (int64, error) FindAllViewByExcludedIds(ids []int64, perPage int32) ([]ItemView, error) }
type ItemView ¶
type ItemView struct { ItemID uint `gorm:"column:item_id;type:int8"` ItemTitle string `gorm:"column:item_title;type:varchar"` ItemDescription string `gorm:"column:item_description;type:varchar"` ItemLink string `gorm:"column:item_link;type:varchar"` ItemThumbnail *string `gorm:"column:item_thumbnail;type:varchar"` ItemPublished time.Time `gorm:"column:item_published;type:timestamp"` ItemSummary *string `gorm:"column:item_summary;type:varchar"` ItemViews uint `gorm:"column:item_views;type:int8"` ItemLikes uint `gorm:"column:item_likes;type:int8"` FeedName string `gorm:"column:feed_name;type:varchar"` FeedTitle string `gorm:"column:feed_title;type:varchar"` FeedLink string `gorm:"column:feed_link;type:varchar"` CompanySize CompanySizeType `gorm:"column:company_size;type:int2"` JobTagIDArr pq.Int64Array `gorm:"column:job_tags_id_arr;type:int8[]"` SkillTagIDArr pq.Int64Array `gorm:"column:skill_tags_id_arr;type:int8[]"` }
type JobTag ¶
type JobTag struct { ID uint `gorm:"column:id;primarykey"` Name string `gorm:"column:name;type:varchar;not null"` Keyword pq.StringArray `gorm:"column:keyword;type:text[];not null"` }
type JobTagRepo ¶
type Rss ¶
type Rss struct { ID uint `gorm:"column:id;primarykey"` Name string `gorm:"column:name;type:varchar;not null;unique"` Link string `gorm:"column:link;type:varchar;not null;unique"` Updated time.Time `gorm:"column:updated;type:timestamp"` Ok bool `gorm:"column:ok;type:bool"` Error string `gorm:"column:error;type:varchar"` Feed Feed `gorm:"foreignKey:RssID"` }
type SkillTag ¶
type SkillTag struct { ID uint `gorm:"column:id;primarykey"` Name string `gorm:"column:name;type:varchar;not null"` Keyword pq.StringArray `gorm:"column:keyword;type:text[];not null"` }
type SkillTagRepo ¶
type Subscription ¶
type Subscription struct { ID uint `gorm:"column:id;primarykey" json:"id"` Email string `gorm:"column:email;type:varchar;not null;unique" json:"email"` Name *string `gorm:"column:name;type:varchar" json:"name"` Division *string `gorm:"column:division;type:varchar" json:"division"` PreferredCompanyArr pq.Int64Array `gorm:"column:preferred_company_arr;type:int8[];not null" json:"preferred_company_arr"` PreferredCompanySizeArr pq.Int64Array `gorm:"column:preferred_company_size_arr;type:int8[];not null" json:"preferred_company_size_arr"` PreferredJobArr pq.Int64Array `gorm:"column:preferred_job_arr;type:int8[];not null" json:"preferred_job_arr"` PreferredSkillArr pq.Int64Array `gorm:"column:preferred_skill_arr;type:int8[];not null" json:"preferred_skill_arr"` Published time.Time `gorm:"column:published;type:timestamp;not null" json:"published"` }
type SubscriptionRepo ¶
type SubscriptionRepo interface { ExistEmail(email string) (*int64, error) Create(subscription Subscription) (*Subscription, error) Update(id int64, subscription Subscription) (*Subscription, error) Delete(id int64) (*Subscription, error) }
Click to show internal directories.
Click to hide internal directories.