Version: v0.5.1 Latest Latest

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

Go to latest
Published: Sep 13, 2020 License: GPL-3.0 Imports: 26 Imported by: 0




View Source
const IdleTimeout = 20

Timeout (in seconds) for detecting idle connections (which are not closed but are hanging)


This section is empty.


This section is empty.


type AddKeyRequest added in v0.5.0

type AddKeyRequest struct {
	Passphrase string `json:"passphrase" form:"passphrase"`
	GPGKeyId   string `json:"gpg" form:"gpg"`

func (*AddKeyRequest) FromBody added in v0.5.0

func (p *AddKeyRequest) FromBody(c *gin.Context) (ok bool)

FromBody adds data to the object from a request

type ErrorResponse added in v0.5.0

type ErrorResponse struct {
	Error string `json:"error"`

type InfoResponse added in v0.5.1

type InfoResponse struct {
	Name       string `json:"name"`
	AppVersion string `json:"version,omitempty"`
	BuildID    string `json:"buildId,omitempty"`
	BuildTime  string `json:"buildTime,omitempty"`
	CommitHash string `json:"commitHash,omitempty"`
	Runtime    string `json:"runtime,omitempty"`
	Info       string `json:"info,omitempty"`
	ReadOnly   bool   `json:"readOnly,omitempty"`

type MetadataResponse added in v0.5.0

type MetadataResponse struct {
	FileId   string     `json:"fileId"`
	Folder   string     `json:"folder"`
	Name     string     `json:"name"`
	Date     *time.Time `json:"date,omitempty"`
	MimeType string     `json:"mimeType,omitempty"`
	Size     int64      `json:"size,omitempty"`

type RepoInfoResponse added in v0.5.1

type RepoInfoResponse struct {
	Version   uint16 `json:"version"`
	FileCount int    `json:"files"`

type RepoKeyListItem added in v0.5.0

type RepoKeyListItem struct {
	KeyId string `json:"keyId"`
	Type  string `json:"type"`
	UID   string `json:"uid,omitempty"`

type RepoKeyListResponse added in v0.5.0

type RepoKeyListResponse struct {
	Keys []RepoKeyListItem `json:"keys"`

type Server

type Server struct {
	Store     fs.Fs
	Verbose   bool
	Repo      *repository.Repository
	Infofile  *infofile.InfoFile
	LogWriter io.Writer
	ReadOnly  bool

func (*Server) DeleteRepoKeyHandler added in v0.5.0

func (s *Server) DeleteRepoKeyHandler(c *gin.Context)

DeleteRepoKeyHandler is the handler for DELETE /api/repo/key/:keyId, which removes a key key

func (*Server) DeleteTreeHandler added in v0.3.0

func (s *Server) DeleteTreeHandler(c *gin.Context)

DeleteTreeHandler is the handler for DELETE /api/tree/:path, which removes an object The :path value must be an exact object, or must end with "/*" to remove a folder

func (*Server) FileHandler

func (s *Server) FileHandler(c *gin.Context)

FileHandler is the handler for GET /file/:fileId, which returns a (decrypted) file

func (*Server) GetInfoHandler added in v0.5.0

func (s *Server) GetInfoHandler(c *gin.Context)

GetInfoHandler is the handler for GET /api/info, which returns the info for the app

func (*Server) GetMetadataHandler added in v0.5.0

func (s *Server) GetMetadataHandler(c *gin.Context)

GetMetadataHandler is the handler for GET /api/metadata/:file, which returns the metadata for a file

func (*Server) GetRepoInfoHandler added in v0.5.1

func (s *Server) GetRepoInfoHandler(c *gin.Context)

GetInfoHandler is the handler for GET /api/repo/info, which returns info about the repository

func (*Server) GetRepoKeyHandler added in v0.5.0

func (s *Server) GetRepoKeyHandler(c *gin.Context)

GetRepoKeyHandler is the handler for GET /api/repo/key, which returns the list of keys allowed to unlock this repository

func (*Server) GetTreeHandler added in v0.3.0

func (s *Server) GetTreeHandler(c *gin.Context)

GetTreeHandler is the handler for GET /api/tree/:path, which returns the contents of a path

func (*Server) MiddlewareRequireInfoFileVersion added in v0.4.0

func (s *Server) MiddlewareRequireInfoFileVersion(version uint16) func(c *gin.Context)

MiddlewareRequireInfoFileVersion requires a minimum version of the info file to continue

func (*Server) MiddlewareRequireReadWrite added in v0.5.1

func (s *Server) MiddlewareRequireReadWrite(c *gin.Context)

MiddlewareRequireReadWrite disables a route that would edit the repository if we're operating in read-only mode

func (*Server) MiddlewareRequireRepo added in v0.5.0

func (s *Server) MiddlewareRequireRepo(c *gin.Context)

MiddlewareRequireRepo requires a repository to be selected (even if not unlocked)

func (*Server) MiddlewareRequireUnlock added in v0.5.0

func (s *Server) MiddlewareRequireUnlock(c *gin.Context)

MiddlewareRequireUnlock requires the repository to be unlocked before processing

func (*Server) PostRepoKeyHandler added in v0.5.0

func (s *Server) PostRepoKeyHandler(c *gin.Context)

PostRepoKeyHandler is the handler for POST /api/repo/key, which adds a new key

func (*Server) PostRepoSelectHandler added in v0.5.0

func (s *Server) PostRepoSelectHandler(c *gin.Context)

PostRepoSelectHandler is the handler for POST /api/repo/select, which selects a repository

func (*Server) PostRepoUnlockHandler added in v0.5.0

func (s *Server) PostRepoUnlockHandler(dryRun bool) func(c *gin.Context)

PostRepoUnlockHandler is the handler for POST /api/repo/unlock, which unlocks a repository The same handler is also used by POST /api/repo/keytest, which tests a key and returns its ID (essentially performing a "dry run" for the unlock operation)

func (*Server) PostTreeHandler added in v0.3.0

func (s *Server) PostTreeHandler(c *gin.Context)

PostTreeHandler is the handler for POST /api/tree/:path, which adds documents to the repository The path argument is the destination folder (just like the "-d" argument in the "prvt add" command) The post body can contain either one of: - One or more files transmitted in the request body, in the "file" field(s) - The path to a file or folder in the local filesystem, in the "localpath" field(s)

func (*Server) Start

func (s *Server) Start(ctx context.Context, address, port string) error

type TreeOperationResponse added in v0.5.0

type TreeOperationResponse struct {
	Path   string `json:"path"`
	Status string `json:"status"`
	FileId string `json:"fileId"`
	Error  string `json:"error,omitempty"`

type UnlockKeyRequest added in v0.5.0

type UnlockKeyRequest struct {
	Type       string `json:"type" form:"type"`
	Passphrase string `json:"passphrase" form:"passphrase"`

func (*UnlockKeyRequest) FromBody added in v0.5.0

func (p *UnlockKeyRequest) FromBody(c *gin.Context) (ok bool)

FromBody adds data to the object from a request

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL