AyCode.Core/AyCode.Interfaces.Server/README.md

25 lines
1.3 KiB
Markdown

# AyCode.Interfaces.Server
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 |
---
> **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.