public static JObject Serialize(UMAResource umaResource) { var result = new JObject { { UMAResourceNames.Id, umaResource.Id }, { UMAResourceNames.ResourceScopes, new JArray(umaResource.Scopes) }, { UMAResourceNames.IconUri, umaResource.IconUri }, { UMAResourceNames.CreateDateTime, umaResource.CreateDateTime } }; Enrich(result, UMAResourceNames.Type, umaResource.Type); Enrich(result, UMAResourceNames.Description, umaResource.Descriptions); Enrich(result, UMAResourceNames.Name, umaResource.Names); return(result); }
private static UMAResource BuildUMAResource(JObject jObj, bool isHttpPost = false) { var id = Guid.NewGuid().ToString(); var result = new UMAResource(id, DateTime.UtcNow); var scopes = jObj.GetUMAScopesFromRequest(); var descriptions = jObj.GetUMADescriptionFromRequest(); var iconUri = jObj.GetUMAIconURIFromRequest(); var names = jObj.GetUMANameFromRequest(); var type = jObj.GetUMATypeFromRequest(); if (!scopes.Any()) { throw new UMAInvalidRequestException(string.Format(UMAErrorMessages.MISSING_PARAMETER, UMAPermissionNames.ResourceScopes)); } if (isHttpPost) { var subject = jObj.GetUMASubjectFromRequest(); if (string.IsNullOrWhiteSpace(subject)) { throw new UMAInvalidRequestException(string.Format(UMAErrorMessages.MISSING_PARAMETER, UMAResourceNames.Subject)); } result.Subject = subject; } foreach (var kvp in descriptions) { result.AddDescription(kvp.Key, kvp.Value); } foreach (var kvp in names) { result.AddName(kvp.Key, kvp.Value); } result.Type = type; result.IconUri = iconUri; result.Scopes = scopes.ToList(); return(result); }
public Task <bool> Update(UMAResource data, CancellationToken token) { _dbContext.Resources.Update(data); return(Task.FromResult(true)); }