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
65e80ee3345d70d7c96e52fa0768a2208e4b58a3
work-club-manager/backend/WorkClub.Domain/Interfaces/ITenantEntity.cs

14 lines
364 B
C#
Raw Normal View History

feat(domain): add core entities — Club, Member, WorkItem, Shift with state machine - Create domain entities in WorkClub.Domain/Entities: Club, Member, WorkItem, Shift, ShiftSignup - Implement enums: SportType, ClubRole, WorkItemStatus - Add ITenantEntity interface for multi-tenancy support - Implement state machine validation on WorkItem with C# 14 switch expressions - Valid transitions: Open→Assigned→InProgress→Review→Done, Review→InProgress (rework) - All invalid transitions throw InvalidOperationException - TDD approach: Write tests first, 12/12 passing - Use required properties with explicit Guid/Guid? for foreign keys - DateTimeOffset for timestamps (timezone-aware, multi-tenant friendly) - RowVersion byte[] for optimistic concurrency control - No navigation properties yet (deferred to EF Core task) - No domain events or validation attributes (YAGNI for MVP)
2026-03-03 14:09:25 +01:00
namespace WorkClub.Domain.Interfaces;
/// <summary>
/// Marker interface for tenant-aware entities.
/// All domain entities must implement this to support multi-tenancy.
/// </summary>
public interface ITenantEntity
{
/// <summary>
/// Gets or sets the tenant ID (Finbuckle multi-tenant identifier).
/// </summary>
string TenantId { get; set; }
}
Reference in New Issue Copy Permalink
Powered by Gitea Version: 1.25.2 Page: 12ms 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