main pico / cmd / scripts / feature-flag / main.go
Eric Bower  ·  2026-08-17
 1package main
 2
 3import (
 4	"log/slog"
 5	"os"
 6
 7	"github.com/picosh/pico/pkg/db/postgres"
 8)
 9
10func main() {
11	logger := slog.Default()
12	DbURL := os.Getenv("DATABASE_URL")
13	dbpool := postgres.NewDB(DbURL, logger)
14
15	args := os.Args
16	if len(args) < 3 {
17		logger.Error("usage: go run ./cmd/scripts/feature-flag <username> <feature>")
18		os.Exit(1)
19	}
20
21	username := args[1]
22	feature := args[2]
23
24	logger.Info(
25		"Adding feature flag to user",
26		"username", username,
27		"feature", feature,
28	)
29
30	err := dbpool.AddFeatureUser(username, feature)
31	if err != nil {
32		logger.Error("Failed to add feature flag to user", "err", err)
33		os.Exit(1)
34	} else {
35		logger.Info("Successfully added feature flag to user")
36	}
37}