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

25 lines
1.2 KiB
Markdown

# 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 |