package model import ( "fmt" "time" ) type IndexProgress struct { ObjCount uint64 `json:"obj_count"` IsDone bool `json:"is_done"` LastDoneTime *time.Time `json:"last_done_time"` Error string `json:"error"` } type SearchReq struct { Parent string `json:"parent"` Keywords string `json:"keywords"` // 0 for all, 1 for dir, 2 for file Scope int `json:"scope"` PageReq } type SearchNode struct { Parent string `json:"parent" gorm:"index"` Name string `json:"name"` IsDir bool `json:"is_dir"` Size int64 `json:"size"` } func (p *SearchReq) Validate() error { if p.Page < 1 { return fmt.Errorf("page can't < 1") } if p.PerPage < 1 { return fmt.Errorf("per_page can't < 1") } return nil } func (s *SearchNode) Type() string { return "SearchNode" }