AyCode.Core/AyCode.Models
Loretta 17daf0fef2 Document AcBinary wire format, sync docs, update conventions
- Add BINARY_FORMAT.md: full AcBinary wire format spec (markers, encoding, options, protocol, interactions)
- Reference BINARY_FORMAT.md from GLOSSARY.md, Binaries/README.md, and Serializers/Binaries/README.md; add new glossary terms
- Clarify and expand config options tables to match new doc
- Add/clarify LLM maintenance rules: always sync .md files with code, auto-fix discrepancies
- Update root README.md: AyCode.Core targets .NET 9, not 10; stress doc/code sync
- Add code reuse and doc sync conventions to copilot-instructions.md and CONVENTIONS.md
- Add docs/ folder and BINARY_FORMAT.md to solution as Solution Items
- Minor clarifications and cross-links in ARCHITECTURE.md and other docs
2026-03-29 09:11:57 +02:00
..
Enums Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
Messages Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
Users Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
AcModelDtoBase.cs AcModels improvements... 2024-06-03 19:04:23 +02:00
AyCode.Models.csproj Add .targets file 2025-08-31 13:07:34 +02:00
README.md Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00

README.md

AyCode.Models

Shared DTOs (Data Transfer Objects) and view models for the AyCode platform. Bridges entities and interfaces into client/server-transferable models.

Folder Structure

Folder Purpose
Enums/ Message-related enums (content types, message types)
Messages/ Email message model (currently inactive)
Users/ User DTOs: minimal, standard, detail variants + password DTOs

Root Files

  • AcModelDtoBase.cs — Abstract base DTO with Guid Id. Generic version AcModelDtoBase<TMainEntity> adds CreateMainEntity() for DTO-to-entity instantiation via reflection.

Key Files

Enums/

  • MessageContentType.cs — Enum: Text, Image, Video, Audio, File, Location, Contact, Sticker, Gif, VoiceNote, System.
  • MessageTypesEnum.cs — Enum: email(1), sms(2), push(3), chat(4).

Users/

  • AcUserModelDtoMinBase.cs — Minimal user DTO with UserDto and ProfileDto. CopyUserDtoValuesToUser() for reverse mapping.
  • AcUserModelDtoBase.cs — Extends min base with ServiceProviders and UserToServiceProviders lists.
  • AcUserModelDtoDetailBase.cs — Full detail DTO: populates email, phone, address, timestamps. Bidirectional mapping via CopyUserDtoValuesToUser().
  • AcPasswordDtoBase.cs — Base with NewPassword property.
  • AcChangePasswordDto.cs — Extends password base with UserId + OldPassword.
  • AcForgotPasswordDto.cs — Extends password base with Email.

Dependencies

Dependency Purpose
AyCode.Core Core types
AyCode.Entities Entity base classes for DTO-entity mapping
AyCode.Interfaces Interface contracts implemented by DTOs