Skip to content

[EDIFIKANA] #424 Common Area API contracts and backend services#462

Open
gaaliciA1990 wants to merge 8 commits intomainfrom
alg/424_CommonArea_API_BE_Services
Open

[EDIFIKANA] #424 Common Area API contracts and backend services#462
gaaliciA1990 wants to merge 8 commits intomainfrom
alg/424_CommonArea_API_BE_Services

Conversation

@gaaliciA1990
Copy link
Copy Markdown
Contributor

Summary

Closes #424

  • Adds full backend stack for Common Areas: API definition, domain model, datastore interface + Supabase implementation, service, controller, RBAC support, and DI registrations
  • Fixes type field in shared network models (CommonAreaNetworkResponse, CreateCommonAreaNetworkRequest, UpdateCommonAreaNetworkRequest) from raw String to CommonAreaType
  • Adds full test coverage: unit tests (CommonAreaServiceTest, CommonAreaControllerTest) and integration tests (SupabaseCommonAreaDatastoreIntegrationTest, 8/8 passing)

Test plan

  • ./gradlew :edifikana:back-end:test — all unit tests pass
  • ./gradlew :edifikana:back-end:integTest — all 8 integration tests pass against live Supabase
  • ./gradlew releaseAll — full build passes with no errors

🤖 Generated with Claude Code

Copilot AI review requested due to automatic review settings March 27, 2026 17:48
@gaaliciA1990 gaaliciA1990 requested a review from CRamsan March 27, 2026 17:49
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Implements the Common Areas feature end-to-end (shared API contracts + backend controller/service/datastore + Supabase integration) and updates shared network models to use CommonAreaType instead of raw strings.

Changes:

  • Added Common Area API definition, backend controller/service, datastore interface, and Supabase implementation (with DI wiring).
  • Updated shared network request/response models to use CommonAreaType.
  • Added unit/controller tests plus Supabase integration tests and supporting JSON fixtures.

Reviewed changes

Copilot reviewed 28 out of 28 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
edifikana/shared/src/commonMain/kotlin/com/cramsan/edifikana/lib/model/network/UpdateCommonAreaNetworkRequest.kt Switches type to CommonAreaType? for updates.
edifikana/shared/src/commonMain/kotlin/com/cramsan/edifikana/lib/model/network/CreateCommonAreaNetworkRequest.kt Switches type to CommonAreaType for creates.
edifikana/shared/src/commonMain/kotlin/com/cramsan/edifikana/lib/model/network/CommonAreaNetworkResponse.kt Switches response type to CommonAreaType.
edifikana/back-end/src/test/resources/requests/update_common_area_response.json Adds fixture for update response.
edifikana/back-end/src/test/resources/requests/update_common_area_request.json Adds fixture for update request.
edifikana/back-end/src/test/resources/requests/get_common_areas_for_property_response.json Adds fixture for list response.
edifikana/back-end/src/test/resources/requests/get_common_area_response.json Adds fixture for get response.
edifikana/back-end/src/test/resources/requests/create_common_area_response.json Adds fixture for create response.
edifikana/back-end/src/test/resources/requests/create_common_area_request.json Adds fixture for create request.
edifikana/back-end/src/test/kotlin/com/cramsan/edifikana/server/service/authorization/RBACServiceTest.kt Updates RBACService construction for new CommonArea datastore dependency.
edifikana/back-end/src/test/kotlin/com/cramsan/edifikana/server/service/CommonAreaServiceTest.kt Adds unit tests for CommonAreaService delegation behavior.
edifikana/back-end/src/test/kotlin/com/cramsan/edifikana/server/dependencyinjection/TestModule.kt Registers CommonArea controller/service mocks for controller tests.
edifikana/back-end/src/test/kotlin/com/cramsan/edifikana/server/controller/CommonAreaControllerTest.kt Adds controller tests for all CommonArea endpoints.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/service/models/CommonArea.kt Introduces backend domain model for Common Areas.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/service/authorization/RBACService.kt Adds RBAC checks for CommonAreaId by resolving via property.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/service/CommonAreaService.kt Adds CommonArea service methods delegating to datastore.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/dependencyinjection/ServicesModule.kt Wires CommonAreaService into Koin.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/dependencyinjection/DatastoreModule.kt Wires SupabaseCommonAreaDatastore as CommonAreaDatastore.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/dependencyinjection/ControllerModule.kt Wires CommonAreaController into Koin.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/datastore/supabase/models/CommonAreaEntity.kt Adds Supabase entity model for common_areas table.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/datastore/supabase/SupabaseMappers.kt Adds mapping from CommonAreaEntity → CommonArea domain model.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/datastore/supabase/SupabaseCommonAreaDatastore.kt Implements CRUD (soft delete + purge) against Supabase PostgREST.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/datastore/CommonAreaDatastore.kt Adds datastore interface for Common Areas.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/controller/NetworkMappers.kt Adds mapper CommonArea → CommonAreaNetworkResponse.
edifikana/back-end/src/main/kotlin/com/cramsan/edifikana/server/controller/CommonAreaController.kt Adds HTTP handlers and RBAC enforcement for Common Area endpoints.
edifikana/back-end/src/integTest/kotlin/com/cramsan/edifikana/server/datastore/supabase/SupabaseIntegrationTest.kt Adds integration-test resource tracking/cleanup for common areas.
edifikana/back-end/src/integTest/kotlin/com/cramsan/edifikana/server/datastore/supabase/SupabaseCommonAreaDatastoreIntegrationTest.kt Adds Supabase integration test suite for CommonArea datastore.
edifikana/api/src/commonMain/kotlin/com/cramsan/edifikana/api/CommonAreaApi.kt Introduces CommonArea API contract and routes.

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.

[BE] Common Area API Contracts and Backend Services (Phase 0)

2 participants