You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Align plugin Target with Dataverse for system-managed fields (#344)
System fields were leaked into the plugin Target during pre-stages:
ownerid was injected before PreValidation, and created/modified
timestamps before PreOperation. Dataverse resolves these during the
main operation, exposing them only via the post-image and the
post-operation Target.
- Core: stop injecting ownerid in HandleInternalPreOperations (keep id);
extend CopySystemAttributes to reflect ownerid/ownership/statecode/
statuscode onto the post-operation Target (add OptionSetValue support).
- CreateRequestHandler: move created/modified stamping from the pre-stage
into the main operation on the persisted clone; resolve the effective
owner on a local clone for the access checks only.
- UpdateRequestHandler: drop the pre-stage modified stamping (Utility.Touch
already sets the persisted values).
- Tests: add ContactSystemFieldsProbePlugin and assertions that system
fields are absent from the pre-stage Target, a caller-set ownerid stays
visible, and the fields are present in the post-image and post-Target.
Co-authored-by: Claude <noreply@anthropic.com> via Conducktor <conducktor@contextand.com>
0 commit comments