The GitHub Actions job "Required Checks" on texera.git/main has failed.
Run started by GitHub user github-merge-queue[bot] (triggered by 
github-merge-queue[bot]).

Head commit for run:
b6c434e56cfd97446f176f42cadff4343f53eaa4 / Meng Wang <[email protected]>
feat(frontend): add the per-user warehouse API client (#7820)

### What changes were proposed in this PR?

The client half of the warehouse dashboard tab: the HTTP client for the
warehouse endpoints and the actions service that owns create and delete
on top of it. No UI renders any of this yet — it is the first of three
parts of #6933, split so each lands as one reviewable change.

- **`DashboardWarehouse` / `WarehouseStatus`** — the wire types,
mirroring what `WarehouseResource` returns: the display name, the
id-derived Lakekeeper catalog name (#7753), flavor, creation time, and
the owner fields (#7743), which are nullable because a user need not
have set a name or an avatar.
- **`WarehouseService`** — `GET /warehouse/status`, `POST /warehouse`,
`DELETE /warehouse/{whid}`. The status call answers both questions the
UI has in one round trip: whether the deployment enables the feature,
and which warehouses the caller owns.
- **`WarehouseActionsService`** — mirrors `ComputingUnitActionsService`:
create and delete sit behind one service so the confirm dialog and its
wording live in one place, shared by the dashboard tab and, later, the
workspace picker (#7817). Its delete keeps the dialog busy until the
request settles, because deleting a warehouse that holds data waits out
Lakekeeper's asynchronous purge (#7742) — seconds, not milliseconds —
and closing the dialog eagerly would read as a frozen row.

With the per-user warehouse flag off, which is every deployment today,
nothing calls any of this.

### Any related issues, documentation, discussions?

Part of #6933 (first of three: API client, then the dialogs and row
card, then the page that assembles them). Part of #6870, and consumes
the merged backend: the endpoints (#6932), the owner fields (#7743), the
id-derived catalog name (#7753) and the purge-aware delete (#7742).

### How was this PR tested?

- Vitest specs for both services: the three endpoints and their URLs,
the confirm dialog's shape, that nothing is deleted before confirmation,
that the dialog stays busy until the request settles, and that a failure
is reported without running the caller's refresh callback. 7 tests
across 2 files.
  - Whole suite as CI runs it: `yarn test:ci`
- Just this change: `ng test --watch=false --include
"src/app/common/service/warehouse/*.spec.ts"`
- Failure paths verified rather than assumed: each behaviour was broken
on purpose and the suite confirmed to fail for the expected reason
before being restored.
- Exercised end to end against a local deployment with the flag on,
backed by live Lakekeeper and MinIO: create, list, and delete, including
a warehouse holding execution data.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (claude-opus-5, claude-fable-5)

Report URL: https://github.com/apache/texera/actions/runs/33010118947

With regards,
GitHub Actions via GitBox

Reply via email to