mirror of
https://bitbucket.org/myhomie/mycorerepository.git
synced 2025-12-06 17:51:20 +00:00
MC add Create from Provider (TODO) + UserService
This commit is contained in:
parent
8376acb662
commit
8960953ccc
@ -103,6 +103,38 @@ namespace MyCore.Controllers.Devices
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create devices from provider
|
||||
/// </summary>
|
||||
/// <param name="userId">User Id</param>
|
||||
/// <param name="providerId">Id of Provider</param>
|
||||
[ProducesResponseType(typeof(List<DeviceDetailDTO>), 200)]
|
||||
[HttpPost("fromProvider/{userId}")]
|
||||
public ObjectResult CreateDevicesFromProvider(string userId, [FromBody] string providerId)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (providerId == null)
|
||||
throw new KeyNotFoundException("Provider id is null");
|
||||
|
||||
if (userId == null && UserService.IsExist(userId))
|
||||
throw new KeyNotFoundException("User not found");
|
||||
|
||||
List<DeviceDetailDTO> devicesCreated = DeviceService.CreateFromProvider(providerId);
|
||||
|
||||
return new OkObjectResult(devicesCreated);
|
||||
|
||||
}
|
||||
catch (KeyNotFoundException ex)
|
||||
{
|
||||
return new BadRequestObjectResult(ex.Message) { StatusCode = 404 };
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ObjectResult(ex.Message) { StatusCode = 500 };
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Update a device
|
||||
/// </summary>
|
||||
|
||||
@ -54,5 +54,34 @@ namespace MyCore.Services.Devices
|
||||
else
|
||||
return _DeviceDatabaseService.Update(device.Id, device).ToDTO();
|
||||
}
|
||||
|
||||
public static List<DeviceDetailDTO> CreateFromProvider(string providerId)
|
||||
{
|
||||
// TODO !
|
||||
Device device = new Device();
|
||||
|
||||
Provider provider = new Provider();
|
||||
if (_ProviderDatabaseService.IsExist(providerId))
|
||||
provider = _ProviderDatabaseService.GetById(providerId);
|
||||
else
|
||||
throw new KeyNotFoundException("Provider does not exist");
|
||||
|
||||
switch (provider.Name)
|
||||
{
|
||||
case "Arlo":
|
||||
break;
|
||||
case "Meross":
|
||||
break;
|
||||
case "Yeelight":
|
||||
break;
|
||||
default:
|
||||
throw new KeyNotFoundException("Provider is not yet supported");
|
||||
}
|
||||
|
||||
List<DeviceDetailDTO> createdDevice = new List<DeviceDetailDTO>();
|
||||
|
||||
|
||||
return createdDevice;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
19
MyCore/Services/MyControlPanel/UserService.cs
Normal file
19
MyCore/Services/MyControlPanel/UserService.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCore.Services.MyControlPanel
|
||||
{
|
||||
public class UserService
|
||||
{
|
||||
private static UserDatabaseService _UserDatabaseService;
|
||||
|
||||
public static bool IsExist(string userId)
|
||||
{
|
||||
return _UserDatabaseService.GetById(userId) != null ? true : false ;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user