Files
Hyperia/server/db/db.go
2025-10-03 11:44:00 -05:00

58 lines
1.1 KiB
Go

package db
import (
"encoding/json"
"errors"
"fmt"
"log"
"os"
// "github.com/alexedwards/argon2id"
)
type User struct {
Email string `json:"email"`
Password string `json:"password"`
// Other fields as needed
}
var DB map[string]User
type GetService struct{}
var Get = GetService{}
func (g GetService) UserByEmail(email string) (map[string]interface{}, error) {
for key, value := range DB {
if value.Email == email {
log.Println("found")
return map[string]interface{}{
"key": key,
"email": value.Email,
"password": value.Password,
}, nil
}
fmt.Printf("Key: %s, Value: %v\n", key, value)
}
return nil, errors.New("user not found")
}
func InitDB() error {
file, err := os.Open("../db/users.json")
if err != nil {
fmt.Println("Error opening file:", err)
return errors.New("Failed to read db")
}
defer file.Close()
var result map[string]User
err = json.NewDecoder(file).Decode(&result)
if err != nil {
fmt.Println("Error decoding JSON:", err)
return errors.New("failed to decode db")
}
DB = result
return nil
}