Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

2 changes: 0 additions & 2 deletions Common/CommonServiceLibrary.BlobStorage/GlobalUsings.cs

This file was deleted.

51 changes: 0 additions & 51 deletions Common/CommonServiceLibrary.BlobStorage/RaportContainer.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,6 @@
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="6.0.1" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\Services\Devices\Devices.Domain\Devices.Domain.csproj" />
<ProjectReference Include="..\..\Services\Measurements\Measurements.Domain\Measurements.Domain.csproj" />
</ItemGroup>

<ItemGroup>
<Protobuf Include="Protos\devices.proto" GrpcServices="Client" />
<Protobuf Include="Protos\measurements.proto" GrpcServices="Client" />
Expand Down
102 changes: 54 additions & 48 deletions Common/CommonServiceLibrary.GRPC/DependencyInjection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,76 +5,82 @@ public static class DependencyInjection
public static IServiceCollection AddGRPCMappings(this IServiceCollection services)
{
// Devices
TypeAdapterConfig<GrpcDeviceModel, Device>
TypeAdapterConfig<GrpcDeviceModel, DeviceGRPC>
.NewConfig()
.Map(dest => dest.ID, src => src.Id)
.Map(dest => dest.Name, src => src.Name)
.Map(dest => dest.DeviceNumber, src => src.DeviceNumber)
.Map(dest => dest.RegisterDate, src => src.RegisterDate)
.Map(dest => dest.LocationID, src => src.LocationId)
.Map(dest => dest.Location, src => src.Location)
.Map(dest => dest.TimestampID, src => src.TimestampConfigurationId)
.Map(dest => dest.Timestamp, src => src.TimestampConfiguration)
.Map(dest => dest.StatusID, src => src.StatusId)
.Map(dest => dest.Status, src => src.Status);

TypeAdapterConfig<GrpcTimestampConfigurationModel, Timestamp>
TypeAdapterConfig<GrpcTimestampConfigurationModel, TimestampGRPC>
.NewConfig()
.Map(dest => dest.ID, src => src.Id)
.Map(dest => dest.Cron, src => src.Cron);

TypeAdapterConfig<GrpcLocationModel, Location>
TypeAdapterConfig<GrpcLocationModel, LocationGRPC>
.NewConfig()
.Map(dest => dest.ID, src => src.Id)
.Map(dest => dest.Hash, src => src.Hash)
.Map(dest => dest.Name, src => src.Name);

TypeAdapterConfig<GrpcStatusModel, Devices.Domain.Models.Status>
TypeAdapterConfig<GrpcStatusModel, StatusGRPC>
.NewConfig()
.Map(dest => dest.ID, src => src.Id)
.Map(dest => dest.Type, src => src.Type);

//TypeAdapterConfig<GrpcMeasurementConfiguration, MeasurementConfiguration>
// .NewConfig()
// .Map(dest => dest.ID, src => src.Id)
// .Map(dest => dest.Temperature, src => src.Temperature)
// .Map(dest => dest.Humidity, src => src.Humidity)
// .Map(dest => dest.CarbonDioxide, src => src.CarbonDioxide)
// .Map(dest => dest.VolatileOrganicCompounds, src => src.VolatileOrganicCompounds)
// .Map(dest => dest.PM1, src => src.Pm1)
// .Map(dest => dest.PM25, src => src.Pm25)
// .Map(dest => dest.PM10, src => src.Pm10)
// .Map(dest => dest.Formaldehyde, src => src.Formaldehyde)
// .Map(dest => dest.CarbonMonoxide, src => src.CarbonMonoxide)
// .Map(dest => dest.Ozone, src => src.Ozone)
// .Map(dest => dest.Ammonia, src => src.Ammonia)
// .Map(dest => dest.Airflow, src => src.Airflow)
// .Map(dest => dest.AirIonizationLevel, src => src.AirIonizationLevel)
// .Map(dest => dest.Oxygen, src => src.Oxygen)
// .Map(dest => dest.Radon, src => src.Radon)
// .Map(dest => dest.Illuminance, src => src.Illuminance)
// .Map(dest => dest.SoundLevel, src => src.SoundLevel);
// gRPC client mapping for Measurement

TypeAdapterConfig<MeasurementGrpcModel, MeasurementGRPC>
.NewConfig()
.Map(x => x.ID, y => y.Id)
.Map(x => x.DeviceNumber, y => y.DeviceNumber)
.Map(x => x.MeasurementCaptureDate, y => y.MeasurementCaptureDate)
.Map(x => x.LocationHash, y => y.LocationHash)
.Map(x => x.Temperature, y => y.Temperature)
.Map(x => x.Humidity, y => y.Humidity)
.Map(x => x.CarbonDioxide, y => y.Co2)
.Map(x => x.VolatileOrganicCompounds, y => y.Voc)
.Map(x => x.ParticulateMatter1, y => y.ParticulateMatter1)
.Map(x => x.ParticulateMatter2v5, y => y.ParticulateMatter2V5)
.Map(x => x.ParticulateMatter10, y => y.ParticulateMatter10)
.Map(x => x.Formaldehyde, y => y.Formaldehyde)
.Map(x => x.CarbonMonoxide, y => y.Co)
.Map(x => x.Ozone, y => y.O3)
.Map(x => x.Ammonia, y => y.Ammonia)
.Map(x => x.Airflow, y => y.Airflow)
.Map(x => x.AirIonizationLevel, y => y.AirIonizationLevel)
.Map(x => x.Oxygen, y => y.O2)
.Map(x => x.Radon, y => y.Radon)
.Map(x => x.Illuminance, y => y.Illuminance)
.Map(x => x.SoundLevel, y => y.SoundLevel);

TypeAdapterConfig<MeasurementGRPC, MeasurementGrpcModel>
.NewConfig()
.Map(x => x.Id, y => y.ID)
.Map(x => x.DeviceNumber, y => y.DeviceNumber)
.Map(dest => dest.MeasurementCaptureDate, src => src.MeasurementCaptureDate.ToString("o"))
.Map(x => x.LocationHash, y => y.LocationHash)
.Map(x => x.Temperature, y => y.Temperature)
.Map(x => x.Humidity, y => y.Humidity)
.Map(x => x.Co2, y => y.CarbonDioxide)
.Map(x => x.Voc, y => y.VolatileOrganicCompounds)
.Map(x => x.ParticulateMatter1, y => y.ParticulateMatter1)
.Map(x => x.ParticulateMatter2V5, y => y.ParticulateMatter2v5)
.Map(x => x.ParticulateMatter10, y => y.ParticulateMatter10)
.Map(x => x.Formaldehyde, y => y.Formaldehyde)
.Map(x => x.Co, y => y.CarbonMonoxide)
.Map(x => x.O3, y => y.Ozone)
.Map(x => x.Ammonia, y => y.Ammonia)
.Map(x => x.Airflow, y => y.Airflow)
.Map(x => x.AirIonizationLevel, y => y.AirIonizationLevel)
.Map(x => x.O2, y => y.Oxygen)
.Map(x => x.Radon, y => y.Radon)
.Map(x => x.Illuminance, y => y.Illuminance)
.Map(x => x.SoundLevel, y => y.SoundLevel);

//// Meaesurements
//TypeAdapterConfig<MeasurementGrpcModel, Measurement>
// .NewConfig()
// .Map(dest => dest.ID, src => src.Id)
// .Map(dest => dest.DeviceNumber, src => src.DeviceNumber)
// .Map(dest => dest.Temperature, src => src.Temperature)
// .Map(dest => dest.Humidity, src => src.Humidity)
// .Map(dest => dest.CarbonDioxide, src => src.Co2)
// .Map(dest => dest.VolatileOrganicCompounds, src => src.Voc)
// .Map(dest => dest.ParticulateMatter1, src => src.ParticulateMatter1)
// .Map(dest => dest.ParticulateMatter2v5, src => src.ParticulateMatter2V5)
// .Map(dest => dest.ParticulateMatter10, src => src.ParticulateMatter10)
// .Map(dest => dest.Formaldehyde, src => src.Formaldehyde)
// .Map(dest => dest.CarbonMonoxide, src => src.Co)
// .Map(dest => dest.Ammonia, src => src.Ammonia)
// .Map(dest => dest.Airflow, src => src.Airflow)
// .Map(dest => dest.AirIonizationLevel, src => src.AirIonizationLevel)
// .Map(dest => dest.Oxygen, src => src.O2)
// .Map(dest => dest.Radon, src => src.Radon)
// .Map(dest => dest.Illuminance, src => src.Illuminance)
// .Map(dest => dest.SoundLevel, src => src.SoundLevel);

return services;
}
Expand Down
4 changes: 2 additions & 2 deletions Common/CommonServiceLibrary.GRPC/GlobalUsings.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
global using Devices.Domain.Models;
global using CommonServiceLibrary.GRPC.Types.Devices;
global using CommonServiceLibrary.GRPC.Types.Measurements;
global using Devices.GRPCClient;
global using Grpc.Core;
global using Mapster;
global using Measurements.Domain.Models;
global using Measurements.GRPCClient;
global using Microsoft.Extensions.DependencyInjection;
6 changes: 6 additions & 0 deletions Common/CommonServiceLibrary.GRPC/Protos/devices.proto
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ service DevicesService {
rpc GetDeviceByDeviceNumber (DeviceRequest) returns (GrpcDeviceModel);
rpc GetAllDevices (DeviceAllRequest) returns (stream GrpcDeviceModel);
rpc GetAllLocations (LocationAllRequest) returns (stream GrpcLocationModel);
rpc GetLocationByName (LocationByNameRequest) returns (GrpcLocationModel);
}

message LocationByNameRequest{
string name = 1;
}

message LocationAllRequest{
Expand All @@ -25,6 +30,7 @@ message DeviceRequest{
message GrpcLocationModel {
int32 id = 1;
string name = 2;
string hash = 3;
}

message GrpcTimestampConfigurationModel {
Expand Down
63 changes: 27 additions & 36 deletions Common/CommonServiceLibrary.GRPC/Protos/measurements.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,48 +5,39 @@ option csharp_namespace = "Measurements.GRPCClient";
package measurements;

service MeasurementService {
rpc MeasurementByID (MeasurementRequest) returns (MeasurementGrpcModel);
rpc MeasurementsAllByDay (MeasurementByDateRequest) returns (stream MeasurementGrpcModel);
rpc MeasurementsAllByWeek (MeasurementByDateRequest) returns (stream MeasurementGrpcModel);
rpc MeasurementsAllByMonth (MeasurementByDateRequest) returns (stream MeasurementGrpcModel);
rpc MeasurementsByDay (MeasurementFromDeviceByDateRequest) returns (stream MeasurementGrpcModel);
rpc MeasurementsByWeek (MeasurementFromDeviceByDateRequest) returns (stream MeasurementGrpcModel);
rpc MeasurementsByMonth (MeasurementFromDeviceByDateRequest) returns (stream MeasurementGrpcModel);
rpc MeasurementsQuery (MeasurementsQueryRequest) returns (stream MeasurementGrpcModel);
}

message MeasurementByDateRequest {
string date = 1;
}
message MeasurementsQueryRequest {
string sort_order = 1;
string start_date = 2;
string end_date = 3;

message MeasurementFromDeviceByDateRequest {
string device_number = 1;
string date = 2;
}

message MeasurementRequest {
string id = 1;
repeated string device_numbers = 4;
repeated string location_ids = 5;
}

message MeasurementGrpcModel {
string id = 1;
string device_number = 2;
string register_date = 3;

optional double temperature = 4;
optional double humidity = 5;
optional double co2 = 6;
optional double voc = 7;
optional double particulate_matter1 = 8;
optional double particulate_matter2v5 = 9;
optional double particulate_matter10 = 10;
optional double formaldehyde = 11;
optional double co = 12;
optional double o3 = 13;
optional double ammonia = 14;
optional double airflow = 15;
optional double air_ionization_level = 16;
optional double o2 = 17;
optional double radon = 18;
optional double illuminance = 19;
optional double sound_level = 20;
string measurement_capture_date = 3;
string location_hash = 4;

optional double temperature = 5;
optional double humidity = 6;
optional double co2 = 7;
optional double voc = 8;
optional double particulate_matter1 = 9;
optional double particulate_matter2v5 = 10;
optional double particulate_matter10 = 11;
optional double formaldehyde = 12;
optional double co = 13;
optional double o3 = 14;
optional double ammonia = 15;
optional double airflow = 16;
optional double air_ionization_level = 17;
optional double o2 = 18;
optional double radon = 19;
optional double illuminance = 20;
optional double sound_level = 21;
}
12 changes: 12 additions & 0 deletions Common/CommonServiceLibrary.GRPC/Types/Devices/DeviceGRPC.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
namespace CommonServiceLibrary.GRPC.Types.Devices;

public record DeviceGRPC(
int ID,
string Name,
Guid DeviceNumber,
DateTime RegisterDate,
LocationGRPC Location,
TimestampGRPC Timestamp,
ICollection<MeasurementTypeGRPC> MeasurementTypes,
StatusGRPC Status
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace CommonServiceLibrary.GRPC.Types.Devices;

public record LocationGRPC(
int ID,
string Name,
Guid Hash
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace CommonServiceLibrary.GRPC.Types.Devices;

public record MeasurementTypeGRPC(
int ID,
string Name,
string Unit
);
6 changes: 6 additions & 0 deletions Common/CommonServiceLibrary.GRPC/Types/Devices/StatusGRPC.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
namespace CommonServiceLibrary.GRPC.Types.Devices;

public record StatusGRPC(
int ID,
string Type
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
namespace CommonServiceLibrary.GRPC.Types.Devices;

public record TimestampGRPC(
int ID,
string Cron
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
namespace CommonServiceLibrary.GRPC.Types.Measurements;

public record MeasurementGRPC(
Guid ID,
Guid DeviceNumber,
DateTime MeasurementCaptureDate,
Guid LocationHash,
double? Temperature,
double? Humidity,
double? CarbonDioxide,
double? VolatileOrganicCompounds,
double? ParticulateMatter1,
double? ParticulateMatter2v5,
double? ParticulateMatter10,
double? Formaldehyde,
double? CarbonMonoxide,
double? Ozone,
double? Ammonia,
double? Airflow,
double? AirIonizationLevel,
double? Oxygen,
double? Radon,
double? Illuminance,
double? SoundLevel
);
Loading