- Added dark mode branding images for the app.
- Created contents.json files for branding and launch background images.
- Implemented splash screen with animated Lottie assets based on theme.
- Developed authentication repository with email/password and social login functionalities.
- Introduced background service for heavy computations in isolates.
- Added splash controller to manage authentication flow during splash screen.
- Renamed model classes to follow a unified naming convention (e.g., Evidence to EvidenceSupadartModel).
- Updated references to related models to match new naming conventions (e.g., IncidentLogs to IncidentLogSupadartModel).
- Adjusted static methods for conversion and JSON parsing to reflect the new class names.
- Modified table names in the models to align with the new naming scheme.
- Changed output directory in supadart.yaml to 'lib/generated/' for better organization.
- Mapped database table names to the new model class names in supadart.yaml.
- Implemented user creation, update, and deletion triggers to manage officer and standard user data.
- Created functions to handle user type changes and conditional updates based on user metadata.
- Added a function to retrieve nearby units based on geographical coordinates.
- Established triggers to update distance to units upon location changes.
- Created spatial indexes for efficient querying of units and locations.
- Added a function to delete the current user from the auth.users table.
- Added LocationLogsRepository for managing user location logs.
- Implemented methods to get user location logs, add a new log, get recent logs, and fetch logs within a time range.
feat: Create locations repository for district-based location management
- Added LocationsRepository to handle location data by district ID.
- Implemented methods to fetch locations by district, get location by ID, find nearby locations, and add new locations.
feat: Enhance permissions repository for role-based access control
- Added PermissionsRepository to manage permissions.
- Implemented methods to fetch all permissions, get permissions by role/resource, check user permissions, create and delete permissions.
feat: Update profile repository for user profile management
- Enhanced ProfileRepository to manage user profiles.
- Implemented methods to upload avatars, update profile information, create profiles if they don't exist, and fetch profiles by user ID/NIK.
feat: Develop resources repository for resource management
- Added ResourcesRepository to manage application resources.
- Implemented methods to fetch all resources, get resources by ID/type, create, update, and delete resources.
feat: Create roles repository for role management
- Added RolesRepository to manage user roles.
- Implemented methods to fetch all roles, get roles by ID/name, create and update roles, and fetch permissions for a role.
feat: Enhance users repository for user management
- Updated UsersRepository to manage user data and metadata.
- Implemented methods to check user roles, update user metadata, email, phone, and password, and search users by name/username/email.
- Added functionality to check if a user is banned.
- Added ProfileRepository for managing user profile data including fetching, updating, and uploading avatars.
- Introduced RolesRepository to handle role-related operations such as fetching all roles and retrieving roles by ID or name.
- Created UserRepository for user data management, including user authentication checks and profile updates.
- Developed OfficerModel to represent officer data with JSON serialization.
- Implemented RoleSelectionController to manage role selection logic during onboarding.
- Added LocationWarningScreen to handle location validation and user notifications.
- Created RoleSelectionScreen for users to select their roles during onboarding.
- Developed RoleCard widget for displaying role options in a user-friendly manner.
- Implement EventModel with JSON serialization and deserialization.
- Create EvidenceModel with associated JSON handling.
- Develop IncidentLogModel to manage incident logs and their evidences.
- Introduce SessionsModel to track user sessions related to events.
- Update index file to export new models.
feat(personalization): introduce permissions and resources models
- Add PermissionModel to manage user permissions with JSON support.
- Create ResourceModel to define resources and their associated permissions.
- Ensure proper serialization and deserialization for both models.
chore(database): update Prisma schema for new models and relationships
- Add new models: events, evidences, incident_logs, sessions, permissions, and resources.
- Define relationships between users, roles, and permissions.
- Update existing models to maintain referential integrity.
- Introduce enums for session status, contact message status, crime rates, and crime status.
- Updated description format in pubspec.yaml
- Added multiple utility packages for enhanced functionality
- Included local assets and fonts for better UI design
- Updated widget test to reference the new app structure
- Registered new plugins in generated_plugin_registrant.cc for Windows
- Updated generated_plugins.cmake to include new plugins
- Modified Supabase config to allow additional redirect URLs