public virtual void InitializeFrom(ApiPermissionType permission) { Permissions = new List <PermissionType>(); //Dictionary<string, string> map = new Dictionary<string, string> //{ // { "DelegatedWork", "Delegated (work or school account)" }, // { "DelegatedPersonal", "Delegated (personal Microsoft account)" }, // { "Application", "Application" } //}; PermissionType p = ConvertFromPerm("Delegated (work or school account)", permission.DelegatedWork, permission.DelegatedWorkRestrictedProperties); if (p != null) { Permissions.Add(p); } p = ConvertFromPerm("Delegated (personal Microsoft account)", permission.DelegatedPersonal, permission.DelegatedPersonalRestrictedProperties); if (p != null) { Permissions.Add(p); } p = ConvertFromPerm("Application", permission.Application, permission.ApplicationRestrictedProperties); if (p != null) { Permissions.Add(p); } }
public static PermissionsRecord ConvertToRecord(PathKind pathKind, ApiPermissionType perm) { PermissionsRecord record = null; switch (perm.HttpVerb) { case "GET": record = CreateGetPermissionRecord(pathKind); break; case "PATCH": record = CreatePatchPermissionRecord(pathKind); break; case "POST": record = CreatePostPermissionRecord(pathKind); break; case "DELETE": record = CreateDeletePermissionRecord(pathKind); break; default: throw new Exception($"Unknown http verb {perm.HttpVerb}"); } if (record == null) { throw new Exception($"Invalid HttpVerb {perm.HttpVerb} in {pathKind} path"); } ReadRestrictionsType read = record as ReadRestrictionsType; if (read != null && read.ReadByKeyRestrictions != null) { read.ReadByKeyRestrictions.InitializeFrom(perm); return(read); } record.InitializeFrom(perm); return(record); }