Skip to content

Merge branch 'main' into feature/portal - #69

Closed
rashmithachamikara wants to merge 7 commits into
wso2:feature/portalfrom
rashmithachamikara:feature/portal
Closed

rashmithachamikara wants to merge 7 commits into
wso2:feature/portalfrom
rashmithachamikara:feature/portal

Conversation

@rashmithachamikara

Copy link
Copy Markdown
Contributor

Get the sort features to the portal branch

rashmithachamikara and others added 7 commits June 30, 2026 14:16
Updated:
- [api/consent-management-API.yaml](D:\wso2\openfgc\api\consent-management-API.yaml)
  - `sort` docs now match handler behavior: field-only form defaults to `desc`, max 3 items, and existing default/example remain aligned.
  - `ConsentGroupIDsResponse.groupIds` now has `uniqueItems: true`.

- [consent-server/internal/consent/handler.go](D:\wso2\openfgc\consent-server\internal\consent\handler.go)
  - Repeated `sort` query params are now rejected with `400` before parsing.

- [consent-server/internal/consent/service.go](D:\wso2\openfgc\consent-server\internal\consent\service.go)
  - Removed raw `user_id` from the group-id lookup info log.
  - Internal store errors now return the generic `ErrorInternalServerError` message instead of leaking `err.Error()`.

- [consent-server/internal/consent/store.go](D:\wso2\openfgc\consent-server\internal\consent\store.go)
  - Changed the search data query to order from a `SELECT DISTINCT ...` subquery, which keeps the `validityTime` CASE-based ordering PostgreSQL-safe.
…ements

Consent read enhancements: group-ids, sort
- Get changes sort feature to portal branch
@coderabbitai

coderabbitai Bot commented Jul 30, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f5056af0-004d-40bd-9eac-28fb901c5b49

📥 Commits

Reviewing files that changed from the base of the PR and between 3af4341 and f203f2d.

⛔ Files ignored due to path filters (10)
  • portal/backend/go.sum is excluded by !**/*.sum
  • portal/frontend/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • portal/frontend/public/favicon/android-chrome-192x192.png is excluded by !**/*.png
  • portal/frontend/public/favicon/android-chrome-512x512.png is excluded by !**/*.png
  • portal/frontend/public/favicon/apple-touch-icon.png is excluded by !**/*.png
  • portal/frontend/public/favicon/favicon-16x16.png is excluded by !**/*.png
  • portal/frontend/public/favicon/favicon-32x32.png is excluded by !**/*.png
  • portal/frontend/public/favicon/favicon.ico is excluded by !**/*.ico
  • portal/frontend/public/wso2-logo.png is excluded by !**/*.png
  • portal/frontend/src/assets/react.svg is excluded by !**/*.svg
📒 Files selected for processing (94)
  • .github/workflows/portal-backend-ci.yml
  • .github/workflows/portal-frontend-ci.yml
  • portal/backend/.env.example
  • portal/backend/.gitignore
  • portal/backend/.golangci.yml
  • portal/backend/Dockerfile
  • portal/backend/README.md
  • portal/backend/Taskfile.yml
  • portal/backend/cmd/server/main.go
  • portal/backend/cmd/server/servicemanager.go
  • portal/backend/docker-compose.yml
  • portal/backend/go.mod
  • portal/backend/internal/me/handler.go
  • portal/backend/internal/me/init.go
  • portal/backend/internal/me/service.go
  • portal/backend/internal/proxy/handler.go
  • portal/backend/internal/proxy/init.go
  • portal/backend/internal/proxy/service.go
  • portal/backend/internal/proxy/service_test.go
  • portal/backend/internal/system/config/config.go
  • portal/backend/internal/system/config/config_test.go
  • portal/backend/internal/system/context/user.go
  • portal/backend/internal/system/correlation/id.go
  • portal/backend/internal/system/healthcheck/handler.go
  • portal/backend/internal/system/log/log.go
  • portal/backend/internal/system/log/log_test.go
  • portal/backend/internal/system/middleware/correlationid.go
  • portal/backend/internal/system/middleware/correlationid_test.go
  • portal/backend/internal/system/middleware/cors.go
  • portal/backend/internal/system/middleware/cors_test.go
  • portal/backend/internal/system/middleware/userid.go
  • portal/backend/internal/system/middleware/userid_test.go
  • portal/backend/openapi/bff.yaml
  • portal/backend/tests/integration/health_test.go
  • portal/backend/tests/integration/proxy_invalid_consent_id_test.go
  • portal/backend/tests/integration/proxy_phase2_test.go
  • portal/backend/tests/integration/server_test.go
  • portal/bff-implementation-phases.md
  • portal/bff-implementation-plan.md
  • portal/frontend/.env.example
  • portal/frontend/.gitignore
  • portal/frontend/.prettierignore
  • portal/frontend/.prettierrc
  • portal/frontend/README.md
  • portal/frontend/eslint.config.js
  • portal/frontend/index.html
  • portal/frontend/package.json
  • portal/frontend/public/favicon/site.webmanifest
  • portal/frontend/src/App.tsx
  • portal/frontend/src/__tests__/AppSidebar.test.tsx
  • portal/frontend/src/__tests__/ConsentApprovalApi.test.ts
  • portal/frontend/src/__tests__/ConsentRegistryModals.test.tsx
  • portal/frontend/src/__tests__/ConsentRegistryPage.test.tsx
  • portal/frontend/src/__tests__/ConsentStatusChip.test.ts
  • portal/frontend/src/__tests__/DateTimeUtils.test.ts
  • portal/frontend/src/__tests__/I18nKeys.test.ts
  • portal/frontend/src/__tests__/MainLayout.test.tsx
  • portal/frontend/src/__tests__/smoke.test.tsx
  • portal/frontend/src/components/.gitkeep
  • portal/frontend/src/components/layout/main-layout/HeaderBreadcrumbs.tsx
  • portal/frontend/src/components/layout/main-layout/MainLayout.tsx
  • portal/frontend/src/components/layout/sidebar/AppSidebar.tsx
  • portal/frontend/src/features/.gitkeep
  • portal/frontend/src/features/consent-registry/ConsentDetailsPage.tsx
  • portal/frontend/src/features/consent-registry/ConsentRegistryPage.tsx
  • portal/frontend/src/features/consent-registry/api/consentsApi.ts
  • portal/frontend/src/features/consent-registry/components/ConsentApprovalDialog.tsx
  • portal/frontend/src/features/consent-registry/components/ConsentRegistryFilters.tsx
  • portal/frontend/src/features/consent-registry/components/ConsentRegistryTable.tsx
  • portal/frontend/src/features/consent-registry/components/ConsentRevocationDialog.tsx
  • portal/frontend/src/features/consent-registry/components/details/ConsentAuthorizationsSection.tsx
  • portal/frontend/src/features/consent-registry/components/details/ConsentMetadataCard.tsx
  • portal/frontend/src/features/consent-registry/components/details/ConsentPurposesSection.tsx
  • portal/frontend/src/features/consent-registry/components/details/ConsentResourcesModal.tsx
  • portal/frontend/src/features/consent-registry/constants.ts
  • portal/frontend/src/features/consent-registry/hooks/useConsentQueries.ts
  • portal/frontend/src/features/consent-registry/utils/statusChip.ts
  • portal/frontend/src/features/dashboard/DashboardPage.tsx
  • portal/frontend/src/hooks/.gitkeep
  • portal/frontend/src/i18n/i18n.ts
  • portal/frontend/src/i18n/resources/en/common.ts
  • portal/frontend/src/main.tsx
  • portal/frontend/src/types/.gitkeep
  • portal/frontend/src/types/consent.ts
  • portal/frontend/src/utils/.gitkeep
  • portal/frontend/src/utils/apiClient.ts
  • portal/frontend/src/utils/dateTime.ts
  • portal/frontend/src/utils/queryClient.ts
  • portal/frontend/tsconfig.app.json
  • portal/frontend/tsconfig.json
  • portal/frontend/tsconfig.node.json
  • portal/frontend/tsconfig.test.json
  • portal/frontend/vite.config.ts
  • portal/frontend/vitest.setup.ts

📝 Walkthrough

Summary

  • Added the Portal backend BFF with configuration management, health endpoints, consent APIs, upstream proxying, CORS/correlation middleware, validation, and graceful shutdown.
  • Added consent approval, revocation, detail, filtering, pagination, sorting, loading states, tooltips, and responsive layout functionality to the React frontend.
  • Added OpenAPI v0.3.0 documentation, development guides, environment templates, Docker support, and local orchestration.
  • Added backend and frontend CI workflows with formatting, linting, testing, and build checks.
  • Added comprehensive unit and integration test coverage across API behavior, configuration, middleware, consent flows, UI components, routing, translations, and date utilities.

Walkthrough

Adds a Go BFF with configuration, health endpoints, CORS and correlation middleware, allowlisted upstream proxying, current-user consent approval/revocation flows, OpenAPI documentation, container tooling, and integration tests. Adds a React/Vite consent portal with routing, localization, typed API access, registry/detail pages, approval and revocation dialogs, pagination, status handling, and frontend tests. Adds backend and frontend CI workflows plus development configuration files.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@rashmithachamikara
rashmithachamikara changed the base branch from main to feature/portal July 30, 2026 20:08
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.

2 participants