Add func read and write to JSON

This commit is contained in:
Archie Fox
2025-03-08 21:18:39 +03:00
parent 26e125577d
commit f45e200c6e
6 changed files with 120 additions and 27 deletions

View File

@@ -3,14 +3,56 @@ package main
import (
"fmt"
"password/account"
"password/files"
"github.com/fatih/color"
)
func main() {
createdAccount()
fmt.Println("__Менеджер паролей__")
vault := account.NewVault()
Menu:
for {
variant := getMenu()
switch variant {
case 1:
createAccount(vault)
case 2:
findAccount(vault)
case 3:
deleteAccount()
default:
break Menu
}
}
}
func createdAccount() {
func getMenu() int {
var variant int
fmt.Println("Выберите вариант:")
fmt.Println("1. Создать аккаунт")
fmt.Println("2. Найти аккаунт")
fmt.Println("3. Удалить аккаунт")
fmt.Println("4. Выход")
fmt.Scan(&variant)
return variant
}
func findAccount(vault *account.Vault) {
url := account.PromptData("Введите URL для поиска: ")
accounts := vault.FindAccountsByUrl(url)
if len(accounts) == 0 {
color.Red("Аккаунт не найден!")
}
for _, account := range accounts {
account.Output()
}
}
func deleteAccount() {
}
func createAccount(vault *account.Vault) {
login := account.PromptData("Введите логин: ")
password := account.PromptData("Введите пароль: ")
url := account.PromptData("Введите URL: ")
@@ -20,10 +62,6 @@ func createdAccount() {
fmt.Println("ОШИБКА: Неверный формат URL")
return
}
file, err := myAccount.ToBytes()
if err != nil {
fmt.Println("Не удалось преобразовать в JSON")
return
}
files.FileWrite(file, "data.json")
vault = account.NewVault()
vault.AddAccount(*myAccount)
}