Darko Gjorgjijoski
7bb6d9bcc3
Consolidate Admin/Settings: merge GetSettingsController + UpdateSettingsController into SettingsController
2026-04-03 21:21:13 +02:00
Darko Gjorgjijoski
142899cfd7
Consolidate Admin/Backup: merge ApiController and DownloadBackupController into BackupsController
...
Inline the respondSuccess() helper, add download() method. Remove the
unnecessary ApiController base class and DownloadBackupController.
2026-04-03 21:18:45 +02:00
Darko Gjorgjijoski
d505677a74
Consolidate Admin/Modules: 10 single-action controllers into 2
...
ModulesController: index, show, checkToken, enable, disable
ModuleInstallationController: download, upload, unzip, copy, complete
2026-04-03 21:16:18 +02:00
Darko Gjorgjijoski
8f29e8f5de
Extract business logic from remaining models to services
...
New services:
- ExchangeRateProviderService: CRUD, API status checks, currency converter
URL resolution (extracted 122 lines from ExchangeRateProvider model)
- FileDiskService: create, update, setAsDefault, validateCredentials
(extracted 97 lines from FileDisk model)
- ItemService: create/update with tax handling (extracted from Item model)
- TransactionService: create/complete/fail (extracted from Transaction model)
- CustomFieldService: create/update with slug generation (extracted from
CustomField model)
Controllers updated to use constructor-injected services:
ExchangeRateProviderController, DiskController, ItemsController,
CustomFieldsController.
2026-04-03 19:32:37 +02:00
Darko Gjorgjijoski
ece6ce737b
Rename Services/Installation to Services/Setup to match controllers
2026-04-03 19:23:32 +02:00
Darko Gjorgjijoski
64c481e963
Rename controller namespaces: drop V1 prefix, clarify roles
...
V1/Admin -> Company (company-scoped controllers)
V1/SuperAdmin -> Admin (platform-wide admin controllers)
V1/Customer -> CustomerPortal (customer-facing portal)
V1/Installation -> Setup (installation wizard)
V1/PDF -> Pdf (consistent casing)
V1/Modules -> Modules (drop V1 prefix)
V1/Webhook -> Webhook (drop V1 prefix)
The V1 prefix served no purpose - API versioning is in the route prefix
(/api/v1/), not the controller namespace. "Admin" was misleading for
company-scoped controllers. "SuperAdmin" is now simply "Admin" for
platform administration.
2026-04-03 19:15:20 +02:00