chore: seed a PIN-ready test customer (+919000001234 / 1234)
scratch/seed_pin_customer.go (//go:build ignore, idempotent) — one customer with PIN 1234 already set, for testing the interim /customer/auth/verify-pin flow. Phone stored in normalised +91 form so CxPinLogin/CxVerifyPin find it. Run against live: appcustomerid 300. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WRaFH5hMRqmUQvVPQsyjZD
This commit is contained in:
70
scratch/seed_pin_customer.go
Normal file
70
scratch/seed_pin_customer.go
Normal file
@@ -0,0 +1,70 @@
|
||||
//go:build ignore
|
||||
|
||||
// seed_pin_customer.go — one ready-to-use customer for testing the interim PIN
|
||||
// login flow: phone +919000001234, PIN 1234, already set. Idempotent (re-running
|
||||
// just re-asserts the PIN to 1234).
|
||||
//
|
||||
// The phone is stored in NORMALISED +91 form, because CxPinLogin/CxVerifyPin
|
||||
// normalise the entered number to +91 before the DB lookup — a bare 10-digit
|
||||
// row would never be found.
|
||||
//
|
||||
// Run: go run scratch/seed_pin_customer.go
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"doormile/config"
|
||||
"doormile/db"
|
||||
"doormile/models"
|
||||
"doormile/utils"
|
||||
|
||||
"github.com/joho/godotenv"
|
||||
)
|
||||
|
||||
func main() {
|
||||
_ = godotenv.Load()
|
||||
cfg := config.Load()
|
||||
db.Connect(cfg)
|
||||
if db.DB == nil {
|
||||
log.Fatal("DB connection is nil")
|
||||
}
|
||||
|
||||
const phone = "+919000001234" // customer types 9000001234; it normalises to this
|
||||
pinHash, err := utils.HashPassword("1234")
|
||||
if err != nil {
|
||||
log.Fatalf("hash: %v", err)
|
||||
}
|
||||
|
||||
var c models.AppCustomer
|
||||
if db.DB.Where("phone = ?", phone).First(&c).Error != nil {
|
||||
c = models.AppCustomer{
|
||||
Firstname: "Test",
|
||||
Lastname: "PinCustomer",
|
||||
Phone: phone,
|
||||
Email: "test.pin@doormile.in",
|
||||
Loginpinhash: pinHash,
|
||||
Defaultlatitude: 11.0168,
|
||||
Defaultlongitude: 76.9558,
|
||||
Defaultpincode: "641012",
|
||||
Status: "Active",
|
||||
Configid: 1001,
|
||||
}
|
||||
if err := db.DB.Create(&c).Error; err != nil {
|
||||
log.Fatalf("create: %v", err)
|
||||
}
|
||||
fmt.Println("created customer with PIN 1234")
|
||||
} else {
|
||||
c.Loginpinhash = pinHash
|
||||
c.Status = "Active"
|
||||
if err := db.DB.Save(&c).Error; err != nil {
|
||||
log.Fatalf("update: %v", err)
|
||||
}
|
||||
fmt.Println("customer already existed — PIN re-asserted to 1234")
|
||||
}
|
||||
|
||||
fmt.Printf("\n✅ ready: appcustomerid=%d phone=%s login-as=9000001234 pin=1234\n",
|
||||
c.Appcustomerid, c.Phone)
|
||||
}
|
||||
Reference in New Issue
Block a user