# Users Interfaces for user entities, covering base properties, authentication fields, company associations, relations, and foreign keys. ## Key Files - **`IAcUserBase.cs`** — Core user interface with `FullName`, `PhoneNumber`, `RefreshToken`, `RefferalId`, email, password, and timestamps. - **`IAcUser.cs`** — Full user interface generic over profile, company, and address types. - **`IAcEmailAddress.cs`** — Defines an `EmailAddress` string property with max length 150. - **`IPassword.cs`** — Defines a `Password` string property. - **`IEmailConfirmed.cs`** — Defines an `EmailConfirmed` boolean property. - **`IAcUserTokenBase.cs`** — User token interface with `Token`, `TokenSent`, `TokenExpiration`, and `IsActive`. - **`IAcUserRelation.cs`** — Navigation property for entities holding a `User` reference. - **`IAcUsersRelation.cs`** — Navigation property for `Users` and `UserToServiceProviders` collections. - **`IAcUserToCompanyBase.cs`** — Base user-to-company join with `Permissions`, user/company foreign keys. - **`IAcUserToCompany.cs`** — Generic join entity with `User` and `Company` navigation properties. - **`IAcUserToServiceProviderRelation.cs`** — Relation linking a user to a service provider. - **`IAcUserModelDtoMinBase.cs`** — Minimal user model DTO marker extending `IAcModelDtoBase`. - **`IAcUserForeignKey.cs`** — Foreign key contract exposing `UserId` (Guid). --- > **LLM Maintenance:** If you modify code in this folder, update this README to reflect the changes. If you notice the README content does not match the current code, automatically update the README to match the code.