Add func find on Login
This commit is contained in:
@@ -12,8 +12,9 @@ import (
|
||||
|
||||
var menu = map[string]func(*account.VaultWithDb){
|
||||
"1": createAccount,
|
||||
"2": findAccount,
|
||||
"3": deleteAccount,
|
||||
"2": findAccountByUrl,
|
||||
"3": findAccountByLogin,
|
||||
"4": deleteAccount,
|
||||
}
|
||||
|
||||
func main() {
|
||||
@@ -26,9 +27,10 @@ Menu:
|
||||
for {
|
||||
variant := PromptData([]string{
|
||||
"1. Создать аккаунт",
|
||||
"2. Найти аккаунт",
|
||||
"3. Удалить аккаунт",
|
||||
"4. Выход",
|
||||
"2. Найти аккаунт по URL",
|
||||
"3. Найти аккаунт по логину",
|
||||
"4. Удалить аккаунт",
|
||||
"5. Выход",
|
||||
"Выберите вариант",
|
||||
})
|
||||
menuFunc := menu[variant]
|
||||
@@ -49,16 +51,29 @@ Menu:
|
||||
}
|
||||
}
|
||||
|
||||
func findAccount(vault *account.VaultWithDb) {
|
||||
func findAccountByUrl(vault *account.VaultWithDb) {
|
||||
url := PromptData([]string{"Введите URL для поиска"})
|
||||
// Анонимная функция как параметр
|
||||
accounts := vault.FindAccounts(url, func(acc account.Account, str string) bool {
|
||||
return strings.Contains(acc.Url, str)
|
||||
})
|
||||
if len(accounts) == 0 {
|
||||
outputResults(&accounts)
|
||||
}
|
||||
|
||||
func findAccountByLogin(vault *account.VaultWithDb) {
|
||||
login := PromptData([]string{"Введите Login для поиска"})
|
||||
// Анонимная функция как параметр
|
||||
accounts := vault.FindAccounts(login, func(acc account.Account, str string) bool {
|
||||
return strings.Contains(acc.Login, str)
|
||||
})
|
||||
outputResults(&accounts)
|
||||
}
|
||||
|
||||
func outputResults(accounts *[]account.Account) {
|
||||
if len(*accounts) == 0 {
|
||||
color.Red("Аккаунт не найден!")
|
||||
}
|
||||
for _, account := range accounts {
|
||||
for _, account := range *accounts {
|
||||
account.Output()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user