35 Commits

Author SHA1 Message Date
e8c9a307ab Enhance route permission checks across management and inventory modules
All checks were successful
farmcontrol/farmcontrol-api/pipeline/head This commit looks good
This commit updates various route handlers in the management and inventory modules to include permission checks using the `checkPermissions` middleware. The changes ensure that access to properties, values, and search functionalities for different entities (e.g., users, products, tax rates) is properly restricted based on user permissions. This enhancement improves the security and integrity of the application by enforcing role-based access control across multiple routes.
2026-08-20 20:15:07 +01:00
bce5afad7e Implement caching and permission checks for user permissions
This commit introduces a caching mechanism for user permissions using Redis, enhancing performance by reducing database queries. The `permissions.js` file has been updated to include functions for saving and retrieving user permissions from Redis, as well as middleware for checking permissions in various routes. Additionally, tests have been added to ensure the correctness of the permission logic and caching behavior, improving the overall security and efficiency of the application.
2026-08-20 19:35:15 +01:00
aa4b173a7e Add sorting functionality to various inventory and management routes
All checks were successful
farmcontrol/farmcontrol-api/pipeline/head This commit looks good
This update introduces a new utility function, `getSort`, to validate and apply sorting based on allowed sorters across multiple routes in the inventory and management modules. The function is integrated into route handlers for invoices, payments, tax records, filament stocks, order items, part stocks, product stocks, purchase orders, shipments, and various management entities. This enhancement improves the flexibility and consistency of sorting operations throughout the application.
2026-08-11 02:12:27 +01:00
4bd29e2010 Enhance utility functions in utils.js for improved reference model handling and filtering logic
All checks were successful
farmcontrol/farmcontrol-api/pipeline/head This commit looks good
This update introduces new functions such as `getRefModelEntryFromPrefix`, `stripPrefixFromOperand`, and `getRefModelEntryForToken` to streamline the processing of reference models and tokens. Additionally, the `resolveRefLeaf` and `resolveRefCondition` functions have been refactored to utilize these enhancements, improving the overall efficiency and clarity of the filtering and reference resolution processes. Minor formatting adjustments were also made in orderitems.js for consistency.
2026-08-09 22:52:05 +01:00
2a30b7f3f6 Enhance filtering and parsing logic in utils.js and update route handlers for async support
This update introduces several utility functions in `utils.js` to improve the handling of ObjectId paths, schema types, and filtering logic. Key additions include `isObjectIdPath`, `getBaseProperty`, and `getFilterFieldKind`, which enhance the flexibility of property handling. Additionally, all route handlers in the finance and inventory modules have been refactored to support asynchronous operations, ensuring better performance and responsiveness when processing requests.
2026-08-09 22:27:45 +01:00
f69c88926c Refactor allowedFilters in inventory and management routes to improve consistency and readability. Cleaned up whitespace and ensured all filters are properly formatted for better query handling across purchase orders, shipments, and filament SKUs.
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
2026-08-01 18:25:59 +01:00
c043ad7a86 Enhance allowedFilters across multiple routes to include 'createdAt', 'updatedAt', and '_reference' for improved filtering capabilities. This update applies to finance, inventory, management, and sales modules, ensuring consistency and better query handling.
All checks were successful
farmcontrol/farmcontrol-api/pipeline/head This commit looks good
2026-08-01 14:26:40 +01:00
74c0d8eb52 Refactor propertiesAllowedFilters across various routes to streamline filtering logic. Removed redundant allowedFilters definitions and replaced them with propertiesAllowedFilters for improved query handling in finance, inventory, and management modules.
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
2026-08-01 13:22:51 +01:00
1e807beacf Implement neighbors caching and retrieval for various entities in the inventory and finance modules. Introduced new route handlers for fetching neighbors in invoices, payments, tax records, filament stocks, order items, part stocks, product stocks, purchase orders, shipments, stock audits, stock events, stock locations, and stock transfers. Updated allowed filters for improved query capabilities across these routes. Enhanced database.js with caching logic for neighbors, including cache invalidation on object updates.
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
2026-08-01 13:20:01 +01:00
287e74b682 Added new route handlers and service functions to retrieve distinct property values for various entities, including invoices, payments, tax records, filament stocks, and more. Updated corresponding routes to support these new functionalities across multiple management and production modules, enhancing data querying capabilities.
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
2026-07-24 23:19:48 +01:00
50eacb3974 Added text indexes to various schemas for improved search capabilities across finance, inventory, and management modules. Updated route handlers to include search functionality for invoices, payments, tax records, and inventory items, enhancing data retrieval efficiency.
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
2026-07-04 16:48:50 +01:00
af0934b163 Added product category support, including new routes, database schemas, and service updates. Enhanced existing product functionalities to incorporate product categories in filtering and population. 2026-06-14 23:51:51 +01:00
92e07c97d7 Numerious fixes. 2026-05-17 19:11:29 +01:00
57f057e3aa Implemented stock locations.
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
2026-05-17 16:55:01 +01:00
d3c662a9ec Added stock location and stock transfer features, including new routes, database schemas, and service updates. Enhanced existing stock-related functionalities to support filtering and population of stock location data. 2026-03-21 23:14:07 +00:00
7eb774a297 Added missing SKUs. 2026-03-08 01:07:34 +00:00
73fbb50b34 Implemented Part SKUs. 2026-03-07 23:34:12 +00:00
866c29f33f Set default state as 'draft' and introduced 'postedAt' field. Implemented postProductStock route handler to transition product stock from draft to posted state, including state validation checks. Updated related service functions for consistency.
All checks were successful
farmcontrol/farmcontrol-api/pipeline/head This commit looks good
2026-03-07 20:37:41 +00:00
7c44f36590 Implemented product stocks and minor improvements.
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit
2026-03-07 13:38:05 +00:00
dd86075734 Add 'name' field and invoicing details to order item schema
- Introduced a new 'name' field as a required attribute in the order item schema.
- Added invoicing-related fields: 'invoicedAmountWithTax', 'invoicedAmount', 'invoicedQuantity', 'invoicedAmountRemaining', 'invoicedAmountWithTaxRemaining', and 'invoicedQuantityRemaining' to track invoicing status.
- Updated route handlers to accommodate the new 'name' field in order item creation and editing processes.
- Enhanced the recalculation logic to include remaining invoiced amounts and quantities.
2025-12-28 02:11:37 +00:00
5a16890b7a Add route handler for updating multiple stock events in stockevents.js 2025-12-27 14:03:38 +00:00
361689cef4 Update allowedFilters in order items route to include shipment and shipment._id for enhanced filtering capabilities. 2025-12-27 14:03:25 +00:00
a7bda46acf Add shipment management functionality with new route handlers for shipping, receiving, and canceling shipments. Updated service methods to handle state validation and order item updates accordingly. 2025-12-27 14:03:03 +00:00
fadaafdad8 Add purchase order management functionality with new route handlers for posting, acknowledging, and canceling purchase orders. Enhanced service methods to validate states and update order items and shipments accordingly. 2025-12-27 14:02:16 +00:00
eb2e920028 Add batch update functionality for filament stocks, order items, part stocks, purchase orders, shipments, and filaments. Implemented new route handlers for editing multiple records and enhanced existing services to support bulk updates. 2025-12-27 14:01:46 +00:00
55a1633eab Updated import paths. 2025-12-13 21:14:06 +00:00
d88da6939d Added order items, shipments etc 2025-12-07 02:36:55 +00:00
8b978e1787 Added purchase orders and couriers. 2025-12-03 03:40:06 +00:00
2dbe2e9358 Fixed filtering 2025-12-03 00:07:36 +00:00
b44e3a5141 Added loads of features, updated packages and created schema sync. 2025-12-02 18:29:30 +00:00
5f8a58ca81 Enhance filtering for filament stocks: Added 'filament._id' to the allowed filters in the inventory route to improve data retrieval capabilities. 2025-09-05 23:25:42 +01:00
1fba9cc6ba Using global functions for database interaction. 2025-08-24 11:09:40 +01:00
e1b0b707ba Update dependencies, refactor routes, and enhance caching: Upgraded various package versions in package.json and package-lock.json for improved performance and security. Refactored routes to include new document-related endpoints and integrated caching mechanisms for user and token lookups to optimize authentication processes. Updated schemas to support new data structures and relationships, ensuring better data integrity and retrieval. 2025-08-18 00:51:46 +01:00
eb8bc0f4b3 Remove unused files and refactor imports: deleted obsolete files including passport.js, and others, while updating import paths in various services and routes for consistency. Added ESLint and Prettier configurations to enhance code quality. 2025-06-29 21:53:18 +01:00
79ff1da0a6 Refactor routes and schemas: reorganized service imports, updated user and auth routes, and modified schema paths for better structure. Removed unused routes and services to streamline the codebase. 2025-06-29 21:30:54 +01:00