Documentation ¶
Index ¶
- Constants
- Variables
- type Base64String
- type Bucket
- type BucketStatus
- type DB
- func (db *DB) AllBucketsStatus() (statusList []BucketStatus, err error)
- func (db *DB) AutoGetKeywords() ([]string, error)
- func (db *DB) BucketExists(name string) (bool, error)
- func (db *DB) ChangePassword(oldPwd, newPwd string) (HexString, error)
- func (db *DB) CheckSameChecksum(file *File) error
- func (db *DB) CheckSameFilename(name string) error
- func (db *DB) CheckSameFiles(files []*File) (allErr error)
- func (db *DB) DecryptFile(filePath string) ([]byte, error)
- func (db *DB) DecryptSaveFile(srcPath, dstPath string, perm fs.FileMode) error
- func (db *DB) DeleteBucket(bucketID int64) error
- func (db *DB) DeleteFile(bucketsDir, tempDir, thumbPath string, file *File) error
- func (db *DB) EncryptFile(srcPath, dstPath string, perm fs.FileMode) error
- func (db *DB) Exec(query string, args ...any) (err error)
- func (db *DB) GetAllBuckets() ([]*Bucket, error)
- func (db *DB) GetAllFiles() (files []*File, err error)
- func (db *DB) GetBucket(id int64) (Bucket, error)
- func (db *DB) GetBucketByName(name string) (Bucket, error)
- func (db *DB) GetDamagedFiles() ([]*FilePlus, error)
- func (db *DB) GetFileByChecksum(checksum string) (File, error)
- func (db *DB) GetFileByID(id int64) (File, error)
- func (db *DB) GetFileByName(name string) (File, error)
- func (db *DB) GetFilePlus(id int64) (file FilePlus, err error)
- func (db *DB) GetFilePlusByName(name string) (file FilePlus, err error)
- func (db *DB) GetFilesInBucket(id int64, utime string) (files []*FilePlus, err error)
- func (db *DB) GetFilesLimit(sortBy, utime string) (files []*FilePlus, err error)
- func (db *DB) GetFilesNeedCheck(checkInterval int64) ([]*File, error)
- func (db *DB) GetInt1(query string, arg ...any) (int64, error)
- func (db *DB) GetPicsInBucket(id int64, utime string) (files []*FilePlus, err error)
- func (db *DB) GetPicsLimit(utime string) (files []*FilePlus, err error)
- func (db *DB) GetProjStat(projCfg *Project) (ProjectStatus, error)
- func (db *DB) InsertAndReturnFile(file *File) (*File, error)
- func (db *DB) InsertBucket(form *model.CreateBucketForm) (*Bucket, error)
- func (db *DB) InsertBucketWithID(bucket *Bucket) error
- func (db *DB) InsertFile(file *File) error
- func (db *DB) InsertFileWithID(file *File) error
- func (db *DB) IsLoggedIn() bool
- func (db *DB) Logout()
- func (db *DB) MoveFileToBucket(fileID int64, bucketName string) error
- func (db *DB) MustBegin() *sql.Tx
- func (db *DB) Query(query string, args ...any) (*sql.Rows, error)
- func (db *DB) QueryRow(query string, args ...any) *sql.Row
- func (db *DB) SearchFiles(pattern, fileType string, limit int64) (files []*FilePlus, err error)
- func (db *DB) SetAESGCM(password string) (realKey []byte, err error)
- func (db *DB) SetFileCheckedDamaged(file *File) error
- func (db *DB) UpdateBackupFileInfo(file *File) error
- func (db *DB) UpdateBucketInfo(bucket *Bucket) error
- func (db *DB) UpdateBucketName(newName string, bucketid int64) error
- func (db *DB) UpdateBucketTitle(bucket *Bucket) error
- func (db *DB) UpdateChecksumAndBucket(fileID int64, checksum, bucketName string) error
- func (db *DB) UpdateFileContent(file *File) error
- func (db *DB) UpdateFileInfo(file *File) error
- type ErrSameNameFiles
- type File
- type FileExportImport
- type FilePlus
- type HexString
- type MovedFile
- type Nonce
- type Project
- type ProjectStatus
- type Row
- type SecretKey
- type TX
Constants ¶
View Source
const ( KeySize = 16 NonceSize = 12 BcryptCost = 15 // 根据服务器运算速度而定, 由于我这个是本地程序, 因此设大一点 DefaultPassword = "abc123" )
Variables ¶
View Source
var (
ErrWrongPassword = errors.New("wrong password (密碼錯誤)")
)
Functions ¶
This section is empty.
Types ¶
type Base64String ¶
type Base64String = string
type BucketStatus ¶
type BucketStatus = model.BucketStatus
type DB ¶
type DB struct { DB *sql.DB Path string // 数据库的路径 IsBackup bool FilesLimit int64 // contains filtered or unexported fields }
func (*DB) AllBucketsStatus ¶
func (db *DB) AllBucketsStatus() (statusList []BucketStatus, err error)
AllBucketsStatus 根据 db.IsLoggedIn 選擇获取公开仓库或全部仓库的狀態
func (*DB) AutoGetKeywords ¶
func (*DB) CheckSameChecksum ¶
有相同内容的檔案时返回 error(相同内容的檔案已存在), 无相同内容的檔案则返回 nil 或其他错误.
func (*DB) CheckSameFilename ¶
有同名檔案时返回 ErrSameNameFiles, 无同名檔案则返回 nil 或其他错误.
func (*DB) CheckSameFiles ¶
CheckSameFiles 检查有无同名/相同内容的檔案, 发现相同内容的檔案时, 记录全部重复檔案后再汇总返回错误, 但发现同名檔案时, 则立即返回错误 (因为前端需要对同名檔案进行逐个处理).
func (*DB) DecryptSaveFile ¶
DecryptSaveFile 读取 srcPath 的文件, 解密后保存到 dstPath.
func (*DB) DeleteBucket ¶
func (*DB) DeleteFile ¶
DeleteFile 刪除檔案, 包括從數據庫中刪除和從硬碟中刪除.
func (*DB) EncryptFile ¶
EncryptFile 读取 srcPath 的文件, 加密后保存到 dstPath.
func (*DB) GetAllBuckets ¶
func (*DB) GetAllFiles ¶
TODO: 要刪除, 使用該函數的地方改為 iterator
func (*DB) GetDamagedFiles ¶
func (*DB) GetFilePlusByName ¶
func (*DB) GetFilesInBucket ¶
func (*DB) GetFilesLimit ¶
func (*DB) GetFilesNeedCheck ¶
GetFilesNeedCheck 获取需要检查的文件, checkInterval 的单位是秒.
func (*DB) GetPicsInBucket ¶
func (*DB) GetProjStat ¶
func (db *DB) GetProjStat(projCfg *Project) (ProjectStatus, error)
func (*DB) InsertAndReturnFile ¶
InsertAndReturnFile 主要用于同名檔案冲突时的逐一处理.
func (*DB) InsertBucket ¶
func (db *DB) InsertBucket(form *model.CreateBucketForm) (*Bucket, error)
func (*DB) InsertBucketWithID ¶
func (*DB) InsertFile ¶
func (*DB) InsertFileWithID ¶
func (*DB) IsLoggedIn ¶
func (*DB) SearchFiles ¶
func (*DB) SetFileCheckedDamaged ¶
func (*DB) UpdateBackupFileInfo ¶
UpdateBackupFileInfo 更新一个文档的大多数信息, 但不更新 Checked 和 Damaged.
func (*DB) UpdateBucketInfo ¶
func (*DB) UpdateBucketTitle ¶
func (*DB) UpdateChecksumAndBucket ¶
主要用于仓库之间移动文档, 因加密解密而使 checksum 发生变化.
func (*DB) UpdateFileContent ¶
func (*DB) UpdateFileInfo ¶
type ErrSameNameFiles ¶
type ErrSameNameFiles = model.ErrSameNameFiles
type FileExportImport ¶
type FileExportImport = model.FileExportImport
type FilePlus ¶
func RemoveChecksum ¶
type ProjectStatus ¶
type ProjectStatus = model.ProjectStatus
Click to show internal directories.
Click to hide internal directories.