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
1117cf2004ea42dcb5cf0465d5073155c129a4f3
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: 14ms Template: 1ms
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