Logo
Explore Help
Sign In
MasterMito/work-club-manager
1
0
Fork 0
You've already forked work-club-manager
Code Issues 1 Pull Requests Actions Packages Projects Releases 1 Wiki Activity
Files
def0331b216d9403cf842113fc64bca40a02b0ea
work-club-manager/backend/WorkClub.Application/Shifts/DTOs/CreateShiftRequest.cs

12 lines
239 B
C#
Raw Normal View History

feat(shifts): add Shift CRUD API with sign-up/cancel and capacity management - ShiftService with 7 methods: list, detail, create, update, delete, signup, cancel - 5 DTOs: ShiftListDto, ShiftDetailDto, CreateShiftRequest, UpdateShiftRequest, ShiftSignupDto - Minimal API endpoints: GET /api/shifts, GET /api/shifts/{id}, POST, PUT, DELETE, POST /signup, DELETE /signup - Capacity validation: sign-up rejected when full → 409 Conflict - Past shift blocking: cannot sign up for past shifts → 422 Unprocessable - Duplicate signup prevention: check existing before create → 409 Conflict - Concurrency: 2-attempt retry loop for last-slot race conditions - Authorization: POST/PUT (Manager+), DELETE (Admin), signup/cancel (Member+) - Test infrastructure: Added X-Test-UserId header support for member ID injection - 13 TDD integration tests: CRUD, sign-up, capacity, past shift, concurrency - Build: 0 errors (6 BouncyCastle warnings expected) Task 15 complete. Wave 3: 3/5 tasks done.
2026-03-03 19:30:23 +01:00
namespace WorkClub.Application.Shifts.DTOs;
public record CreateShiftRequest(
string Title,
string? Description,
string? Location,
DateTimeOffset StartTime,
DateTimeOffset EndTime,
int Capacity,
Guid ClubId
);
Reference in New Issue Copy Permalink
Powered by Gitea Version: 1.25.2 Page: 12ms Template: 0ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API