Skip to content

v1.4.0

Latest

Choose a tag to compare

@fulleni fulleni released this 13 Dec 16:01
e609a99

User Engagement, App Reviews & Action Integrity

This release expands the API's capabilities to support interactive User Generated Content (UGC), enabling features like user reactions, content reporting, and application reviews. To support this interactivity, we have refactored the limit enforcement logic into a centralized service and introduced strict validation rules to maintain data integrity and prevent abuse.

image

💬 Interactive User Features

We have laid the backend foundation for social interactivity and user feedback. This includes generic models for engagement and reporting, as well as a dedicated system for managing app reviews.

  • 👍 UGC Foundation: Introduced Engagement and Report models, along with their associated permissions, to support features like user reactions, comments, and content moderation flagging. #105
  • App Review System: Implemented a dedicated AppReview data model and repository, complete with optimized database indexing (userId_index) and secure permission logic (app_review.create_owned) to allow users to rate and review the application. #106
  • 🧱 Registry Enhancements: Refactored the model_registry.dart to seamlessly integrate these new interactive models into the application's core data access and authorization framework. #106

🛡️ Logic Enforcement & Limits

With the introduction of user interactions, we have hardened the logic that governs frequency and uniqueness to ensure a balanced and spam-free environment.

  • 🛑 Unique Interaction Logic: Implemented a strict business rule ensuring users can only create a single engagement per entity (e.g., one reaction per article), preventing duplicate submissions and data inconsistencies. #107
  • ⚖️ Centralized Limit Service: Refactored and renamed UserPreferenceLimitService to UserActionLimitService, expanding its scope to enforce limits on new engagements and reports based on user roles and remote configuration. #105
  • 🎯 Precise Limit Counting: Refined the daily reaction limit mechanism to ensuring quotas are only deducted when a valid reaction is successfully created. #107