@omnifyjp/ts 5.8.11 → 5.8.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -198,7 +198,24 @@ function addAssociationFields(propName, prop, fields, resourceNamespace, modelNa
|
|
|
198
198
|
const target = prop['target'] ?? '';
|
|
199
199
|
const methodName = toCamelCase(propName);
|
|
200
200
|
// Resolve resource namespace for the target (null if package without resource ns)
|
|
201
|
-
|
|
201
|
+
// Issue #98 v5.8.12: nest the resource FQCN by the TARGET schema's
|
|
202
|
+
// group folder so the inline `new \<ns>\<Name>Resource(...)` ref
|
|
203
|
+
// matches where the target Resource file actually lives. Pre-fix
|
|
204
|
+
// every cross-resource ref emitted FLAT (`use App\Omnify\Resources\PaymentProviderResource`)
|
|
205
|
+
// while the file lived at `App\Omnify\Resources\Payments\PaymentProviderResource` —
|
|
206
|
+
// PHP autoload failed at runtime on every base resource that
|
|
207
|
+
// referenced a sibling resource (whenLoaded relation).
|
|
208
|
+
const rawTargetResNs = target ? reader.resolveResourceNamespace(target, resourceNamespace) : resourceNamespace;
|
|
209
|
+
let targetResNs = rawTargetResNs;
|
|
210
|
+
if (rawTargetResNs && rawTargetResNs === resourceNamespace) {
|
|
211
|
+
// Project-owned target: nest by the target's group so the FQCN
|
|
212
|
+
// matches the grouped base resource. Package targets keep their
|
|
213
|
+
// own namespace.
|
|
214
|
+
const targetSchema = target ? reader.getSchema(target) : undefined;
|
|
215
|
+
if (targetSchema?.group) {
|
|
216
|
+
targetResNs = `${rawTargetResNs}\\${toPascalCase(targetSchema.group)}`;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
202
219
|
// If target is a package schema without a resource namespace, use simple whenLoaded
|
|
203
220
|
if (!targetResNs && relation !== 'MorphTo') {
|
|
204
221
|
if (relation === 'ManyToOne') {
|