From 3e6439433ef15fd80e2ce76ae2c792ef178bbcad Mon Sep 17 00:00:00 2001 From: Fransolet Thomas Date: Thu, 27 Oct 2022 13:31:38 +0200 Subject: [PATCH] Update get ressources endpoint by adding types filter --- ManagerService/Controllers/ResourceController.cs | 15 +++++++++++++-- .../Services/ResourceDatabaseService.cs | 4 ++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ManagerService/Controllers/ResourceController.cs b/ManagerService/Controllers/ResourceController.cs index dbe7f0c..903a425 100644 --- a/ManagerService/Controllers/ResourceController.cs +++ b/ManagerService/Controllers/ResourceController.cs @@ -44,14 +44,25 @@ namespace ManagerService.Controllers /// Get a list of all resources (summary) /// /// id instance + /// types of resource [ProducesResponseType(typeof(List), 200)] [ProducesResponseType(typeof(string), 500)] [HttpGet] - public ObjectResult Get([FromQuery] string instanceId) + public ObjectResult Get([FromQuery] string instanceId, [FromQuery] List types) { try { - List resources = _resourceService.GetAll(instanceId); + if (instanceId == null) + throw new ArgumentNullException("InstanceId needed"); + List resources = new List(); + if (types.Count > 0) + { + resources = _resourceService.GetAllByType(instanceId, types); + } + else + { + resources = _resourceService.GetAll(instanceId); + } List resourceDTOs = new List(); foreach(var resource in resources) diff --git a/ManagerService/Services/ResourceDatabaseService.cs b/ManagerService/Services/ResourceDatabaseService.cs index e1f062e..7264a35 100644 --- a/ManagerService/Services/ResourceDatabaseService.cs +++ b/ManagerService/Services/ResourceDatabaseService.cs @@ -23,9 +23,9 @@ namespace Manager.Services return _Resources.Find(r => r.InstanceId == instanceId).ToList(); } - public Resource GetByType(ResourceType type) + public List GetAllByType(string instanceId, List types) { - return _Resources.Find(r => r.Type == type).FirstOrDefault(); + return _Resources.Find(r => r.InstanceId == instanceId && types.Contains(r.Type)).ToList(); } public Resource GetById(string id)