database

package
v0.0.0-...-bf79a09 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultTimeout = 3 * time.Second

Variables

View Source
var Conn *sql.DB
View Source
var ErrBadPW error = errors.New("invalid password")
View Source
var ErrNotFound error = errors.New("not found")
View Source
var PageLen = 10

Functions

func AddAPIToken

func AddAPIToken(user, token string) error

func ChangeEmail

func ChangeEmail(uid, naddress string) error

func ChangeNickname

func ChangeNickname(uid, nick string) error

func ChangePassword

func ChangePassword(uid, oldpw, newpw string) error

func DeleteAPIToken

func DeleteAPIToken(user string) error

func DeleteFiles

func DeleteFiles(uid string, files []string) error

func EmailUsed

func EmailUsed(email string) (bool, error)

func GenerateToken

func GenerateToken(email string) (string, error)

func IDUsed

func IDUsed(id string) (bool, error)

func OpenDB

func OpenDB(dsn string) (*sql.DB, error)

func OwnFiles

func OwnFiles(id []string, uid int) ([]string, error)

func RandomID

func RandomID() (string, error)

func Register

func Register(nickname, email, password string) (int64, error)

func ResetEmailPassword

func ResetEmailPassword(email, password string) error

func UpdateFileInfo

func UpdateFileInfo(id, user, password, comment string, permission int) error

func UpdateStorage

func UpdateStorage(uid string) (int64, error)

func UploadFile

func UploadFile(rid, uid string, size int64, fileType, filePass, comment string, permission int) error

func VerifyUserEmail

func VerifyUserEmail(uid string) error

Types

type APIToken

type APIToken struct {
	Token     string `json:"token"`
	UserID    string `json:"user"`
	CreatedAt string `json:"created_at"`
}

func TokenUserData

func TokenUserData(token string) (APIToken, error)

func UserAPIToken

func UserAPIToken(user string) (APIToken, error)

type File

type File struct {
	ID          string `json:"id"`
	User        int    `json:"user"`
	FileSize    int64  `json:"file_size"`
	FileType    string `json:"file_type"`
	FilePass    string `json:"file_pass"`
	FileComment string `json:"file_comment"`
	Permissions int    `json:"permissions"`
	CreatedAt   string `json:"created_at"`
}

func GetFile

func GetFile(id, pass string) (File, error)

func GetPrivateFile

func GetPrivateFile(id, user string) (File, error)

type FileData

type FileData struct {
	ID          string `json:"id"`
	FileSize    int64  `json:"file_size"`
	FileType    string `json:"file_type"`
	FileComment string `json:"file_comment"`
	Permissions int    `json:"permissions"`
	CreatedAt   string `json:"created_at"`
}

func FileInfo

func FileInfo(uid, fileID string) (FileData, error)

func FileListing

func FileListing(uid string, page int, perm, fileType, order, sort, comment string) ([]FileData, int, error)

type Info

type Info struct {
	Nickname      string `json:"nickname"`
	Email         string `json:"email"`
	EmailVerified int    `json:"email_verified"`
	UsedStorage   int    `json:"used_storage"`
	Register      string `json:"created_at"`
}

func About

func About(uid string) (Info, error)

type InfoEmail

type InfoEmail struct {
	ID            int    `json:"id"`
	Email         string `json:"email"`
	EmailVerified int    `json:"email_verified"`
}

func EmailInfo

func EmailInfo(emailAddress string) (InfoEmail, error)

type ServerInfo

type ServerInfo struct {
	Users   int    `json:"users"`
	Storage string `json:"storage"`
	Total   int    `json:"total_files"`
}

func ServerStatsInfo

func ServerStatsInfo() (ServerInfo, error)

type StorageInfo

type StorageInfo struct {
	Users     int    `json:"users"`
	Storage   string `json:"storage"`
	FileCount struct {
		Total    int `json:"total"`
		Public   int `json:"public"`
		Private  int `json:"private"`
		Unlisted int `json:"unlisted"`
	} `json:"files"`
}

func ServerStorageInfo

func ServerStorageInfo() (StorageInfo, error)

type Users

type Users struct {
	ID       int    `json:"id"`
	Email    string `json:"email"`
	Password string `json:"pw_bcrypt"`
}

func Login

func Login(email, password string) (Users, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL