public IEnumerable <ApiKeyModel> GetApplicationApiKeys(string applicationName) { var data = new List <ApiKeyData>(); List <ApiKeyModel> result = new List <ApiKeyModel>(); if (!Auth.AllowReadApiKeys(applicationName)) { throw new SettingsAuthorizationException(AuthorizationScope.ApiKey, AuthorizationLevel.Read, applicationName, Auth.CurrentIdentity.Id); } var registerdKeys = GetApplicationKeysData(applicationName); foreach (var item in registerdKeys) { ApiKeyModel model = new ApiKeyModel(); model.Active = item.Active; model.AdminKey = item.AdminKey; model.ApplicationName = item.Application.Name; model.Key = item.ApiKey; model.LastUsed = item.LastUsed; model.Access = new List <DirectoryAccessModel>(); foreach (var a in item.Access) { if (string.Equals(a.Directory.Application.Name, applicationName, StringComparison.CurrentCultureIgnoreCase)) { DirectoryAccessModel access = new DirectoryAccessModel(); access.Create = a.AllowCreate; access.Write = a.AllowWrite; access.Delete = a.AllowDelete; access.Directory = a.Directory.Name; model.Access.Add(access); } } result.Add(model); } return(result); }
public IEnumerable<ApiKeyModel> GetApplicationApiKeys(string applicationName) { var data = new List<ApiKeyData>(); List<ApiKeyModel> result = new List<ApiKeyModel>(); if (!Auth.AllowReadApiKeys(applicationName)) { throw new SettingsAuthorizationException(AuthorizationScope.ApiKey, AuthorizationLevel.Read, applicationName, Auth.CurrentIdentity.Id); } var registerdKeys = GetApplicationKeysData(applicationName); foreach (var item in registerdKeys) { ApiKeyModel model = new ApiKeyModel(); model.Active = item.Active; model.AdminKey = item.AdminKey; model.ApplicationName = item.Application.Name; model.Key = item.ApiKey; model.LastUsed = item.LastUsed; model.Access = new List<DirectoryAccessModel>(); foreach (var a in item.Access) { if (string.Equals(a.Directory.Application.Name, applicationName, StringComparison.CurrentCultureIgnoreCase)) { DirectoryAccessModel access = new DirectoryAccessModel(); access.Create = a.AllowCreate; access.Write = a.AllowWrite; access.Delete = a.AllowDelete; access.Directory = a.Directory.Name; model.Access.Add(access); } } result.Add(model); } return result; }