Commit Graph

105 Commits

Author SHA1 Message Date
david.nguyen 20147bfec7 Add diagnostic logging when gRPC generated code not found
Publish NuGets / build (release) Successful in 37s
When AddGrpcFromConfiguration method is not found via reflection,
logs detailed diagnostics to help identify the root cause:
- Entry assembly name and total type count
- All Grpc-related types with their IsClass/IsSealed/IsPublic flags
- Whether the target method exists on each type
- ReflectionTypeLoadException details if type loading fails

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
10.1.0-rc5
2026-01-21 16:10:18 -05:00
david.nguyen 18f81a28e8 Add authorization checks to gRPC service implementations
Publish NuGets / build (release) Successful in 44s
- Add ICommandAuthorizationService check to CommandServiceImpl
- Add IQueryAuthorizationService check to QueryServiceImpl
- Add IQueryAuthorizationService check to DynamicQueryServiceImpl
- Return Unauthenticated/PermissionDenied gRPC status codes
- Use global:: prefix for Grpc.Core namespace to avoid conflicts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
10.1.0-rc4
2026-01-21 14:18:07 -05:00
david.nguyen 201768e716 Revert AllowAnonymous endpoint propagation
Publish NuGets / build (release) Successful in 35s
Remove the WithAllowAnonymousIfAttributePresent helper method.
Authorization should be handled by IQueryAuthorizationService and
ICommandAuthorizationService implementations, not by ASP.NET Core
middleware.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
10.1.0-rc3
2026-01-21 13:07:03 -05:00
david.nguyen 932ee6e632 add AllowAnonymous support for MinimalApi endpoints
Publish NuGets / build (release) Successful in 37s
Endpoints with [AllowAnonymous] attribute on query/command class
now bypass ASP.NET Core authorization middleware.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
10.1.0-rc2
2026-01-21 12:29:26 -05:00
jp 4bf03446c0 docs: update .NET 8 references to .NET 10
Publish NuGets / build (release) Successful in 50s
Consolidated roadmap to show .NET 10 with C# 14 as current target.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
10.1.0-rc1
2026-01-17 09:22:27 -05:00
david.nguyen 227be70f95 Fix MinimalApi to resolve authorization services per-request
- Resolve ICommandAuthorizationService and IQueryAuthorizationService from request-scoped serviceProvider
- Allows Scoped authorization services that depend on DbContext
- Updated both MinimalApi and DynamicQuery.MinimalApi

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 15:56:31 -05:00
david.nguyen bd43bc9bde Fix gRPC source generator for complex nested types
- Add DateTime/Timestamp conversion in nested property mapping
- Add IsReadOnly property detection to skip computed properties
- Extract ElementNestedProperties for complex list element types
- Skip read-only properties in GenerateComplexObjectMapping and GenerateComplexListMapping

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 23:25:01 -05:00
david.nguyen 661f5b4b1c Fix GrpcGenerator type mapping for commands and nullable primitives
- Add proper complex type mapping for command results (same as queries already had)
- Handle nullable primitives (long?, int?, etc.) with default value fallback
- Fixes CS0029 and CS0266 compilation errors in generated gRPC service implementations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 11:29:32 -05:00
david.nguyen 99aebcf314 Fix proto generation for collection types (NpgsqlPolygon, etc.)
- Add IsCollectionTypeByInterface() to detect types implementing IList<T>, ICollection<T>, IEnumerable<T>
- Add GetCollectionElementTypeByInterface() to extract element type from collection interfaces
- Add IsCollectionInternalProperty() to filter out Count, Capacity, IsReadOnly, etc.
- Update GenerateComplexTypeMessage to generate `repeated T items` for collection types
- Filter out indexers (!p.IsIndexer) and collection-internal properties from all property extraction

This fixes the invalid proto syntax where C# indexers (this[]) were being generated
as proto fields, causing proto compilation errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 10:33:55 -05:00
Mathias Beaulieu-Duncan f76dbb1a97 fix: add Guid to string conversion in gRPC source generator
The MapToProtoModel function was silently failing when mapping Guid
properties to proto string fields, causing IDs to be empty in gRPC
responses. Added explicit Guid → string conversion handling.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 19:06:18 -05:00
Mathias Beaulieu-Duncan 9b9e2cbdbe added domain events, fix IQueryalbeProvider abstraction, added support for sagas and RabbitMQ 2025-12-20 15:13:05 -05:00
mathias 4051800934 merge
Publish NuGets / build (release) Successful in 35s
10.0.0
2025-12-02 15:44:21 -05:00
mathias a312428093 update to .net 10 lts 2025-12-02 15:40:31 -05:00
mathias dea62c2434 added roadmap and plans 2025-11-08 13:29:03 -05:00
mathias e72cbe4319 update readme 2025-11-07 13:34:51 -05:00
mathias 467e700885 added nugets references in readme :) 2025-11-07 13:01:24 -05:00
mathias 898aca0905 fix nuget package for Generator assembly?
Publish NuGets / build (release) Successful in 46s
10.0.0-preview-rc2
2025-11-07 12:48:00 -05:00
mathias 9aed854b1b removed github workflow
Publish NuGets / build (release) Failing after 50s
10.0.0-preview-rc1
2025-11-07 12:05:32 -05:00
mathias b06acc7675 remove TestClient and update gitea workflow 2025-11-07 12:04:47 -05:00
mathias 24a08c314a prepare for publishing 2025-11-07 12:02:33 -05:00
mathias 26ed34cd66 yes 2025-11-07 11:39:08 -05:00
mathias 2ee65b8dad yes 2025-11-04 16:45:54 -05:00
mathias e19fad2baa checkpoint 2025-11-04 15:05:07 -05:00
mathias facc8d7851 mega cleanup :D 2025-11-03 16:00:13 -05:00
mathias ed01f58a0c checkpoint 2025-11-03 11:19:50 -05:00
mathias 5ba351de9c added dynamic queries for minimal api 2025-11-03 09:50:03 -05:00
mathias a0426aa0d1 yessir 2025-11-03 07:44:17 -05:00
mathias d2a4639c0e yes 2025-11-02 20:44:47 -05:00
mathias ccfaa35c1d wip proto file generation 2025-11-02 11:22:28 -05:00
mathias 6735261f21 update readme 2025-11-02 03:38:10 -05:00
mathias 4824c0d31d first grpc and minimal api preview :) 2025-11-02 03:14:38 -05:00
mathias f6dccf46d7 cat on a spaceship 2025-11-01 22:38:46 -04:00
mathias 747fa227a1 woawzies 2025-11-01 21:58:34 -04:00
mathias de6e1267dd update readme 2024-12-22 23:16:48 -05:00
mathias 7804f9ba09 fix symbols and pipeline 2024-12-22 13:47:30 -05:00
mathias b7b88bc258 added icon and readmy for nugets, added gitea pipeline, added AoT compatible for all projects that are not AspNetCore specific 2024-12-22 11:59:19 -05:00
mathias c6a28f352f update package icon for Dynamic Query AspNet 2024-11-13 11:14:53 -05:00
mathias edb84a792a fix random chars in project file 2024-09-03 04:31:32 -04:00
mathias e58b86c0fb fix DynamicQueryController removed Generic that shouldn't have been removed in the first place, causing run time issues with MakeGeneric 2024-09-02 21:28:27 -04:00
mathias c230d039f2 Update README.md 2024-08-25 12:42:54 -04:00
mathias 43bf6ebd6b Update README.md 2024-08-25 12:40:59 -04:00
Mathias Beaulieu-Duncan 2da25631bf update roadmap 2023-11-08 22:57:59 -05:00
Mathias Beaulieu-Duncan 5188785339 update roadmap 2023-11-08 22:57:29 -05:00
Mathias Beaulieu-Duncan d328782681 update roadmap 2023-11-08 22:56:22 -05:00
Mathias Beaulieu-Duncan 1a54c12114 Merge remote-tracking branch 'origin/main' 2023-11-08 22:54:36 -05:00
Mathias Beaulieu-Duncan 4598cfedb7 better documentation 2023-11-08 22:54:32 -05:00
singatias fba604ad65 Update and rename nuget-publish.yml to publish-nugets.yml 2023-11-04 16:58:06 -04:00
singatias 415bcca48b Update nuget-publish.yml 2023-11-04 16:54:42 -04:00
singatias f5da1a966f Update nuget-publish.yml 2023-11-04 16:46:13 -04:00
singatias 008fb21c8c Rename dotnet.yml to nuget-publish.yml 2023-11-04 16:46:02 -04:00