description: Add a new field to an existing entity/model with related service and endpoint updates
Add Entity Field Skill
Add a new field to an existing entity/model in the NovaTune project.
Steps
-
Identify the entity file
- Location:
src/NovaTuneApp/NovaTuneApp.ApiService/Models/ - File naming:
{EntityName}.cs
- Location:
-
Add the property to the entity class
public required string NewFieldName { get; set; } // Or for optional fields: public string? OptionalFieldName { get; set; } -
Update related services
- Check
src/NovaTuneApp/NovaTuneApp.ApiService/Services/for services that use this entity - Update DTOs if they exist
- Update any mapping logic
- Check
-
Update endpoints
- Check
src/NovaTuneApp/NovaTuneApp.ApiService/Endpoints/for affected endpoints - Update request/response models if needed
- Check
-
Update RavenDB indexes if applicable
- Location:
src/NovaTuneApp/NovaTuneApp.ApiService/Infrastructure/RavenDb/ - Add field to index if it will be queried
- Location:
-
Add tests
- Unit tests:
src/unit_tests/ - Integration tests:
src/NovaTuneApp/NovaTuneApp.Tests/
- Unit tests:
Code Style
- Use
requiredfor mandatory fields - Use nullable reference types (
?) for optional fields - PascalCase for property names
- Add XML documentation comments for public APIs