Commit graph

253 commits

Author SHA1 Message Date
f1c3100ef5
refactor(inco): simplify base query by using subquery for family label
Improves readability and maintainability of the query logic.
2026-09-01 09:30:32 +02:00
8c13ab5236
chore(config): remove unused ARCADIA_DB_SCHEMA and prefix_schema from database configuration 2026-09-01 09:30:20 +02:00
bc6a603913
feat(brands): remove internal uuid from brand responses and query only by brandCode 2026-08-31 17:35:32 +02:00
7312289811
feat(employees): rename ArcadiaEmployeeId to SiRhMatricule and expose matricule in api responses 2026-08-31 17:29:18 +02:00
2606ac882e
feat(inco): mask internal allergen ids in api presentation responses 2026-08-31 17:23:02 +02:00
4434eb5757
feat(inco): rename identifiers to incoId/incoCompoId and resolve sellFamilly label 2026-08-31 17:16:38 +02:00
00f38b7d41
fix(employees): filter out invalid matricules and comments from Arcadia database 2026-08-31 16:32:11 +02:00
f3c59d8ba4
fix(docs): update API endpoint URL in Root.yml
Removed trailing slash from the API endpoint URL for consistency.
2026-08-31 16:27:15 +02:00
71f97b16e3
refactor(string): centralize string encoding and normalization in StringEncoder & StringHelper, normalize BrandName to titleCase 2026-08-31 15:36:16 +02:00
9dab38e722
chore(docs): update API endpoint in Root.yml and add VM Linux environment
- Removed trailing slash from API URL for consistency.
- Added VM Linux environment configuration with necessary variables.
2026-08-31 15:36:16 +02:00
Jeremy Munsch
e2e41ff6f6
chore: add tinker dependencies for development purpose 2026-08-31 12:42:34 +02:00
742da323aa
perf(brands): paginate ArcadiaBrandDirectory and BrandRepository with SQL limit/offset and cache warming 2026-08-31 12:37:16 +02:00
97a73a5e05
fix(brand): filter out comment tuples and enforce positive integer validation for ArcadiaId 2026-08-31 11:45:35 +02:00
2d7d7d5077
style(docs): format SQL query comments in README 2026-08-31 11:38:38 +02:00
ce528d377e
fix(openapi): replace invalid nullable property with OpenAPI 3.1 multi-type 2026-08-31 11:31:42 +02:00
e60327d286
docs(arcadia): add brand queries, HTTP API endpoint, and CLI usage in README 2026-08-31 11:30:41 +02:00
4302b89d88
fix(arcadiaId): update pattern to allow larger numeric IDs
Updated the regex pattern for ArcadiaId to accept larger numeric values.
2026-08-31 11:27:32 +02:00
8f073ecd40
style: phpcbf pass 2026-08-31 11:23:47 +02:00
3da09495dc
docs: update README to use 'artisan' command prefix
Replaced 'php arcadia:' with 'php artisan arcadia:' for consistency in command usage.
2026-08-31 11:18:28 +02:00
55df66a1c8
fix(oracle): support multi-schema queries and SID connection configuration 2026-08-31 11:17:16 +02:00
d1508fe22f
docs: update README with development and application management commands
Added sections for development quality commands and Arcadia application management commands.
2026-08-31 11:14:21 +02:00
Jeremy Munsch
728326d0a4
refactor: arcadia replicate migration run only in testing or local 2026-08-31 10:11:53 +02:00
54a199d4e0
refactor(string): extract transliterate to Shared\Helpers\StringHelper 2026-08-28 18:10:15 +02:00
0805017a70
fix(parser): use ICU transliterator for platform-independent ASCII slugification 2026-08-28 18:04:23 +02:00
e8280b1f1d
refactor(phpcs): update ruleset name and remove unused rules
refactor(pint): change preset to psr12 and add version

refactor(rector): simplify configuration and remove Laravel-specific sets
2026-08-28 17:52:54 +02:00
d508a0cb86
build(ci): require ext-oci8 in composer.json and add ignore-platform-req in GitLab CI 2026-08-28 17:46:26 +02:00
72a4278ca6
fix(replication): clean drop in reverse order and purge recyclebin during fresh migrations 2026-08-28 17:40:26 +02:00
b4f3c0bdb9
feat(health): dynamic schema conformity inspection from Migrator definitions and Oracle DUAL ping 2026-08-28 17:33:13 +02:00
d2c9e0807a
feat(database): update database configuration for Oracle and MySQL
- Changed DB_CONNECTION to MySQL and updated related settings.
- Added Oracle database configuration with necessary parameters.
- Introduced docker-compose for MySQL and Oracle services.
2026-08-28 17:31:18 +02:00
46ab5e4325
feat(health): add Arcadia database conformity check with diff hashing and synchronous alerting 2026-08-28 14:12:33 +02:00
197aedbc5e
refactor(health): remove toArray from HealthCheckResult DTO and encapsulate serialization in HealthCheckResponse 2026-08-27 15:19:36 +02:00
403ea2c6c2
refactor: add health check feature within cli and job. 2026-08-27 14:39:59 +02:00
34b76cb397
test(feature): align feature and openapi tests with replicated Oracle tables
- Update tests to use factory static helpers and avoid hardcoded table/connection names
- Align test data columns with real replicated Oracle schema
- Remove obsolete duplicate IncoSheetsShowTest
2026-08-26 17:29:18 +02:00
1842223ddc
refactor(database): improve replicated factories, seeders, and config injection
- AbstractTableFactory delegates connection resolution without hardcoded config keys
- Enforce mandatory connection parameter on Migrator without Infra dependencies
- Inject ArcadiaStorageConfig, AppConfig, and HmacAuthConfig into services, seeders, and health checkers
- Enhance factories and seeders with helper methods (truncate, count, query, new)
- Clean up covers annotations on database seeders integration tests
2026-08-26 17:29:13 +02:00
cec8d1ea66
refactor(infra): replace Eloquent directory adapters with direct QueryBuilder adapters and mappers
- Replace Eloquent models for replicated Oracle tables with direct QueryBuilder directory adapters
- Bind ArcadiaEmployeeDirectory, ArcadiaIncoSheetDirectory, ArcadiaIncoShortSheetDirectory, ArcadiaIncoCompositionDirectory, and ArcadiaMarqueBrandDirectory
- Remove obsolete Eloquent directory classes and models
2026-08-26 17:29:08 +02:00
cf918ccd30
feat(infra): add mappers and parsers for replicated Arcadia Oracle tables
- Add IncoStringParser, IncoIngredientParser, IncoParser, and IncoCompositionParser
- Add ArcadiaBrandMapper, EmployeeMapper, IncoCompositionMapper, IncoShortMapper, and IncoMapper
- Add complete unit test suites for all parsers and mappers
2026-08-26 17:29:05 +02:00
f7db5105ad
docs: update IncoSheets search parameters and local dev config
Updated the search URL and parameters in Search Inco Sheets.yml for consistency.
Corrected INCOSHEET_ID value in Local Dev.yml for accurate testing.
2026-08-26 16:26:50 +02:00
beec93fe4f
docs: add Digital-salarie table structure to documentation
Includes basic structure for RU_PERSONNE_SIRH table.
2026-08-26 16:26:42 +02:00
f88694110d
refactor: cleanup fake arcadia tables used for development 2026-08-26 16:25:47 +02:00
f7c7bb3db6
docs: add Oracle integration guide to README
Includes reference to SQL queries and live documentation.
2026-08-26 15:32:45 +02:00
361cf230e3
refactor: replicate and reproduce arcadia tables 2026-08-26 15:22:00 +02:00
06deb17236
chore: pint pass 2026-08-26 10:14:36 +02:00
a492e9823a
fix(queue): add explicit tries and timeout to SendClientSecurityAlertMail (F-2026-0007) 2026-08-26 10:11:59 +02:00
3582921df8
build(deps): move driftingly/rector-laravel to require-dev (F-2026-0005) 2026-08-26 10:11:56 +02:00
5ca882659d
fix(auth): point auth provider to ApiClient and remove dead UserFactory (F-2026-0006) 2026-08-26 10:11:36 +02:00
bc5303eb0a
fix(security): make nonce validation and consumption atomic via CacheRepository add (F-2026-0008) 2026-08-26 10:11:32 +02:00
6eb9be9156
fix(database): guard dropIfExists in multi-connection migrations by local/testing environment (F-2026-0004) 2026-08-26 10:11:29 +02:00
18b83b6e67
perf(directory): memoize arcadia brand lookups to eliminate N+1 queries during INCO sheet hydration (F-2026-0003) 2026-08-26 10:11:26 +02:00
861a1a8146
fix(cache): resolve all cached brands before deleting collection key in BrandCache reset (F-2026-0002) 2026-08-26 10:11:23 +02:00
dd5bcdd351
fix(security): sanitize rate limiter client IP resolution to prevent header spoofing (F-2026-0001) 2026-08-26 10:11:21 +02:00