From 5a8750e637aaafeeab10932ef3f23bcfb786e22b Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sun, 18 Oct 2020 15:19:16 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20commands=20to=20remove=20logi?= =?UTF-8?q?ns=20and=20users?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd_share.go | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/cmd_share.go b/cmd_share.go index 109c2a1..f12a897 100644 --- a/cmd_share.go +++ b/cmd_share.go @@ -34,11 +34,13 @@ import ( ) type CmdShare struct { - CmdList CmdShareList `cmd:"" name:"list" help:"List all shares."` - CmdCreate CmdShareCreate `cmd:"" name:"create" help:"Create a new share."` - CmdDelete CmdShareDelete `cmd:"" name:"delete" help:"Delete a share."` - CmdAddUser CmdShareAddUser `cmd:"" name:"add-user" help:"Add user to share."` - CmdAddLogin CmdShareAddLogin `cmd:"" name:"add-login" help:"Add login to share."` + CmdList CmdShareList `cmd:"" name:"list" help:"List all shares."` + CmdCreate CmdShareCreate `cmd:"" name:"create" help:"Create a new share."` + CmdDelete CmdShareDelete `cmd:"" name:"delete" help:"Delete a share."` + CmdAddUser CmdShareAddUser `cmd:"" name:"add-user" help:"Add user to share."` + CmdAddLogin CmdShareAddLogin `cmd:"" name:"add-login" help:"Add login to share."` + CmdRemoveUser CmdShareRemoveUser `cmd:"" name:"remove-user" help:"Remove user from share."` + CmdRemoveLogin CmdShareRemoveLogin `cmd:"" name:"remove-login" help:"Remove login from share."` } type CmdShareList struct{} @@ -142,7 +144,7 @@ func (cmd *CmdShareAddUser) Run(app *app) error { type CmdShareAddLogin struct { ShareIdentifier Username string `arg:"" name:"username" help:"Username of the user to add the login for."` - LoginName string `arg:"" name:"loginname" help:"Name f the login. Must be unique."` + LoginName string `arg:"" name:"loginname" help:"Name of the login. Must be unique."` ReadOnly bool `name:"readonly" help:"If set, the login can only read."` PasswordParam } @@ -166,3 +168,24 @@ func (cmd *CmdShareAddLogin) Run(app *app) error { return app.shareStore.AddLogin(share, cmd.Username, login) } + +type CmdShareRemoveUser struct { + ShareIdentifier + Username string `arg:"" name:"username" help:"Username of the user to remove."` +} + +func (cmd *CmdShareRemoveUser) Run(app *app) error { + share := Share{UUID: cmd.UUID} + return app.shareStore.RemoveUserFromShare(share, cmd.Username) +} + +type CmdShareRemoveLogin struct { + ShareIdentifier + Username string `arg:"" name:"username" help:"Username of the user to remove the login for."` + LoginName string `arg:"" name:"loginname" help:"Name of the login to remove."` +} + +func (cmd *CmdShareRemoveLogin) Run(app *app) error { + share := Share{UUID: cmd.UUID} + return app.shareStore.RemoveLogin(share, cmd.Username, cmd.LoginName) +}