mirror of https://github.com/Xhofe/alist
				
				
				
			
		
			
				
	
	
		
			43 lines
		
	
	
		
			813 B
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			813 B
		
	
	
	
		
			Go
		
	
	
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"
 | 
						|
}
 |