MFR Helper
App\Http\Helpers\Mfr\Helper
Statische Lookup-Tabellen für die 15+ MFR-Entities. Hält die "Was-gehört-zu-was?"-Konfiguration an einer einzigen Stelle.
getExpand($entity): string
OData-Expand-Strings pro Entity. Nutze sie, damit ein Sync-Lauf alle Kindrelationen mitzieht.
use App\Http\Helpers\Mfr\Helper;
$expand = Helper::getExpand('Companies');
// → 'Contacts,Tags,ServiceObjects,MainContact'
$companies = $mfr->from('Companies')->expand($expand)->get();
| Entity | Expand |
|---|---|
Companies | Contacts,Tags,ServiceObjects,MainContact |
Contacts | Company,User |
CostCenters | false |
Documents | ServiceRequest |
ItemTypes | Unit |
ItemUnits | false |
Products | CustomValueStepTemplate/Steps |
Qualifications | false |
ServiceObjects | Contacts,Company,Product,Tags |
ServiceRequests | Qualifications,ServiceObjects,Customer,Reports,Items,Appointments/Contacts,Steps,Comments,StockMovements,Tags |
StepListTemplates | Steps |
Tags | false |
TimeEvents | Contact,ServiceRequest |
Users | Contact |
getModel($entity): ?string
Mapping Entity-Name → Eloquent-Modell in der Common-DB.
$model = Helper::getModel('Companies');
// → \App\Models\Common\Mfr\Companies::class
(new $model)->find($id);
getController($entity): ?string
Mapping Entity-Name → Resource-Controller-Klasse.
Helper::getController('Companies');
// → \App\Http\Controllers\Mfr\CompanyController::class
Praktisch im
WebHookCallController, um basierend auf einem Webhook-Type den passenden Controller zu instantiieren — analog zuWeclapp\Helper::getWeclappController().
getMapping($entity): ?string
Welche Mapping-Klasse übersetzt zwischen Weclapp und MFR?
Helper::getMapping('Companies');
// → \App\Http\Mapping\Weclapp\Mfr\CompanyMapping::class
Mappings konvertieren z.B.
Weclapp.Customer.partyType=ORGANIZATION↔MFR.Companies.IsPhysicalPerson=false.
getEntity($entity): ?string
Liefert für Sub-Entities den Parent-Namen — z.B. ist Items immer Teil eines ServiceRequests:
Helper::getEntity('Items'); // → 'ServiceRequests'
Helper::getEntity('Steps'); // → 'ServiceRequests'
Helper::getEntity('Reports'); // → false
Wann nutze ich was?
| Scenario | Helper |
|---|---|
| OData-Liste mit Kindrelationen | getExpand() |
| Webhook-Routing zu spezifischem Controller | getController() |
| Mapping zwischen Weclapp und MFR aufrufen | getMapping() |
| Bulk-Operation in Common-DB ohne MFR-Round-Trip | getModel() |
| Sub-Entity Parent-Lookup | getEntity() |