GitPedia
pdevito3

pdevito3/craftsman

A .NET scaffolding tool to help you stop worrying about boilerplate and focus on your business logic 🚀

30 Releases
Latest: 1y ago
v0.28.3Latest
pdevito3pdevito3·1y ago·December 6, 2024
GitHub

📋 What's Changed

  • Extra bool parameter present in template (GetById) by @BuzukBzh in https://github.com/pdevito3/craftsman/pull/149

New Contributors

  • @BuzukBzh made their first contribution in https://github.com/pdevito3/craftsman/pull/149
  • Full Changelog: https://github.com/pdevito3/craftsman/compare/v0.28.2...v0.28.3
v0.28.2
pdevito3pdevito3·1y ago·December 5, 2024
GitHub

🐛 Fixed

  • hard coded config
v0.28.1
pdevito3pdevito3·1y ago·December 4, 2024
GitHub

🐛 Fixed

  • getbyid usage
v0.28.0
pdevito3pdevito3·1y ago·November 2, 2024
GitHub

📦 Updated

  • Update keycloak image to quay
  • Update auth examples for new keycloak handling
  • Upgrade pulumi and keycloak setup
  • Full Changelog: https://github.com/pdevito3/craftsman/compare/v0.27.2...v0.28.0
v0.27.2
pdevito3pdevito3·1y ago·October 6, 2024
GitHub

🐛 Fixed

  • jaeger options pointer
v0.27.1
pdevito3pdevito3·1y ago·October 6, 2024
GitHub

🐛 Fixed

  • Permission tests skipped for queries
v0.27.0
pdevito3pdevito3·1y ago·October 6, 2024
GitHub

📦 Updated

  • New extension methods on dbcontext for direct `GetById` options
  • Queries use DbContext directly with new ext methods
  • Consolidated options pattern object and cleaned it up
  • Remove functional tests scaffolding (other than health)
  • Tweak producer example
  • No more repository/uow abstraction
  • No more unit tests for user policy handler
  • No more default permission. Must be explicitly provided

🐛 Fixed

  • Timespan recognition
  • Hangfire config typo
  • Lower/upper invariance resolution #137
v0.26.4
pdevito3pdevito3·2y ago·April 13, 2024
GitHub

🐛 Fixed

  • Fix db context ctor in repos
  • can run a `new domain` with no entities (#135)
v0.26.3
pdevito3pdevito3·2y ago·March 24, 2024
GitHub

📦 Updated

  • Use newer header append method on paginated list endpoint

🐛 Fixed

  • Indentation for smart enumvalue objects
v0.26.2
pdevito3pdevito3·2y ago·February 7, 2024
GitHub

🐛 Fixed

  • Fix typo on smart enum error
  • Can recognize `datetimeoffset` property type
  • Versioning in functional tests
  • Full Changelog: https://github.com/pdevito3/craftsman/compare/v0.26.1...v0.26.2
v0.26.1
pdevito3pdevito3·2y ago·February 2, 2024
GitHub

📦 Updated

  • Remove unused swagger props

🐛 Fixed

  • Route builder includes version
  • Full Changelog: https://github.com/pdevito3/craftsman/compare/v0.26.0...v0.26.1
v0.26.0
pdevito3pdevito3·2y ago·February 2, 2024
GitHub

📦 Updated

  • Refactor to primary ctors
  • Removed deprecated (and partial) api versioning in favor of new versioning
  • Added versioning to controller routes
  • Updated versioning service
  • Updated swagger to support versioning
  • Full Changelog: https://github.com/pdevito3/craftsman/compare/v0.25.1...v0.26.0
v0.25.1
pdevito3pdevito3·2y ago·January 10, 2024
GitHub

📦 Updated

  • Better exception for smart enum errors
  • Sponsorship request
  • Bump naming conventions
  • Group Otel in dependabot
v0.25.0
pdevito3pdevito3·2y ago·December 29, 2023
GitHub

Additions and Updates

  • Scaffolded projects use .NET 8
  • Bump Nuget packages
  • Bespoke `DateTimeProvider` removed in favor of the new built in `TimeProvider`
  • `BaseEntity` audit times use `DateTimeOffset`
  • Model classes use `record` type
  • Remove `DateOnlyConverter` for `SqlServer` since it's built into .NET 8
  • Moved `PagedList` to `Resources` directory
  • Underlying craftsman code uses .NET 8
  • + 3 more

🐛 Fixed

  • Dependabot indent
  • Github test actions
v0.24.1
pdevito3pdevito3·2y ago·November 10, 2023
GitHub

🐛 Fixed

  • Swagger config can handle nested DTO classes: `config.CustomSchemaIds(type => type.ToString().Replace("+, "."));`
  • Don't ignore default hangfire queue
  • Smart value object scaffolding doesn't use old enum logic for entity or fakes
  • Full Changelog: https://github.com/pdevito3/craftsman/compare/v0.24.0...v0.24.1
v0.24.0
pdevito3pdevito3·2y ago·October 24, 2023
GitHub

Added

  • New `IsLogMasked` option for masking entity properties in logs
  • Dependabot scaffolding. Can be excluded with `IncludeDependabot = false` at the domain template level
  • Github test action scaffolding. Can be excluded with `IncludeGithubTestActions = false` at the api template level
  • Support for `string[]` when using Postgres
  • `ValueObject` property scaffolding
  • > ⚠️ note there's a new new marker in db config:
  • ```
  • public sealed class RecipeConfiguration : IEntityTypeConfiguration<Recipe>
  • + 7 more

📦 Updated

  • Logging was refactored to use app settings
  • Add missing HttpClientInstrumentation on OTel
  • `SortOrder` and `Filters` are nullable on list dto param
  • Remove old and unused fluent assertion options
  • Entity plural is more powerful with `Humanizer`

🐛 Fixed

  • Email setter
v0.23.2
pdevito3pdevito3·2y ago·September 30, 2023
GitHub

🐛 Fix

  • Hangfire CompatibilityLevel updated to latest
v0.23.1
pdevito3pdevito3·2y ago·September 30, 2023
GitHub

🐛 Fixed

  • Entity usings for data annotations (#126)
  • get all is plural (#127)
v0.23.0
pdevito3pdevito3·2y ago·September 23, 2023
GitHub

Additions and Updates

  • New `GetAll` and `Job` features
  • Hangfire integration (details on adding to existing projects below)
  • Moq -> NSubsititute
  • Bump base page size limit to 500
  • Added global usings to the test projects
  • Entity variables in tests don't start with `fake` anymore
  • Moved `BasePaginationParameters` and `Exceptions` and `ValueObject` to api project (#124)
  • Package bumps and cleanup with the exception of pulumi
  • + 2 more

🐛 Fixed

  • Can handle no global git config (#122, #72)
  • Can use `.` in project name (#111)

Adding Hangfire To an Existing Project

  • Install
  • ```
  • <PackageReference Include="Hangfire" Version="1.8.5" />
  • <PackageReference Include="Hangfire.MemoryStorage" Version="1.8.0" />
  • ```
  • Add this to your Infra Registration
  • ```csharp
  • services.SetupHangfire(env);
  • + 240 more
v0.22.1
pdevito3pdevito3·2y ago·August 13, 2023
GitHub

🐛 Fixed

  • Can respect audience prop. fixes #119
v0.22.0
pdevito3pdevito3·2y ago·August 13, 2023
GitHub

📋 What's Changed

  • Revamped Relationships to a new model
  • Integration and Functional tests use the latest versions and implementations of `testcontainers`
  • Removed `Sieve` in favor of `QueryKit`
  • Removed `CanFilter` and `CanSort` properties. These can still be set in your code, but will no longer pollute your entities.
  • Use top level routing for health checks and controllers
  • Update OTel to latest with newer syntax
  • Remove other base specification things from generic repo
  • Commands/Queries use records for input
  • + 2 more

🐛 Fixed

  • Sql server setups can handle dateonly
  • Duplicate usings
  • Remove bad serilog enricher and update logger for env name
  • `MigrationHostedService` will not conflict with dbcontext when adding entities
  • fix: get endpoint when name == plural
  • Bugfix, Change AddProducerCommand to AddMessageCommand by @Ken1Nil in https://github.com/pdevito3/craftsman/pull/118

New Contributors

  • @Ken1Nil made their first contribution in https://github.com/pdevito3/craftsman/pull/118
  • Full Changelog: https://github.com/pdevito3/craftsman/compare/v0.21.1...v0.22.0
v0.21.1
pdevito3pdevito3·2y ago·July 20, 2023
GitHub

🐛 Fixed

  • Remove lingering mapper from empty feature
  • Fix connection string prop in dev app settings
  • Fix using statement for interop
v0.21.0
pdevito3pdevito3·2y ago·July 17, 2023
GitHub

Added

  • New `bool` option of `UseCustomErrorHandler` on `ApiTemplate` that defaults to a new error handler using `Hellang.ProblemDetails`. If you don't want a dependency, you can use the existing custom one, but the hellang one is richer and I didn't want to reinvent the wheel

📦 Updated

  • Major MediatR update to 12.x
  • Features returning bool will now have no return value
  • Mapster -> Mapperly
  • Missing test projects won't cause failure

🐛 Fixed

  • Can better handle unneccessary `I` on messages
  • Mapper scaffolding
v0.20.0
pdevito3pdevito3·3y ago·April 8, 2023
GitHub

Added

  • Specification support in repositories
  • Support for array property types

📦 Updates

  • No more manipulation DTO
  • No default new guid on DTO
  • Tests use builder methods
  • No more autofaker for domain entity, only a builder
  • Entity properties not virtualized anymore
  • `IProjectService` renamed to `IProjectScopedService`
v0.19.4
pdevito3pdevito3·3y ago·March 5, 2023
GitHub

📦 Updates

  • Removed extra db call on `Add` feature
v0.19.3
pdevito3pdevito3·3y ago·March 5, 2023
GitHub

🐛 Fixed

  • Fix bracket on DTOs
v0.19.2
pdevito3pdevito3·3y ago·March 5, 2023
GitHub

🐛 Fixed

  • DTO indentations
v0.19.1
pdevito3pdevito3·3y ago·February 4, 2023
GitHub

📦 Updates

  • Removed custom dateonly and timeonly json converters in facor of built in .net 7 options
v0.19.0
pdevito3pdevito3·3y ago·February 4, 2023
GitHub

📦 Updates

  • Craftsman uses .NET 7
  • Scaffolding uses .NET 7
  • Test projects updated to use XUnit
  • Integration tests have better service collection scoping and now have a service collection per test. This makes service mocking possible without clashing with other tests
  • RMQ container setup for integration and functional tests
  • Use `IConfiguration` instead of custom `EnvironmentService`
  • Move parameters from `launchsetting` to `appsettings`
  • `UserPolicyHandler` refactor
  • + 4 more

🗑️ Removed

  • No more event handler test scaffolding
v0.18.0
pdevito3pdevito3·3y ago·January 7, 2023
GitHub

Added

  • New `MigrationHostedService` to automatically apply migrations when starting your project
  • New `EnvironmentService` for easy access to environment variables

📦 Updates

  • Removed `Validators` and in favor of direct validation in entiy factories and methods.
  • Additional helper methods on `ValidationException`
  • Additional OTel config
  • Cleaner functional test helpers
  • Bump HeimGuard
  • Update `UserPolicyHandler` to include a `HasPermission()` implementation
  • Json attribute refactor
  • Simplify swagger comments

🐛 Fixes

  • RMQ Password var
  • Email guards for whitespace
  • Minor spacing items