Documentation ¶
Index ¶
- Constants
- Variables
- func FilesToString(files []File) string
- func Now() string
- type Bucket
- type BucketStatus
- type ChangePwdForm
- type CreateBucketForm
- type ErrSameNameFiles
- type File
- type FileExportImport
- type FileIdForm
- type FileIdRangeForm
- type FilePlus
- type FilesOptions
- type MoveFileToBucketForm
- type MovedFile
- type OneTextForm
- type Project
- type ProjectStatus
- type RenameWaitingFileForm
- type UpdateFileInfoForm
Constants ¶
View Source
const ( GB = 1 << 30 Day = 24 * 60 * 60 RFC3339 = "2006-01-02 15:04:05Z07:00" MIMEOctetStream = "application/octet-stream" )
Variables ¶
View Source
var IdForbidPattern = regexp.MustCompile(`[^0-9a-zA-Z._\-]`)
ID 只能使用 0-9, a-z, A-Z, _(下劃線), -(連字號), .(點)
Functions ¶
Types ¶
type Bucket ¶
type Bucket struct { // 自增數字ID ID int64 `json:"id"` // 倉庫資料夾名, 不分大小寫. // 只能使用 0-9, a-z, A-Z, _(下劃線), -(連字號), .(點) Name string `json:"name"` // 倉庫標題和副標題, 可使用任何語言任意字符. // 其中, Title 在數據庫中是 COLLATE NOCASE UNIQUE. Title string `json:"title"` Subtitle string `json:"subtitle"` // 是否加密 (在創建時決定, 不可更改) (密碼在 ProjectConfig 中統一設定) Encrypted bool `json:"encrypted"` }
Bucket 倉庫
func NewBucket ¶
func NewBucket(form *CreateBucketForm) (*Bucket, error)
type BucketStatus ¶
type ChangePwdForm ¶
type CreateBucketForm ¶
type CreateBucketForm struct { Name string `json:"name" validate:"required"` Encrypted bool `json:"encrypted"` }
CreateBucketForm 用於新建倉庫, 由前端傳給后端.
type ErrSameNameFiles ¶
func NewErrSameNameFiles ¶
func NewErrSameNameFiles(file File) ErrSameNameFiles
func (ErrSameNameFiles) Error ¶
func (e ErrSameNameFiles) Error() string
type File ¶
type File struct { ID int64 `json:"id"` // 自增數字ID Checksum string `json:"checksum"` // NOT NULL UNIQUE BucketName string `json:"bucket_name"` // Bucket.Name Name string `json:"name"` // 檔案名 Notes string `json:"notes"` // 備註 Keywords string `json:"keywords"` // 關鍵詞, 便於搜尋 Size int64 `json:"size"` // length in bytes for regular files Type string `json:"type"` // 檔案類型, 例: text/js, office/docx Like int64 `json:"like"` // 點贊 CTime string `json:"ctime"` // RFC3339 檔案入庫時間 UTime string `json:"utime"` // RFC3339 檔案更新時間 Checked string `json:"checked"` // RFC3339 上次校驗檔案完整性的時間 Damaged bool `json:"damaged"` // 上次校驗結果 (檔案是否損壞) Deleted bool `json:"deleted"` // 把檔案标记为 "已删除" }
File 檔案. Notes 與 Keywords 本質上是一樣的, 只是一行字符串, 用來輔助搜尋.
func NewWaitingFile ¶
NewWaitingFile 根据 filePath 生成新檔案, 其中 filePath 是等待上传的檔案的路径.
func (*File) ImportFrom ¶
func (f *File) ImportFrom(f2 FileExportImport)
type FileExportImport ¶
type FileExportImport struct { BucketName string Notes string Keywords string Like int64 CTime string UTime string }
func ExportFileFrom ¶
func ExportFileFrom(f File) FileExportImport
func ImportFileFrom ¶
func ImportFileFrom(tomlPath string) (imported FileExportImport, err error)
type FileIdForm ¶
type FileIdForm struct {
ID int64 `json:"id" params:"id" validate:"required,gt=0"`
}
FileIdForm 同時也用於 bucket id.
type FileIdRangeForm ¶
type FilesOptions ¶
type MoveFileToBucketForm ¶
type OneTextForm ¶
type OneTextForm struct {
Text string `json:"text" validate:"required"`
}
type Project ¶
type Project struct { Host string `json:"host"` Title string `json:"title"` Subtitle string `json:"subtitle"` CipherKey string `json:"cipherkey"` // 被加密的真正密鑰 ApiDelay int64 `json:"api_delay"` // 後端 API 延遲, 單位: 毫秒 RecentFilesLimit int64 `json:"recent_files_limit"` CheckInterval int64 `json:"check_interval"` // 檢查周期, 單位: day CheckSizeLimit int64 `json:"check_size_limit"` // 每次檢查檔案體積上限, 單位: GB IsBackup bool `json:"is_backup"` BackupProjects []string `json:"backup_projects"` LastBackupAt string `json:"last_backup_at"` // RFC3339 DownloadExport bool `json:"download_export"` // 下載時導出 MarkdownStyle string `json:"markdown_style"` }
Project 專案
func NewProject ¶
type ProjectStatus ¶
type RenameWaitingFileForm ¶
type UpdateFileInfoForm ¶
Click to show internal directories.
Click to hide internal directories.