- Added centralized API exports for admin functionalities.
- Created permissions API for managing system permissions, including listing, creating, updating, and deleting permissions.
- Developed role-permissions API for managing permissions assigned to roles, including listing, assigning, and removing permissions.
- Implemented roles API for managing company roles, including listing, creating, updating, and deleting roles.
- Created user-permissions API for managing individual user permissions, including assigning and revoking permissions.
- Developed user-roles API for managing user roles, including listing roles assigned to users and assigning/removing roles.
- Added utility functions for permission checks and route guards based on user permissions.
- Implemented admin dashboard layout and roles management page with UI components for role and permission management.
- Added Pydantic schemas for permission-related requests and responses in `schemas.py`.
- Created seed data for various permissions and roles in `seed.py`.
- Developed a `PermissionService` class in `service.py` to handle permission logic, including user role assignments and direct permission grants.
- Implemented unit tests for permission functionalities in `test_permissions.py`, covering role assignments, permission checks, and expiration handling.
- Seeded trailer types data in `trailer_types/seed.py`.
- Updated `TimestampMixin` to use `server_default` for `created_at` and `updated_at` fields.
- Modified various models in the `fa_classes`, `doc_types_dig`, `ports`, `units_of_measure`, `invoices`, `parts`, `trailers`, `licenses`, `tenants`, and `user_tenant` modules to set `server_default` for boolean fields and other relevant fields.
- Adjusted the `trailer_types` model to change the schema from `a76` to `public`.
- Implemented database migration execution during application startup in `main.py`.
- Removed old Alembic migration execution logic from the entrypoint script.
- Updated seed data for units of measure and removed unused seed files.
- Added country selection dialog with search functionality.
- Introduced tariff fraction selection dialog with infinite scrolling and search.
- Implemented unit of measure selection dialog with search capabilities.
- Updated invoice editing UI to include new fields for line descriptions and identifiers.
- Improved layout and spacing for better user experience in invoice editing forms.
- Added API endpoints for fetching tariff fractions and units of measure with proper error handling.
- Added avatar_url, phone, bio, and preferences fields to UserTenant model.
- Updated UserService to handle user profile updates and retrieval.
- Created endpoints for getting and updating the current user's profile.
- Implemented avatar upload functionality with validation in routes.
- Enhanced frontend to manage user profile, including avatar preview and form handling.
- Added server-side logic for loading and updating user profile data.
- Updated .gitignore to include uploads directory.
- Added UserService to manage Keycloak users with license validation in the backend.
- Created API client for user management in the frontend.
- Developed user management page with functionalities to create, update, delete, and list users.
- Implemented user statistics retrieval and display.
- Added dialogs for user creation, editing, password change, and deletion confirmation.
- Implemented DTOs for KPIs, activity items, chart data points, and dashboard statistics.
- Created API routes for fetching dashboard statistics, operations overview, and inventory metrics.
- Developed a service layer to handle the logic for generating dashboard statistics, including invoice metrics, client/provider metrics, and recent activity.
- Added frontend API client methods for fetching dashboard data.
- Created TypeScript types for dashboard data structures.
- Developed Svelte components for displaying recent activity, KPI cards, trend charts, and donut charts.
- Added new schemas for FA line items in the backend, including creation, update, and response DTOs.
- Updated existing line item schemas to include FA data.
- Modified database models to reflect new table names for line quantities and references.
- Enhanced ItemService to handle FA data during item creation and updates.
- Introduced new routes and service layer for FA line items, including CRUD operations.
- Updated frontend components to support FA line item data, including new fields and UI adjustments.
- Implemented data flattening for improved item display in the dashboard.
- Implemented interfaces for UnitOfMeasure, UnitOfMeasureListResponse, CreateUnitOfMeasureData, and UpdateUnitOfMeasureData.
- Added API methods for listing, retrieving, creating, updating, and deleting units of measure.
- Included pagination support for the list method.