ops: add dockerfile, makefile and cli tools

This commit is contained in:
2026-04-06 07:03:52 +02:00
parent 1ab6f57aa4
commit ab6b0b8840
5 changed files with 290 additions and 0 deletions

46
cmd/create-user/main.go Normal file
View File

@@ -0,0 +1,46 @@
package main
import (
"context"
"database/sql"
"flag"
"fmt"
"log"
"os"
_ "github.com/mattn/go-sqlite3"
"malago/internal/auth"
"malago/internal/database"
)
func main() {
email := flag.String("email", "", "Email/Username for the new user")
password := flag.String("password", "", "Password for the new user")
flag.Parse()
if *email == "" || *password == "" {
fmt.Println("Usage: make create-user EMAIL=user@example.com PASSWORD=secret")
fmt.Println("Or : go run ./cmd/create-user -email=user@example.com -password=secret")
os.Exit(1)
}
db, err := sql.Open("sqlite3", "malago.db")
if err != nil {
log.Fatalf("failed to open db: %v", err)
}
defer db.Close()
queries := database.New(db)
authService := auth.NewService(queries)
ctx := context.Background()
// Try to create the user
user, err := authService.RegisterUser(ctx, *email, *password)
if err != nil {
log.Fatalf("Failed to create user: %v", err)
}
fmt.Printf("Successfully created user: %s (ID: %s)\n", user.Username, user.ID)
}