Skip to content

fix: remove AppService suffix from Angular proxy routes to match ABP dynamic API convention - #281

Merged
afonsoft merged 1 commit into
mainfrom
fix/angular-service-proxy-routes
Aug 1, 2026
Merged

fix: remove AppService suffix from Angular proxy routes to match ABP dynamic API convention#281
afonsoft merged 1 commit into
mainfrom
fix/angular-service-proxy-routes

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Component Type

  • EAF Module
  • UI Template (Angular - Templates/Angular/)
  • API Template
  • Worker Template
  • Documentation
  • Infrastructure/CI/CD
  • Other

Description

  • What: Corrects the dynamic API route segment in the Angular service proxies for MassNotification, UserDelegation and OrganizationUnit by removing the AppService suffix from the URL path.
  • Why: ABP removes the AppService postfix when exposing application services as controllers (MassNotificationAppService/api/services/app/MassNotification/...). The existing proxy URLs kept the AppService segment, which would return 404 at runtime.
  • Impact: All HTTP verbs and action names were already aligned with the backend methods; only the controller segment changed. No DTO or response mapping was modified.

New Feature Submissions

  1. Does your submission pass tests? - dotnet test on the new application-service test suites and npx ng build --configuration=production passed.
  2. Have you lint your code locally prior to submission? - npx eslint on the three changed files reported only pre-existing no-explicit-any warnings; formatting fixed with prettier --write.
  3. Have you updated the documentation for this feature? - N/A (bug fix).
  4. Have you added tests for the new feature? - N/A (bug fix).

Breaking Changes

  • Does this PR introduce any breaking changes?
  • If yes, have you documented them in the description or in a migration guide?

Tests executed

  • dotnet test test/Eaf.Middleware.Application.Tests/Eaf.Middleware.Application.Tests.csproj --filter "FullyQualifiedName~EditionAppServiceBddTests|MassNotificationAppServiceBddTests|PaymentAppServiceBddTests|UserDelegationAppServiceBddTests|OrganizationUnitAppServiceBddTests"
  • npx ng build --configuration=production inside Templates/Angular/Eaf.ProjectName.UI

Link to Devin session: https://app.devin.ai/sessions/110d778fadb34e778f16bb1d2d386ae7
Requested by: @afonsoft

…dynamic API convention

Co-Authored-By: Afonso Dutra Nogueira Filho <afonsoft@gmail.com>
@afonsoft afonsoft self-assigned this Aug 1, 2026
@afonsoft
afonsoft self-requested a review August 1, 2026 02:30
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@sonarqubecloud

sonarqubecloud Bot commented Aug 1, 2026

Copy link
Copy Markdown

@afonsoft
afonsoft merged commit c64effe into main Aug 1, 2026
21 checks passed
@afonsoft
afonsoft deleted the fix/angular-service-proxy-routes branch August 1, 2026 02:34
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

E2E validation completed for this PR against the full Docker stack.

  • All six backend endpoints return 200 and success: true through the AppService-free routes (/api/services/app/{MassNotification,UserDelegation,OrganizationUnit,Edition,Payment,Tenant}/...).
  • Angular admin UI network requests for Editions, Mass Notifications, User Delegations, Organization Units, Payments and the Tenant Subscription modal all hit the new AppService-free URLs.
  • npx ng build --configuration=production passed with no TypeScript errors.
  • NSwag regenerated service-proxies.ts from the running API and the generated file contains the AppService-free controller names.

No AppService suffix was observed in any of the captured backend, UI or generated proxy routes.

Tenant Subscription modal

Screen recording and full report available in the test session.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant