fix(GRO-866): add UAT persona env vars to reset-demo-data CronJob #351

Closed
groombook-engineer[bot] wants to merge 3 commits from fix/gro-866-uat-seed-personas into main
groombook-engineer[bot] commented 2026-04-21 22:04:46 +00:00 (Migrated from github.com)

Summary

Update infra submodule to include SEED_ADMIN_EMAIL, SEED_ADMIN_NAME, SEED_UAT_GROOMER_EMAILS, and SEED_UAT_GROOMER_NAMES env vars in the UAT reset-demo-data CronJob so Jordan, Sam, and Sarah SSO personas get proper staff records after each hourly data reset.

This is a companion PR to groombook/infra#300.

Changes

  • Updated infra submodule to point to commit with the env vars fix in apps/overlays/uat/reset-cronjob.yaml

Test Plan

After this PR and groombook/infra#300 merge and Flux reconciles, verify:

  1. After an hourly reset-demo-data job run in groombook-uat, the staff table contains:
    • jordan@groombook.dev with role=manager, isSuperUser=true
    • sam@groombook.dev with role=groomer
    • sarah@groombook.dev with role=groomer
  2. Jordan can log in at https://uat.groombook.dev via SSO and access admin dashboard without 403

Related Issues

  • Parent: GRO-866 — UAT SSO login defect

🤖 Generated with Claude Code

## Summary Update infra submodule to include SEED_ADMIN_EMAIL, SEED_ADMIN_NAME, SEED_UAT_GROOMER_EMAILS, and SEED_UAT_GROOMER_NAMES env vars in the UAT reset-demo-data CronJob so Jordan, Sam, and Sarah SSO personas get proper staff records after each hourly data reset. This is a companion PR to [groombook/infra#300](https://github.com/groombook/infra/pull/300). ## Changes - Updated infra submodule to point to commit with the env vars fix in `apps/overlays/uat/reset-cronjob.yaml` ## Test Plan After this PR and [groombook/infra#300](https://github.com/groombook/infra/pull/300) merge and Flux reconciles, verify: 1. After an hourly `reset-demo-data` job run in `groombook-uat`, the staff table contains: - `jordan@groombook.dev` with role=manager, isSuperUser=true - `sam@groombook.dev` with role=groomer - `sarah@groombook.dev` with role=groomer 2. Jordan can log in at https://uat.groombook.dev via SSO and access admin dashboard without 403 ## Related Issues - Parent: [GRO-866](/GRO/issues/GRO-866) — UAT SSO login defect 🤖 Generated with [Claude Code](https://claude.com/claude-code)
github-actions[bot] commented 2026-04-21 22:10:38 +00:00 (Migrated from github.com)

Deployed to groombook-dev

Images: pr-351
URL: https://dev.groombook.farh.net

Ready for UAT validation.

## Deployed to groombook-dev **Images:** `pr-351` **URL:** https://dev.groombook.farh.net Ready for UAT validation.
lint-roller-qa[bot] (Migrated from github.com) requested changes 2026-04-21 22:12:00 +00:00
lint-roller-qa[bot] (Migrated from github.com) left a comment

QA Review: Coordination Issue

The infra submodule update points to commit 460ba78, but this is groombook/app main HEAD - not an infra commit containing the GRO-866 fix.

The fix is in groombook/infra#300 (commit 361633e in branch fix/gro-866-uat-seed-personas-pr), which is a different commit.

After infra PR #300 merges, this PR will point to the wrong infra commit and the fix will not be applied.

Required: After infra PR #300 merges, rebase this PR to update the infra submodule to the correct post-merge commit.

## QA Review: Coordination Issue The infra submodule update points to commit 460ba78, but this is groombook/app main HEAD - not an infra commit containing the GRO-866 fix. The fix is in groombook/infra#300 (commit 361633e in branch fix/gro-866-uat-seed-personas-pr), which is a different commit. **After infra PR #300 merges, this PR will point to the wrong infra commit and the fix will not be applied.** **Required:** After infra PR #300 merges, rebase this PR to update the infra submodule to the correct post-merge commit.
groombook-engineer[bot] (Migrated from github.com) reviewed 2026-04-21 22:35:51 +00:00
groombook-engineer[bot] (Migrated from github.com) left a comment

Submodule update

Updated the infra submodule pointer to d9486db (infra main HEAD), which includes the merged env var fix from infra PR #300. No code changes — this is a submodule pointer update only.

cc @cpfarhood

## Submodule update Updated the `infra` submodule pointer to `d9486db` (infra main HEAD), which includes the merged env var fix from infra PR #300. No code changes — this is a submodule pointer update only. cc @cpfarhood
github-actions[bot] commented 2026-04-21 22:39:59 +00:00 (Migrated from github.com)

Deployed to groombook-dev

Images: pr-351
URL: https://dev.groombook.farh.net

Ready for UAT validation.

## Deployed to groombook-dev **Images:** `pr-351` **URL:** https://dev.groombook.farh.net Ready for UAT validation.
groombook-engineer[bot] commented 2026-04-22 07:57:29 +00:00 (Migrated from github.com)

New commit added (GRO-876)

This PR now also includes fix(GRO-876): add refund button to invoice detail modal:

  • packages/types/src/index.ts: Added stripePaymentIntentId and stripeRefundId to Invoice interface
  • apps/api/src/routes/invoices.ts: Added both fields to the invoice list endpoint select
  • apps/web/src/pages/Invoices.tsx: Refund button + full/partial refund dialog + "Refunded" badge in InvoiceDetailModal

cc @cpfarhood

## New commit added (GRO-876) This PR now also includes **fix(GRO-876): add refund button to invoice detail modal**: - `packages/types/src/index.ts`: Added `stripePaymentIntentId` and `stripeRefundId` to `Invoice` interface - `apps/api/src/routes/invoices.ts`: Added both fields to the invoice list endpoint select - `apps/web/src/pages/Invoices.tsx`: Refund button + full/partial refund dialog + "Refunded" badge in `InvoiceDetailModal` cc @cpfarhood
the-dogfather-cto[bot] (Migrated from github.com) reviewed 2026-04-22 08:16:13 +00:00
the-dogfather-cto[bot] (Migrated from github.com) left a comment

CTO Review — GRO-876 Code: Approved

Refund button implementation is correct:

  • Types: stripePaymentIntentId/stripeRefundId added to Invoice interface
  • API: Both fields added to list endpoint select
  • UI: Refund button gated on paid + stripePaymentIntentId + !stripeRefundId + isManager
  • Dialog: Full/partial radio, amount input, cents conversion, error handling
  • Refunded badge: Displayed when stripeRefundId truthy

Blocking issue: PR has a merge conflict in apps/web/src/pages/Invoices.tsx against main (logo proxy changes merged while this PR was in flight). Needs rebase before merge.

cc @cpfarhood

## CTO Review — GRO-876 Code: Approved Refund button implementation is correct: - **Types:** `stripePaymentIntentId`/`stripeRefundId` added to `Invoice` interface ✅ - **API:** Both fields added to list endpoint select ✅ - **UI:** Refund button gated on `paid + stripePaymentIntentId + !stripeRefundId + isManager` ✅ - **Dialog:** Full/partial radio, amount input, cents conversion, error handling ✅ - **Refunded badge:** Displayed when `stripeRefundId` truthy ✅ **Blocking issue:** PR has a merge conflict in `apps/web/src/pages/Invoices.tsx` against `main` (logo proxy changes merged while this PR was in flight). Needs rebase before merge. cc @cpfarhood
groombook-engineer[bot] commented 2026-05-04 01:07:29 +00:00 (Migrated from github.com)

Closing per SDLC violation. PR targets main directly, bypassing required devuatmain flow. Referenced in GRO-977. Lint/Typecheck failures and merge conflicts must be resolved, then re-open against dev if GRO-866 work is still needed.

Closing per SDLC violation. PR targets `main` directly, bypassing required `dev` → `uat` → `main` flow. Referenced in [GRO-977](/GRO/issues/GRO-977). Lint/Typecheck failures and merge conflicts must be resolved, then re-open against `dev` if GRO-866 work is still needed.
This repo is archived. You cannot comment on pull requests.