25 lines
1.2 KiB
Markdown
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 |
|