better default admin creation

This commit is contained in:
SowinskiBraeden committed 2022-06-06 13:37:03 -07:00
1 parent f8ff2cf90e
commit 52e1c0fb5b
2 files changed
+33 -8

No files matched your search

+32 -7
View File
@@ -26,14 +26,20 @@ var studentCollection *mongo.Collection = database.OpenCollection(database.Clien
var contactCollection *mongo.Collection = database.OpenCollection(database.Client, "contacts") var contactCollection *mongo.Collection = database.OpenCollection(database.Client, "contacts")
var adminCollection *mongo.Collection = database.OpenCollection(database.Client, "admins") var adminCollection *mongo.Collection = database.OpenCollection(database.Client, "admins")
func NewSystem() { func confirm(s string) bool {
count, err := adminCollection.CountDocuments(context.Background(), bson.D{}) r := bufio.NewReader(os.Stdin)
fmt.Printf("%s [y/n]: ", s)
res, err := r.ReadString('\n')
if err != nil { if err != nil {
fmt.Println("Unable to detect new system") log.Fatal(err)
} }
if count == 0 { return strings.ToLower(strings.TrimSpace(res))[0] == 'y'
fmt.Println("Admin account setup...") }
func CreateDefaultAdmin() models.Admin {
fmt.Println()
reader := bufio.NewReader(os.Stdin) reader := bufio.NewReader(os.Stdin)
fmt.Print("First Name: ") fmt.Print("First Name: ")
firstname, _ := reader.ReadString('\n') firstname, _ := reader.ReadString('\n')
@@ -73,13 +79,32 @@ func NewSystem() {
admin.Updated_at, _ = time.Parse(time.RFC3339, time.Now().Format(time.RFC3339)) admin.Updated_at, _ = time.Parse(time.RFC3339, time.Now().Format(time.RFC3339))
admin.ID = primitive.NewObjectID() admin.ID = primitive.NewObjectID()
_, insertErr := adminCollection.InsertOne(context.Background(), admin) return admin
}
func NewSystem() {
count, err := adminCollection.CountDocuments(context.Background(), bson.D{})
if err != nil {
fmt.Println("Unable to detect new system")
}
if count == 0 {
fmt.Println("Admin account setup...")
for {
defaultAdmin := CreateDefaultAdmin()
if confirm("Are the above credentials correct?") {
_, insertErr := adminCollection.InsertOne(context.Background(), defaultAdmin)
if insertErr != nil { if insertErr != nil {
log.Printf("Failed to create an admin\n") log.Printf("Failed to create an admin\n")
} }
log.Printf("Successfully created default admin") log.Printf("Successfully created default admin")
log.Printf("Your default admin ID is %s", aid) log.Printf("Your default admin ID is %s", defaultAdmin.AID)
break
}
}
} }
} }
+1 -1
View File
@@ -11,7 +11,7 @@ import (
"github.com/gofiber/fiber/v2/middleware/cors" "github.com/gofiber/fiber/v2/middleware/cors"
) )
const version string = "\nv0.8.9-Alpha" const version string = "\nv0.9.0-Alpha"
func main() { func main() {
fmt.Println(version) fmt.Println(version)