package model

import "time"

type SecretResult struct {
	ID        int64     `json:"id" gorm:"column:id;primary_key"`
	AssetHash string    `json:"asset_hash" gorm:"asset_hash;type:varchar(40);index:idx_asset_hash"`   //扫描资产hash
	VulUnqID  string    `json:"vul_unq_id"  gorm:"vul_unq_id;type:varchar(255);index:idx_vul_unq_id"` //漏洞唯一ID
	RepoLink  string    `json:"repo_link"  gorm:"repo_link;type:varchar(255);index:idx_repo_link"`
	Author    string    `json:"author" gorm:"author;type:varchar(255);"`
	Email     string    `json:"email"  gorm:"email;type:varchar(255);"`
	RuleID    string    `json:"rule_id"  gorm:"rule_id;type:varchar(255);"`
	StartLine int       `json:"start_line"  gorm:"start_line;type:varchar(255);"`
	Secret    string    `json:"secret"  gorm:"secret;type:varchar(255);"`
	File      string    `json:"file"  gorm:"file;type:varchar(255);"`
	Commit    string    `json:"commit" gorm:"commit;type:varchar(255);"`
	PushDate  time.Time `json:"push_date" gorm:"push_date;not null;"`
	State     int       `json:"state" gorm:"state"`                                // 1 未处理  2 已处理  3 忽略
	CreatedAt time.Time `gorm:"not null;index:index_created_at" json:"created_at"` // 创建日期
	UpdatedAt time.Time `gorm:"not null;index:index_update_at" json:"update_at"`   // 更新日期
}

func (SecretResult) TableName() string {
	return "secret_result"
}
