Documentation ¶
Index ¶
- func Authorized(f func(user *models.User, w http.ResponseWriter, r *http.Request), ...) http.HandlerFunc
- func AuthorizedNode(...) http.HandlerFunc
- func ContentServeThumbFallback(w http.ResponseWriter, r *http.Request, node *models.Node, cfg *core.Config, ...)
- func GenerateAllThumbnails(np *jobs.NodeProcessor, homeRoot string, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeCopy(homeRoot, thumbRoot string, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeDelete(homeRoot, thumbRoot string, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeGet(homeRoot string, db *sql.DB) func(user *models.User, tokenNode *models.Node, w http.ResponseWriter, ...)
- func NodeIDForPath(auth *jwtauth.JWTAuth, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeInfo(auth *jwtauth.JWTAuth, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeList(auth *jwtauth.JWTAuth, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeMakeDir(cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeMove(cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeNew(uploadDir, homeRoot, thumbRoot string, procCh chan jobs.NodeProcessRequest, ...) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeRename(cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeSearch(db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func NodeUpdate(uploadDir, homeRoot, thumbRoot string, procCh chan jobs.NodeProcessRequest, ...) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func QuerySettings(cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func RunCommand(auth *jwtauth.JWTAuth, cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func ScanAll(np *jobs.NodeProcessor, cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func ScanDeleted(np *jobs.NodeProcessor, cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func SetPassword(db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func ThumbGet(cfg *core.Config, db *sql.DB) func(user *models.User, tokenNode *models.Node, w http.ResponseWriter, ...)
- func UpdateProgress(db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func UserCreate(cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
- func UserLogin(auth *jwtauth.JWTAuth, cfg *core.Config, db *sql.DB) func(w http.ResponseWriter, r *http.Request)
- type CopyRequest
- type CreateUserRequest
- type DeleteRequest
- type ListDirResponse
- type LocalUploadRequest
- type LoginRequest
- type LoginResponse
- type MakeDirRequest
- type MoveRequest
- type ProgressUpdateRequest
- type RenameRequest
- type RunCommandRequest
- type SearchRequest
- type SetPasswordRequest
- type SettingsResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Authorized ¶
func Authorized(f func(user *models.User, w http.ResponseWriter, r *http.Request), requireAdmin bool, cfg *core.Config, db *sql.DB) http.HandlerFunc
Authorized creates a handler views needing an authorized user. If node_id is in the token, the access request will fail.
func AuthorizedNode ¶
func AuthorizedNode(f func(user *models.User, node *models.Node, w http.ResponseWriter, r *http.Request), requireAdmin bool, cfg *core.Config, db *sql.DB) http.HandlerFunc
Authorized creates a handler views needing an authorized user and a node. Node specific token is optional, but if it given, the node will be passed to the handler.
func ContentServeThumbFallback ¶
func ContentServeThumbFallback(w http.ResponseWriter, r *http.Request, node *models.Node, cfg *core.Config, db *sql.DB)
ContentServeThumbFallback servers generic thumbnail images from /static/images/mimetype.svg
func GenerateAllThumbnails ¶
func GenerateAllThumbnails(np *jobs.NodeProcessor, homeRoot string, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
GenerateAllThumbnails regenerates all thumbnails.
func NodeCopy ¶
func NodeCopy(homeRoot, thumbRoot string, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeCopy copies a node to a possibly different parent.
func NodeDelete ¶
func NodeDelete(homeRoot, thumbRoot string, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeDelete deletes a node.
func NodeGet ¶
func NodeGet(homeRoot string, db *sql.DB) func(user *models.User, tokenNode *models.Node, w http.ResponseWriter, r *http.Request)
NodeGet returns contents of a node from the given root.
func NodeIDForPath ¶
func NodeIDForPath(auth *jwtauth.JWTAuth, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeIDForPath returns an ID for a path relative to the user's root directory. output: {int} id
func NodeInfo ¶
func NodeInfo(auth *jwtauth.JWTAuth, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeInfo returns information on one node.
func NodeList ¶
func NodeList(auth *jwtauth.JWTAuth, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeList returns a directory listing of a path.
func NodeMakeDir ¶
func NodeMakeDir(cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeMakeDir creates a new diectory..
func NodeMove ¶
func NodeMove(cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeMove moves a node under a new parent node.
func NodeNew ¶
func NodeNew(uploadDir, homeRoot, thumbRoot string, procCh chan jobs.NodeProcessRequest, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeNew creates a new file. Data is retrieved from multipart upload.
func NodeRename ¶
func NodeRename(cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeRename renames a node.
func NodeSearch ¶
NodeSearch searches for nodes matching specific creteria.
func NodeUpdate ¶
func NodeUpdate(uploadDir, homeRoot, thumbRoot string, procCh chan jobs.NodeProcessRequest, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
NodeUpdate updates an existing node. Data is retrieved from multipart upload.
func QuerySettings ¶
func QuerySettings(cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
QuerySettings returns settings pertinent for the user.
func RunCommand ¶
func RunCommand(auth *jwtauth.JWTAuth, cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
RunCommand executes an external command.
func ScanAll ¶
func ScanAll(np *jobs.NodeProcessor, cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
Scan for deleted nodes and new files and directories from all home directories.
func ScanDeleted ¶
func ScanDeleted(np *jobs.NodeProcessor, cfg *core.Config, db *sql.DB) func(user *models.User, w http.ResponseWriter, r *http.Request)
Scan for deleted nodes.
func SetPassword ¶
SetPassword changes a password. Non-admins can only change their own password.
func ThumbGet ¶
func ThumbGet(cfg *core.Config, db *sql.DB) func(user *models.User, tokenNode *models.Node, w http.ResponseWriter, r *http.Request)
ThumbGet returns contents of a thumbnail for a node. If a custom thumbnail is not found, a generic icon is served.
func UpdateProgress ¶
UpdateProgress updates viewing progress (and current volume, if applicable.)
Types ¶
type CopyRequest ¶
CopyRequest requests copying of a node to a directory. DestID is the parent node ID. It can be the same as the current parent, provided that NewName differs.
type CreateUserRequest ¶
CreateUserRequest is used for creating users.
type DeleteRequest ¶
DeleteRequest requests deletion of a node, potentially recursively.
type ListDirResponse ¶
type ListDirResponse struct { Dir models.Node DirPath string // Full path of the directory Children []*fs.NodeWithProgress }
ListDirResponse is contains the directory node and its children.
type LocalUploadRequest ¶
type LocalUploadRequest struct { ParentID int // ID of the target directory Filename string LocalPath string // Path from where to read the file }
LocalUploadRequest requests an upload of a file accessible by the server itself.
type LoginRequest ¶
LoginRequest is used for loggin in and getting the jwt auth token
type LoginResponse ¶
LoginResponse contains information about the session after a succesful login.
type MakeDirRequest ¶
MakeDirRequest requests a creationg of a directory.
type MoveRequest ¶
MoveRequest requests copying of a node to a directory. DestID is the parent node ID.
type ProgressUpdateRequest ¶
type ProgressUpdateRequest struct { NodeID int UserID int // optional Volume float32 Progress float32 }
ProgressUpdateRequest contains information about progress update.
type RenameRequest ¶
RenameRequest requests renaming of a node.
type RunCommandRequest ¶
type SearchRequest ¶
type SearchRequest struct {
Text string
}
SearchRequest is used to search for nodes. All Terms must be found in a filename to match it.
type SetPasswordRequest ¶
SetPasswordRequest is used for changing passwords.
type SettingsResponse ¶
type SettingsResponse struct { NamedCommands []struct { ID string // ID of the command Entry string // Name of the entry in the action menu ContentTypes []string // List of applicable content types } }
SettingsResponse is returned by QuerySettings().