Codeunit 9106 SharePoint File, source in 26
Source242526272829metadata in 26
src/System Application/App/SharePoint/src/model/file/SharePointFile.Codeunit.al114 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace System.Integration.Sharepoint;
codeunit 9106 "SharePoint File"
{
Access = Internal;
InherentEntitlements = X;
InherentPermissions = X;
procedure Parse(Payload: Text; var SharePointFile: Record "SharePoint File" temporary)
var
JObject: JsonObject;
begin
if JObject.ReadFrom(Payload) then
Parse(JObject, SharePointFile);
end;
procedure ParseSingleReturnValue(Payload: Text; var SharePointFile: Record "SharePoint File" temporary)
var
JObject: JsonObject;
JToken: JsonToken;
begin
//extract newly created file data from the post response that created it.
if JObject.ReadFrom(Payload) then
if JObject.Get('d', JToken) then begin
SharePointFile := ParseSingle(JToken.AsObject());
SharePointFile.Insert();
end;
end;
procedure ParseSingle(Payload: Text; var SharePointFile: Record "SharePoint File" temporary)
var
JObject: JsonObject;
begin
if JObject.ReadFrom(Payload) then
SharePointFile := ParseSingle(JObject);
end;
procedure Parse(Payload: JsonObject; var SharePointFile: Record "SharePoint File" temporary)
var
JToken: JsonToken;
begin
if Payload.Get('value', JToken) then
foreach JToken in JToken.AsArray() do begin
SharePointFile := ParseSingle(JToken.AsObject());
SharePointFile.Insert();
end;
end;
local procedure ParseSingle(Payload: JsonObject) SharePointFile: Record "SharePoint File" temporary
var
SharePointClient: Codeunit "SharePoint Client";
JToken: JsonToken;
MetaData: JsonObject;
begin
SharePointFile.Init();
if Payload.Get('UniqueId', JToken) then
SharePointFile."Unique Id" := JToken.AsValue().AsText();
if Payload.Get('Name', JToken) then
SharePointFile.Name := CopyStr(JToken.AsValue().AsText(), 1, MaxStrLen(SharePointFile.Name));
if Payload.Get('Title', JToken) then
if not JToken.AsValue().IsNull() then
SharePointFile.Title := CopyStr(JToken.AsValue().AsText(), 1, MaxStrLen(SharePointFile.Title));
if Payload.Get('TimeCreated', JToken) then
SharePointFile.Created := JToken.AsValue().AsDateTime();
if Payload.Get('Exists', JToken) then
SharePointFile.Exists := JToken.AsValue().AsBoolean();
if Payload.Get('Length', JToken) then
SharePointFile.Length := JToken.AsValue().AsInteger();
if Payload.Get('ServerRelativeUrl', JToken) then
SharePointFile."Server Relative Url" := CopyStr(JToken.AsValue().AsText(), 1, MaxStrLen(SharePointFile."Server Relative Url"));
if Payload.Get('odata.id', JToken) then
SharePointFile.OdataId := CopyStr(JToken.AsValue().AsText(), 1, MaxStrLen(SharePointFile.OdataId));
if Payload.Get('odata.type', JToken) then
SharePointFile.OdataType := CopyStr(JToken.AsValue().AsText(), 1, MaxStrLen(SharePointFile.OdataType));
if Payload.Get('odata.editLink', JToken) then
SharePointFile.OdataEditLink := CopyStr(JToken.AsValue().AsText(), 1, MaxStrLen(SharePointFile.OdataEditLink));
if Payload.Get('__metadata', JToken) then begin
MetaData := JToken.AsObject();
if MetaData.Get('id', JToken) then
SharePointFile.OdataId := CopyStr(JToken.AsValue().AsText(), 1, MaxStrLen(SharePointFile.OdataId));
if MetaData.Get('uri', JToken) then
SharePointFile.OdataEditLink := CopyStr(JToken.AsValue().AsText(), JToken.AsValue().AsText().IndexOf('/_api/Web/') + 6, MaxStrLen(SharePointFile.OdataEditLink));
if MetaData.Get('type', JToken) then
SharePointFile.OdataType := CopyStr(JToken.AsValue().AsText(), 1, MaxStrLen(SharePointFile.OdataType));
end;
if Payload.Get('ListItemAllFields', JToken) then begin
MetaData := JToken.AsObject();
if MetaData.Get('Id', JToken) then
SharePointFile.Id := JToken.AsValue().AsInteger();
end;
SharePointClient.ProcessSharePointFileMetadata(Payload.AsToken(), SharePointFile);
end;
}