mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 14:46:55 +01:00
* Strengthen review contracts and HTTP guidance - add outbound HttpClient transport and HTTP status review rules with paired fixtures`n- resolve layered action-skill overrides deterministically across enabled layers`n- validate findings reports and enforce measurable changed-fixture coverage * Add data handling and test isolation guidance - add SCM guidance for deriving base quantities through line unit-of-measure validation`n- add security guidance for parameterizing SetFilter with external text`n- add test isolation guidance for resetting per-test state before initialization guards`n- add web-service guidance for JSON null handling and invariant standard format 9`n- route and cover all five rules with paired evaluation fixtures * Fix findings report rollup validation * Validate findings report rollups * Enforce merged finding identity * Fix locationless finding deduplication * Reject conflicting merged corrections * Detect conflicting leaf corrections * Route HTTP error checks to canonical web-services knowledge Let the Error Handling leaf conditionally retrieve the existing HTTP owner articles, preserving applicability and exact-path provenance. Add deterministic source-contract and retrieval regressions without duplicating knowledge rules. Copilot-Session-Id: a92a7788-103e-4651-9b84-19e34caffb94 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: wenjiefan <wenjiefan@microsoft.com> Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
28 lines
929 B
AL
28 lines
929 B
AL
codeunit 50172 "Contact Payload Reader Good"
|
|
{
|
|
procedure ApplyPayload(var Contact: Record Contact; Payload: JsonObject)
|
|
var
|
|
EmailAddress: Text;
|
|
begin
|
|
if TryGetText(Payload, 'email', EmailAddress) then
|
|
Contact.Validate("E-Mail", CopyStr(EmailAddress, 1, MaxStrLen(Contact."E-Mail")));
|
|
Contact.Modify(true);
|
|
end;
|
|
|
|
local procedure TryGetText(Payload: JsonObject; PropertyName: Text; var Value: Text): Boolean
|
|
var
|
|
Token: JsonToken;
|
|
begin
|
|
if not Payload.Get(PropertyName, Token) then
|
|
exit(false);
|
|
if not Token.IsValue() then
|
|
Error(NotAValueErr, PropertyName);
|
|
if Token.AsValue().IsNull() then
|
|
exit(false);
|
|
Value := Token.AsValue().AsText();
|
|
exit(true);
|
|
end;
|
|
|
|
var
|
|
NotAValueErr: Label 'The property %1 must contain a single value.', Comment = '%1 = JSON property name';
|
|
}
|