diff --git a/src/Project/Controllers/DisciplineController.cs b/src/Project/Controllers/DisciplineController.cs index fb16659054e1b46d678266fb5908a4566fe8fbe4..e3dcde1a20dc7d897b81e81cc3febb77286bd67b 100644 --- a/src/Project/Controllers/DisciplineController.cs +++ b/src/Project/Controllers/DisciplineController.cs @@ -30,7 +30,7 @@ namespace Coscine.Api.Project.Controllers [Route("[controller]")] public ActionResult<IEnumerable<DisciplineObject>> Index() { - return Json(_disciplineModel.GetAll() + return Ok(_disciplineModel.GetAll() .OrderBy(discipline => discipline.DisplayNameDe.Substring(discipline.DisplayNameDe.Length - 3)) .Select((discipline) => new DisciplineObject(discipline.Id, discipline.Url, discipline.DisplayNameDe, discipline.DisplayNameEn))); } diff --git a/src/Project/Controllers/LicenseController.cs b/src/Project/Controllers/LicenseController.cs index 09f0c0dac55c84097d663c84c4aff0a9d6540a31..4b219afe399d552378279f2fddadcf424684667d 100644 --- a/src/Project/Controllers/LicenseController.cs +++ b/src/Project/Controllers/LicenseController.cs @@ -30,7 +30,7 @@ namespace Coscine.Api.Project.Controllers [Route("[controller]")] public ActionResult<IEnumerable<LicenseObject>> Index() { - return Json(_licenseModel.GetAll() + return Ok(_licenseModel.GetAll() .Select((license) => new LicenseObject(license.Id, license.DisplayName))); } } diff --git a/src/Project/Controllers/ProjectController.cs b/src/Project/Controllers/ProjectController.cs index 7c98fb16b8742f41e00b84fb0c02b360061a207e..b3cfa16112e2e250e27995b48337f14d72eba3cc 100644 --- a/src/Project/Controllers/ProjectController.cs +++ b/src/Project/Controllers/ProjectController.cs @@ -180,7 +180,7 @@ namespace Coscine.Api.Project.Controllers var projectObject = _projectModel.CreateReturnObjectFromDatabaseObject(_projectModel.GetById(project.Id)); LogAnalyticsViewProject(project, resources.ToList(), projectObject.Disciplines, projectObject.Organizations, user); } - return Json(resources); + return Ok(resources); } else { @@ -225,7 +225,7 @@ namespace Coscine.Api.Project.Controllers var projectObject = _projectModel.CreateReturnObjectFromDatabaseObject(_projectModel.GetById(project.Id)); LogAnalyticsDeleteProject(project, projectObject.Disciplines, projectObject.Organizations, user); DeleteProject(project); - return Json(_projectModel.CreateReturnObjectFromDatabaseObject(project)); + return Ok(_projectModel.CreateReturnObjectFromDatabaseObject(project)); } else { @@ -376,7 +376,7 @@ namespace Coscine.Api.Project.Controllers LogAnalyticsAddProject(project, _projectModel.GetMetadataCompleteness(projectObject), projectObject.Disciplines, projectObject.Organizations, user); - return Json(_projectModel.CreateReturnObjectFromDatabaseObject(project)); + return Ok(_projectModel.CreateReturnObjectFromDatabaseObject(project)); } /// <summary> @@ -629,7 +629,8 @@ namespace Coscine.Api.Project.Controllers private void LogAnalyticsViewProject(Database.DataModel.Project project, List<ResourceObject> resources, IEnumerable<DisciplineObject> disciplines, IEnumerable<OrganizationObject> organizations, User user) { - var resourceTypes = _resourceTypeModel.GetAllWhere(x => x.Enabled == true); + var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes(); + var resourceTypes = _resourceTypeModel.GetAllWhere(r => enabledResources.Any(e => r.SpecificType.Equals(e))); var objects = resourceTypes.Select(x => Helpers.CreateProjectQuotaReturnObject(x, project.Id)); diff --git a/src/Project/Controllers/ProjectQuotaController.cs b/src/Project/Controllers/ProjectQuotaController.cs index ddc7bd3eb26e2c4d01b57243778c604f31dcd333..2db9a3de04ecaa6fc818ebf159a789ba34c59996 100644 --- a/src/Project/Controllers/ProjectQuotaController.cs +++ b/src/Project/Controllers/ProjectQuotaController.cs @@ -69,9 +69,10 @@ namespace Coscine.Api.Project.Controllers return Unauthorized("The user is not authorized to perform a get on the selected project!"); } - var resourceTypes = _resourceTypeModel.GetAllWhere(x => x.Enabled == true); + var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes(); + var resourceTypes = _resourceTypeModel.GetAllWhere(r => enabledResources.Any(e => r.SpecificType.Equals(e))); - return Json(resourceTypes.Select(x => Helpers.CreateProjectQuotaReturnObject(x, id))); + return Ok(resourceTypes.Select(x => Helpers.CreateProjectQuotaReturnObject(x, id))); } @@ -99,13 +100,14 @@ namespace Coscine.Api.Project.Controllers } var resourceType = _resourceTypeModel.GetById(resourceTypeId); + var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes(); - if (resourceType?.Enabled.HasValue != true || !resourceType.Enabled.Value) + if (!enabledResources.Contains(resourceType.SpecificType)) { return base.NotFound($"Could not find resourceType with id: {resourceTypeId}"); } - return Json(Helpers.CreateProjectQuotaExtendedReturnObject(resourceType, id)); + return Ok(Helpers.CreateProjectQuotaExtendedReturnObject(resourceType, id)); } /// <summary> @@ -133,8 +135,9 @@ namespace Coscine.Api.Project.Controllers } var resourceType = _resourceTypeModel.GetById(resourceTypeId); + var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes(); - if (resourceType?.Enabled.HasValue != true || !resourceType.Enabled.Value) + if (!enabledResources.Contains(resourceType.SpecificType)) { return NotFound($"Could not find resourceType with id: {resourceTypeId}"); } @@ -198,7 +201,8 @@ namespace Coscine.Api.Project.Controllers private void LogAnalyticsOwnerProjectQuotaChange(Database.DataModel.Project project, User user) { - var resourceTypes = _resourceTypeModel.GetAllWhere(x => x.Enabled == true); + var enabledResources = ResourceTypeFactory.Instance.GetResourceTypes(); + var resourceTypes = _resourceTypeModel.GetAllWhere(r => enabledResources.Any(e => r.SpecificType.Equals(e))); var objects = resourceTypes.Select(x => Helpers.CreateProjectQuotaReturnObject(x, project.Id)); diff --git a/src/Project/Controllers/ProjectRoleController.cs b/src/Project/Controllers/ProjectRoleController.cs index 310c0f5b56fdee4855a2cf4469d721d826119c6a..2432f245e4250cf8e24475074075d7cba5654967 100644 --- a/src/Project/Controllers/ProjectRoleController.cs +++ b/src/Project/Controllers/ProjectRoleController.cs @@ -81,7 +81,7 @@ namespace Coscine.Api.Project.Controllers LogAnalytics("View Users", user, users, projectId.ToString()); } - return Json(users); + return Ok(users); } else { @@ -101,7 +101,7 @@ namespace Coscine.Api.Project.Controllers var user = _authenticator.GetUser(); var userObject = new UserObject(user.Id, user.DisplayName, user.Givenname, user.Surname, user.EmailAddress); - return Json(_projectRoleModel.GetAllWhere((projectRole) => + return Ok(_projectRoleModel.GetAllWhere((projectRole) => (projectRole.UserId == user.Id && projectRole.ProjectId == projectId) ).Select((projectRole) => @@ -141,7 +141,7 @@ namespace Coscine.Api.Project.Controllers LogAnalytics(userIsAlreadymember == true ? "Change Role" : "Add Member", user, null, project.Id.ToString()); - return Json(_projectRoleModel.SetFromObject(projectRoleObject)); + return Ok(_projectRoleModel.SetFromObject(projectRoleObject)); } else { @@ -178,7 +178,7 @@ namespace Coscine.Api.Project.Controllers LogAnalytics("Remove User", user, null, project.Id.ToString()); - return Json(_projectRoleModel.Delete(_projectRoleModel.GetWhere((projectRole) => + return Ok(_projectRoleModel.Delete(_projectRoleModel.GetWhere((projectRole) => projectRole.ProjectId == projectId && projectRole.UserId == userId && projectRole.RoleId == roleId))); @@ -212,7 +212,7 @@ namespace Coscine.Api.Project.Controllers }); LogAnalytics("Leave Project", user, null, project.Id.ToString()); - return Json(_projectRoleModel.Delete(_projectRoleModel.GetWhere((projectRole) => + return Ok(_projectRoleModel.Delete(_projectRoleModel.GetWhere((projectRole) => projectRole.ProjectId == projectId && projectRole.UserId == user.Id && projectRole.RoleId == roleId))); diff --git a/src/Project/Controllers/RoleController.cs b/src/Project/Controllers/RoleController.cs index 5c4ab19c59078d4bd318e275634a5ad377751773..0f207233a0934a94c2e38273e13be9fbc8ba6864 100644 --- a/src/Project/Controllers/RoleController.cs +++ b/src/Project/Controllers/RoleController.cs @@ -30,7 +30,7 @@ namespace Coscine.Api.Project.Controllers [Route("[controller]")] public ActionResult<IEnumerable<RoleObject>> Index() { - return Json(_roleModel.GetAll() + return Ok(_roleModel.GetAll() .Select((role) => new RoleObject(role.Id, role.DisplayName))); } } diff --git a/src/Project/Controllers/SubProjectController.cs b/src/Project/Controllers/SubProjectController.cs index df6336229497103dbfcd46b9051d8aaae07165e5..7686c4fb6b8913c077cc66a1d7bb429ca755dc2a 100644 --- a/src/Project/Controllers/SubProjectController.cs +++ b/src/Project/Controllers/SubProjectController.cs @@ -56,7 +56,7 @@ namespace Coscine.Api.Project.Controllers .Select((subProject) => projectModel.GetById(subProject.SubProjectId)) .Select((project) => projectModel.CreateReturnObjectFromDatabaseObject(project, parentGuid)) .OrderBy(element => element.DisplayName); - return Json(subProjects); + return Ok(subProjects); } else { @@ -87,7 +87,7 @@ namespace Coscine.Api.Project.Controllers { json["id"] = subProjects[0].ProjectId; } - return Json(json); + return Ok(json); } else { diff --git a/src/Project/Controllers/VisibilityController.cs b/src/Project/Controllers/VisibilityController.cs index 2234aa0bc30585d61ca0a1e971244bfbe59602de..19acd7a386b0f5de3b14ebf0b7fa3a7b8ac50ede 100644 --- a/src/Project/Controllers/VisibilityController.cs +++ b/src/Project/Controllers/VisibilityController.cs @@ -31,7 +31,7 @@ namespace Coscine.Api.Project.Controllers [Route("[controller]")] public ActionResult<IEnumerable<VisibilityObject>> Index() { - return Json(_visibilityModel.GetAll() + return Ok(_visibilityModel.GetAll() .Select((visibility) => new VisibilityObject(visibility.Id, visibility.DisplayName))); } }