Skip to content

feat(wave): add per-repo budget override in admin panel#1889

Open
jtourkos wants to merge 3 commits into
mainfrom
feat/wave-repo-budget-override
Open

feat(wave): add per-repo budget override in admin panel#1889
jtourkos wants to merge 3 commits into
mainfrom
feat/wave-repo-budget-override

Conversation

@jtourkos
Copy link
Copy Markdown
Collaborator

Summary

Add the ability for admins with managePoints permission to set or remove a per-repo budget override from the wave admin repos panel.

Changes

  • Schema: Added pointsBudgetOverride field to waveProgramRepoWithDetailsDtoSchema
  • API functions: Added setRepoBudgetOverride (PUT) and removeRepoBudgetOverride (DELETE) in wavePrograms.ts
  • Permissions: Added managePoints permission check to repos layout guard
  • UI: Added budget override button on repo cards (shows current override value when set)
  • Modal: New budget-override-modal.svelte for setting/removing overrides with validation and error handling

Files Changed

File Change
src/lib/utils/wave/types/waveProgram.ts Modified — added pointsBudgetOverride to schema
src/lib/utils/wave/wavePrograms.ts Modified — added two API functions
src/routes/.../admin/repos/+layout.ts Modified — added managePoints permission
src/routes/.../admin/repos/repos/+page.svelte Modified — added budget button to repo cards
src/routes/.../admin/repos/components/budget-override-modal.svelte Added — new modal component

Testing

Manual testing in the admin panel — verify the budget button appears for users with managePoints permission, modal opens, and set/remove operations work.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an admin-facing per-repo “points budget override” control to the Wave admin repos panel, gated by the managePoints permission, so budgets can be set/cleared on a per-repository basis.

Changes:

  • Extend WaveProgramRepoWithDetailsDto schema to include pointsBudgetOverride.
  • Add Wave API helpers to set/remove a repo budget override.
  • Update admin repos route guard and UI to expose a “Budget” action and new modal for editing/removing overrides.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/lib/utils/wave/types/waveProgram.ts Adds pointsBudgetOverride to the repo-with-details DTO schema.
src/lib/utils/wave/wavePrograms.ts Adds PUT/DELETE helpers for budget override endpoints.
src/routes/(pages)/wave/(base-layout)/admin/repos/+layout.ts Allows access to the admin repos area for managePoints users and passes canManagePoints to pages.
src/routes/(pages)/wave/(base-layout)/admin/repos/repos/+page.svelte Adds “Budget” button on repo cards when canManagePoints is true.
src/routes/(pages)/wave/(base-layout)/admin/repos/components/budget-override-modal.svelte New modal to set/remove the per-repo budget override.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Align hasExistingOverride to use `!= null` consistently with the repo
card button, and replace parseInt with Number() + isInteger validation
to prevent silent truncation of decimal or exponent input.
@jtourkos jtourkos requested a review from efstajas April 22, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants