diff --git a/README.md b/README.md index 43ec1ee72072ce83b26c05fc78a656a7154439b0..7a52bf1d5a18d97c12e62c8069a9aaebb5bb25e8 100644 --- a/README.md +++ b/README.md @@ -245,6 +245,12 @@ await devkitConnector.AddSensorData(sensorContracts); * `AddSensorData(sensors)` - Add sensor data for multiple sensors in batch mode * `AddSensorData(sensorData)` - Add sensor data for single sensor (in order to do this you need to be **authenticated** as said sensor - this can be avoided when using the batch mode above - [Example](#sensor-data)) * `GetSensorAppInfo()` - Get information (version, size) about the sensor app +* **SensorDatas** + * `GetSensorDatas()` - Get all sensor datas + * `GetSensorData(id)` - Get sensor data by ID + * `AddSensorData(sensorDataContract)` - Add a sensor data with specified properties + * `UpdateSensorData(id, sensorDataContract)` - Update an existing sensor data with new properties + * `DeleteSensorData(id)` - Delete an existing sensor data by ID * **Shifts** * `GetShifts()` - Get all shifts * `GetShift(id)` - Get shift by ID diff --git a/SDK/Connection/V3/SensorDatas.cs b/SDK/Connection/V3/SensorDatas.cs new file mode 100644 index 0000000000000000000000000000000000000000..ecc1596a9ce838fde96f512241efa652258f101a --- /dev/null +++ b/SDK/Connection/V3/SensorDatas.cs @@ -0,0 +1,53 @@ +using SDK.Communication; +using SDK.Exceptions; +using SDK.Models; +using System; +using System.Threading.Tasks; + +namespace SDK +{ + //(2/2) + public partial class DevkitConnectorV3 + { + public async Task<SensorDataContract[]> GetSensorDatas(string queryString = "") + { + string subUrl = Address.UrlCombine(Address.SensorDatas, queryString); + var response = await GetRequest<SensorDataContract[]>(subUrl); + + return response; + } + + public async Task<SensorDataContract> GetSensorData(int id, string queryString = "") + { + string subUrl = Address.UrlCombine(Address.SensorDatas, Convert.ToString(id), queryString); + var response = await GetRequest<SensorDataContract>(subUrl); + + return response; + } + + public async Task<PostResponseContract> AddSensorData(SensorDataContract shiftContract) + { + string subUrl = Address.UrlCombine(Address.SensorDatas); + var response = await PostRequest<AddSensorDataResponseContract>(subUrl, shiftContract); + + if (response.ErrorMessage != null) + { + throw new ServerResponseException(ServerResponseException.message + " " + response.ErrorMessage); + } + + return response; + } + + public async Task UpdateSensorData(int id, object changes) + { + string subUrl = Address.UrlCombine(Address.SensorDatas, id.ToString()); + await PatchRequest(subUrl, changes); + } + + public async Task DeleteSensorData(int id) + { + string subUrl = Address.UrlCombine(Address.SensorDatas, Convert.ToString(id)); + await DeleteRequest(subUrl); + } + } +} diff --git a/SDK/Contracts/Data/SensorDataContract.cs b/SDK/Contracts/Data/SensorDataContract.cs index 431da93b2e2064de3fa2c0b5e382b098ce66ce13..328ecbe1373c3e49e4759d7e554a362cc199b09b 100644 --- a/SDK/Contracts/Data/SensorDataContract.cs +++ b/SDK/Contracts/Data/SensorDataContract.cs @@ -6,6 +6,8 @@ namespace SDK.Models { public int Id { get; set; } + public int SensorId { get; set; } + public string Quantity { get; set; } public string Value { get; set; } @@ -19,5 +21,7 @@ namespace SDK.Models public int Index { get; set; } public bool VisibleInApp { get; set; } + + public RangeContract Range { get; set; } } } diff --git a/SDK/Helpers/Address.cs b/SDK/Helpers/Address.cs index be67972cd1c0fb4a0e3bf66c145c379bedcccc20..16c08ad034425c4ba52a10e48fcb338270690583 100644 --- a/SDK/Helpers/Address.cs +++ b/SDK/Helpers/Address.cs @@ -59,6 +59,8 @@ namespace SDK.Models public const string SensorsAddData = "sensors/sensor-data/"; public const string SensorsLogin = "sensors/login/"; + public const string SensorDatas = "sensor-datas/"; + public const string Shifts = "shifts/"; public const string Users = "users/detail"; diff --git a/SDK/SDK.csproj b/SDK/SDK.csproj index c1c2a0ecd6863341a8005dd51157114f5592282a..b7429ea3831cf20fac4e627b6e37c5a515ae0e2e 100644 --- a/SDK/SDK.csproj +++ b/SDK/SDK.csproj @@ -13,7 +13,7 @@ <TargetFrameworks Condition="'$(TargetFrameworkOverride)' != ''">$(TargetFrameworkOverride)</TargetFrameworks> <AssemblyVersion>2021.6.28.25</AssemblyVersion> <FileVersion>2021.6.28.25</FileVersion> - <Version>5.6.0</Version> + <Version>5.7.0</Version> <GeneratePackageOnBuild>true</GeneratePackageOnBuild> </PropertyGroup>