40 Commits
Author SHA1 Message Date
René Walther 8306c4fb5b package autostore update in requirements 2025-12-10 13:09:40 +01:00
René Walther 2a16e0546a Fix: Add OPEN and CLOSED states to PortStatus enum to prevent 500 error on GET /ports/ 2025-12-10 07:29:15 +01:00
René Walther 0fc276d81f Fix closeport: handle missing suspend_taskgroup and release bin 2025-12-10 06:57:43 +01:00
René Walther 7f550c3c01 Implement SetPortMode, disable auto-simulation, add OpenBin test 2025-12-09 08:20:44 +01:00
René Walther 212beeb835 dd 2025-12-05 06:29:47 +01:00
René Walther 45a2313816 Fix: Allow re-creation of taskgroups by deleting existing ones first 2025-11-26 17:40:21 +01:00
René Walther 67eaee4ba3 Fix: Enhance openbin logic for task assignment and port type handling 2025-11-26 13:38:50 +01:00
René Walther 74846c2f1e Fix: Parse date strings in create_taskgroup and update_taskgroup 2025-11-26 07:55:14 +01:00
René Walther 4ec499dd99 Implement all 20 missing AutoStore XML API commands
- Extended database models (Bin, Port, Task, TaskGroup) with all required fields
- Added 15+ new CRUD operations for comprehensive data management
- Implemented all 20 XML commands from PARS_AUTOSTORE.pkb:
  * Bin Information: GetBinInfo, GetBinLoc, GetBinState
  * Bin Content: SetBinContentCode, updatebin (legacy support)
  * Bin Lifecycle: CreateBin, DeleteBin, PrepareBin
  * Bin Operations: OpenBin, CloseBin
  * Port Management: openport, closeport, insertbin, removebin
  * Task/Taskgroup: create_taskgroup, update_taskgroup, cancel_taskgroup, add_task, cancel_task, gettaskinfo
- All commands are case-insensitive and support flexible parameter names
- Enhanced Swagger/OpenAPI documentation with detailed examples
- Added comprehensive XML_API_REFERENCE.md with all command examples
- Added IMPLEMENTATION_SUMMARY.md with technical overview
- Full compatibility with PL/SQL PARS_AUTOSTORE package
- All commands available via /api and /api/json endpoints

Coverage: 20/20 commands (100%)
2025-11-07 07:04:11 +01:00
René Walther deb411cecd Contentcode = 0 bei neuen bins, Doku aktualisiet, XML Schnittstelle in swagger 2025-10-28 14:45:00 +01:00
René Walther ca2d10f527 problem fix 2025-10-28 10:46:51 +01:00
René Walther bdd1f39189 Swagger-Interface: Jetzt hast du ein Eingabefeld!
✅ Syntax-Highlighting: JSON ist einfacher zu bearbeiten
✅ Kompatibilität: Originalintegration funktioniert weiterhin über /api
✅ Beispiele: Die Dokumentation zeigt alle XML-Commands
Jetzt kannst du alle XML-Commands bequem in Swagger testen!
2025-10-28 09:45:52 +01:00
René Walther 67c0cb07be Fix Gitea workflow: change trigger from main to master branch 2025-09-11 07:22:16 +02:00
René Walther b9185263ec Add OpenBin returns neu BIN Number form port 2025-09-11 07:19:12 +02:00
René Walther da522ffac6 adapt automatic build on push 2025-09-11 06:57:39 +02:00
René Walther b73cc47b3e xml funktionen nicht case sensitiv 2025-09-10 18:24:14 +02:00
René Walther 9834720c73 API Doku aktualisiert 2025-09-10 18:00:36 +02:00
René Walther 4e3a178e6b neue Funktonen OpenBin, CloseBin, SetBinContententCode 2025-09-10 17:54:46 +02:00
René Walther 2affa839bf change generate-bin 2025-09-10 08:49:56 +02:00
René Walther b8e9f767eb Correction Dockerfile 2025-09-10 06:40:50 +02:00
rene.walther 5da898690d adapt gitea workflow 2025-09-02 08:22:25 +02:00
GitHub Copilot 239081364a Implement CI/CD Pipeline and Ansible Deployment (Issue #14)
- Add GitHub Actions workflow for Docker build & push to private registry
- Add Gitea Actions workflow (compatible with GitHub Actions)
- Extend README.md with comprehensive Ansible role example:
  - Complete directory structure and file examples
  - Docker Compose template with health checks
  - Variable configuration for different environments
  - Vault integration for secure credential management
  - Deployment playbook and execution examples
- Add .dockerignore for optimized Docker builds
- Both workflows support workflow_dispatch with optional tag suffix
- Multi-platform builds (linux/amd64, linux/arm64)
- Smart caching and detailed build summaries
2025-09-01 17:35:26 +00:00
GitHub Copilot 8e0c13ae17 Implement SetPortMode XML command (Issue #12)
- Add OFF mode to PortType enum in schemas
- Add set_port_mode CRUD function with mode validation
- Implement SetPortMode XML command handler with comprehensive validation
- Add 6 comprehensive tests covering all scenarios: success, OFF mode, invalid mode, port not found, missing port/mode
- All 39 tests passing with no regressions
2025-09-01 17:29:10 +00:00
GitHub Copilot f95f4edf75 Implement GetNextTask XML command (Issue #11)
- Add get_next_task_for_port CRUD function to find next available task for a port
- Implement GetNextTask XML command handler with port validation
- Add comprehensive tests for success, no tasks available, port not found, and missing port ID scenarios
- All 33 tests passing with no regressions
2025-09-01 17:25:04 +00:00
GitHub Copilot 65dc157c0d Implement DeleteTaskgroup XML command (Issue #10)
- Add delete_task_group CRUD function to handle cascading deletion
- Implement DeleteTaskgroup XML command handler with validation
- Add comprehensive tests for success, not found, and missing ID scenarios
- All 29 tests passing with no regressions
2025-09-01 17:22:09 +00:00
GitHub Copilot 917ea44b71 feat: Implement GetBinInfo XML command
- Add GetBinInfo command to XML API endpoint
- Return bin details including ID and ContentCode in XML format
- Implement comprehensive error handling for missing bins and invalid requests
- Add validation for required Bin ID parameter
- Add 3 comprehensive test cases covering success and error scenarios
- Update USER_MANUAL.md with detailed GetBinInfo documentation
- Maintain backward compatibility with existing XML commands

Resolves #13
2025-09-01 17:15:45 +00:00
GitHub Copilot 682a85c6eb feat: Implement background simulation logic for task processing
- Add automated background task processing every 5 seconds
- Implement run_simulation_cycle() function to process queued tasks
- Update task and task group status from 'queued' to 'completed'
- Add comprehensive tests for simulation logic in test_simulation.py
- Integrate simulation with FastAPI lifecycle management
- Unify status handling across the application
- Update USER_MANUAL.md with detailed simulation documentation

Resolves #7
2025-08-31 06:23:44 +00:00
rewa81 3ab411d623 feat: Implement GetTaskInfo and create user manual 2025-08-30 18:59:36 +02:00
rewa81 dd8fe01f86 feat: Implement core API for task and task group management
- Add Task and TaskGroup SQLAlchemy models with status and relationships.
- Add Pydantic schemas for creating and reading tasks/task_groups.
- Implement CRUD functions for creating and retrieving tasks and task groups.
- Add FastAPI endpoints:
  - POST /task_groups/ to create a new task group with tasks.
  - GET /task_groups/{group_id} to retrieve a task group.
  - GET /tasks/{task_id} to retrieve a single task.
- Add comprehensive pytest tests for the new endpoints.
- Fix TypeError in model instantiation by adding the 'status' column.

Closes #6
2025-08-30 16:49:05 +02:00
rewa81 47af0660d7 feat: Implement port simulation logic
- Extends the data model and schemas to include Ports with types (INBOUND/OUTBOUND) and status (FREE/OCCUPIED).
- Implements CRUD endpoints for managing ports.
- Adds business logic for bin arrival and departure at ports:
  - POST /ports/{port_id}/arrive: Assigns a bin to an INBOUND port, setting it to OCCUPIED.
  - POST /ports/{port_id}/depart: Frees an OUTBOUND port after a bin is collected.
- Includes comprehensive tests for all new endpoints and logic, including error handling.

Closes #5
2025-08-30 16:45:11 +02:00
rewa81 668fb3d1b8 feat: Add endpoint for bulk bin generation
- Implements a new endpoint POST /bins/generate to allow for the mass generation of bins.
- Adds a BinGenerationRequest schema to define the generation parameters (count, prefix).
- Implements the corresponding crud.create_bins function for efficient bulk insertion into the database.
- Adds a pytest test case to validate the functionality of the new endpoint.

Closes #4
2025-08-30 16:41:34 +02:00
rewa81 bf55b1d18a feat: Implement and test basic BIN API endpoints
- Implement CRUD endpoints for /bins/ in main.py.
- Create and pass tests for all BIN endpoints.
- Refactor test setup to use isolated, function-scoped database sessions for each test, ensuring test independence.
- Fix file corruption in database.py and tests/test_main.py.

Closes #3
2025-08-30 16:39:53 +02:00
rewa81 85a0cab1d5 feat: implement database setup and models for issue #2 2025-08-30 16:27:06 +02:00
rewa81 010c17015f refactor: Revert BIN management and testing implementation 2025-08-30 16:10:59 +02:00
GitHub Copilot 68de97bfb2 feat: Implement BIN management CRUD API and tests
- Add CRUD functions for creating, reading, and deleting BINs.
- Implement API endpoints for BIN management.
- Create tests for the BIN management API.
- Configure the project to run tests with pytest.
- Use an in-memory SQLite database for testing.
2025-08-30 13:50:05 +00:00
rewa81 80bc016540 feat(setup): implement initial project structure for issue #1 2025-08-30 15:25:42 +02:00
rewa81 a702d16e0f feat: Add README.md and .gitignore 2025-08-30 15:23:17 +02:00
rewa81 e7cc5cf95c .vscode deleted 2025-08-30 15:20:09 +02:00
rewa81 d57e646b1d add mcp github 2025-08-30 15:03:52 +02:00
rewa81 1641230fb4 first commit 2025-08-30 14:48:49 +02:00