CLI: Restore user accounts on demand #98

Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
Michael Mayer
2023-02-20 20:24:04 +01:00
parent 5f808cddb4
commit 7c63a86f80
8 changed files with 115 additions and 27 deletions

View File

@@ -58,3 +58,24 @@ func (m *User) SetValuesFromCli(ctx *cli.Context) error {
return m.Validate()
}
// RestoreFromCli restored the account from a CLI context.
func (m *User) RestoreFromCli(ctx *cli.Context, newPassword string) (err error) {
m.DeletedAt = nil
// Set values.
if err = m.SetValuesFromCli(ctx); err != nil {
return err
}
// Save values.
if err = m.Save(); err != nil {
return err
} else if newPassword == "" {
return nil
} else if err = m.SetPassword(newPassword); err != nil {
return err
}
return nil
}