Add dependency injection
This commit is contained in:
@@ -3,13 +3,14 @@ package main
|
||||
import (
|
||||
"fmt"
|
||||
"password/account"
|
||||
"password/files"
|
||||
|
||||
"github.com/fatih/color"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println("__Менеджер паролей__")
|
||||
vault := account.NewVault()
|
||||
vault := account.NewVault(files.NewJsonDb("data.json"))
|
||||
Menu:
|
||||
for {
|
||||
variant := getMenu()
|
||||
@@ -37,7 +38,7 @@ func getMenu() int {
|
||||
return variant
|
||||
}
|
||||
|
||||
func findAccount(vault *account.Vault) {
|
||||
func findAccount(vault *account.VaultWithDb) {
|
||||
url := account.PromptData("Введите URL для поиска: ")
|
||||
accounts := vault.FindAccountsByUrl(url)
|
||||
if len(accounts) == 0 {
|
||||
@@ -48,7 +49,7 @@ func findAccount(vault *account.Vault) {
|
||||
}
|
||||
}
|
||||
|
||||
func deleteAccount(vault *account.Vault) {
|
||||
func deleteAccount(vault *account.VaultWithDb) {
|
||||
url := account.PromptData("Введите URL для поиска: ")
|
||||
isDeleted := vault.DeleteAccountByUrl(url)
|
||||
if isDeleted {
|
||||
@@ -58,16 +59,15 @@ func deleteAccount(vault *account.Vault) {
|
||||
}
|
||||
}
|
||||
|
||||
func createAccount(vault *account.Vault) {
|
||||
func createAccount(vault *account.VaultWithDb) {
|
||||
login := account.PromptData("Введите логин: ")
|
||||
password := account.PromptData("Введите пароль: ")
|
||||
url := account.PromptData("Введите URL: ")
|
||||
|
||||
myAccount, err := account.NewAccount(login, password, url)
|
||||
if err != nil {
|
||||
fmt.Println("ОШИБКА: Неверный формат URL")
|
||||
fmt.Println("ОШИБКА: Неверный формат URL или Login")
|
||||
return
|
||||
}
|
||||
vault = account.NewVault()
|
||||
vault.AddAccount(*myAccount)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user