feat(childManage): add service interfaces for content, settings and time restrictions
📌 Description
This PR introduces the core implementation of the Child Restriction Management module within the brainboost-child-management-service
microservice. It provides the backend logic and RESTful endpoints to manage child usage preferences and restrictions, including:
-
⏱ ️ Restriction Time Configuration- Define allowed usage days:
PUT /time/{id}/days
- Set allowed daily time range:
PUT /time/{id}/range
- Set maximum allowed usage time per day:
PUT /time/{id}/max-time
- Define allowed usage days:
-
🚫 Content Restrictions- Enable/disable restrictions for specific sections like japprends, accueilassistant, challenge, and *search
:
PUT /content/{id}/restriction`
- Enable/disable restrictions for specific sections like japprends, accueilassistant, challenge, and *search
-
📝 Forbidden Words Management- Add forbidden words:
PUT /settings/{id}/forbidden-word
- Remove forbidden words:
DELETE /settings/{id}/forbidden-word
- Add forbidden words:
-
💾 Save or Update Settings- Save all settings including time and content restrictions:
POST /settings
- Save all settings including time and content restrictions:
All features follow clean architecture (Controller → Service → Repository), utilize DTOs, and interact with a PostgreSQL database.
✅ Features Completed
-
REST Controllers and routes for restriction management -
DTOs and mappers for structured data transfer -
Business logic in the service layer -
JPA repositories for DB operations -
PostgreSQL integration -
Error handling and validation
Closes IA-704