Phase 3: Budget and sharing API

- Add BudgetsController: list (owner + shared), create, get, rename, delete
- Add BudgetAuthorizationService: Owner / Edit / View / None access levels
- Add SharesController: list, add (resolves KnownUser immediately), update permission, revoke
- Register BudgetAuthorizationService as scoped service
- Add BudgetDto, ShareDto, and associated request DTOs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Spencer Twaddle
2026-04-25 07:55:07 -05:00
parent ae21da6a81
commit 963e511287
6 changed files with 220 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
using Budget.Api.Models;
namespace Budget.Api.DTOs;
public record ShareDto(Guid Id, string? SharedWithUserId, string SharedWithEmail, SharePermission Permission, bool IsPending, DateTimeOffset CreatedAt);
public record CreateShareRequest(string Email, SharePermission Permission);
public record UpdateShareRequest(SharePermission Permission);