Skip to content

Commit 074a720

Browse files
committed
docs(changeset): the measured user-field reading on the import door (#22739)
Claude-Session: https://claude.ai/code/session_01JfJfBUC3cQ6hhgm9MQK76T Co-authored-by: Claude <noreply@anthropic.com>
1 parent 22bfc27 commit 074a720

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎.changeset/22739-import-reference-target-exposure.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Clause-②: no (narrowing)
2020

2121
- **Every caller of `runImport` whose protocol reads object declarations.** The decision takes no user, so an administrator, a member and a system context (the connector pull) are answered the same. The target's declaration is read through the protocol's `getMetaItem`, a new optional member of `ImportProtocolLike`; a protocol without it (plugin-auth's identity import, whose reads run under the system identity) is not judged.
2222
- **No new error code, no status change.** The refusal is the per-row `reference_not_found` the resolver already answers.
23-
- **The target is read through `referenceTargetOf`.** `buildFieldMetaMap` now takes a reference field's target from the spec's arbiter instead of the raw `reference` key, so a `user` field written without `reference` targets `sys_user` on the import, export and import-template doors, as it already did on the data door's `$expand`. A non-string `reference` carrier, which `ObjectSchema` refuses, now throws there instead of reading as "no target".
23+
- **The target is read through `referenceTargetOf`.** `buildFieldMetaMap` now takes a reference field's target from the spec's arbiter instead of the raw `reference` key, so a `user` field written without `reference` (fully specified: the type fixes the target) targets `sys_user` on the import, export and import-template doors, as it already did on the data door's `$expand`. Measured on the import door: a cell holding a user's email used to fail `reference_not_found` (the raw text reached the write as an id); it now resolves to that user. A non-string `reference` carrier, which `ObjectSchema` refuses, now throws there instead of reading as "no target".
2424

2525
**Fix, if an import relied on the old answer:** the target's own declaration decides — grant `list` in its `enable.apiMethods`, or drop `enable.apiEnabled: false`, if the object is meant to be matched by import.
2626

0 commit comments

Comments
 (0)