# AyCode.Interfaces.Server @project { type = "framework" } Server-side interface contracts extending `AyCode.Interfaces`. Defines authentication and login service contracts that are only relevant on the server. ## Key Files ### Logins/ - **`IAcLoginDtoBase.cs`** — Empty marker interface for login DTOs. - **`IAcLoggedInModelBase.cs`** — Generic interface for the logged-in user model. Properties: `IsLoggedIn`, `LoggedInUser`, `AccessToken`, `LoginErrorCode`. Methods: `AddLoggedInUser()`, `Logout()`. Heavily constrained generics (`TUser`, `TUserToken`, `TProfile`, `TCompany`, `TUserToServiceProvider`, `TProfileAddress`). - **`IAcLoginServiceServer.cs`** — Server-side login service extending `IAcLoginServiceCommon`. Adds: `Login()`/`LoginAsync()` (returns `TResultLoggedInModel`), `UpdatePassword()`. Returns `AcErrorCode` for validation. ## Dependencies | Dependency | Purpose | |---|---| | `AyCode.Interfaces` | Base interface contracts (users, profiles, companies, logins) | | `AyCode.Core` | Error codes (`AcErrorCode`) | | `AyCode.Core.Server` | Server-side core | | `AyCode.Entities` | Entity base classes | | `AyCode.Entities.Server` | Server-side entities |