add voice service call service and more
This commit is contained in:
@@ -7,8 +7,10 @@ public sealed class DeviceDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string DeviceName { get; set; } = string.Empty;
|
||||
public string Owner { get; set; } = string.Empty;
|
||||
public string Mobile { get; set; } = string.Empty;
|
||||
public int UserId { get; set; }
|
||||
public string UserName { get; set; } = string.Empty;
|
||||
public string UserFamily { get; set; } = string.Empty;
|
||||
public string UserMobile { get; set; } = string.Empty;
|
||||
public string Location { get; set; } = string.Empty;
|
||||
public string NeshanLocation { get; set; } = string.Empty;
|
||||
}
|
||||
@@ -66,6 +68,49 @@ public sealed class DayCount
|
||||
public int Count { get; set; }
|
||||
}
|
||||
|
||||
public sealed class SendCodeRequest
|
||||
{
|
||||
public required string Mobile { get; set; }
|
||||
}
|
||||
|
||||
public sealed class SendCodeResponse
|
||||
{
|
||||
public bool Success { get; set; }
|
||||
public string? Message { get; set; }
|
||||
public int ResendAfterSeconds { get; set; } = 120;
|
||||
}
|
||||
|
||||
public sealed class VerifyCodeRequest
|
||||
{
|
||||
public required string Mobile { get; set; }
|
||||
public required string Code { get; set; }
|
||||
}
|
||||
|
||||
public sealed class VerifyCodeResponse
|
||||
{
|
||||
public bool Success { get; set; }
|
||||
public string? Message { get; set; }
|
||||
public string? Token { get; set; }
|
||||
public UserDto? User { get; set; }
|
||||
}
|
||||
|
||||
public sealed class UserDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Mobile { get; set; } = string.Empty;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Family { get; set; } = string.Empty;
|
||||
public Domain.UserRole Role { get; set; }
|
||||
}
|
||||
|
||||
public sealed class DeviceFilter
|
||||
{
|
||||
public int? UserId { get; set; }
|
||||
public string? Search { get; set; } // جستجو در نام دستگاه، نام صاحب، نام خانوادگی صاحب، Location
|
||||
public int Page { get; set; } = 1;
|
||||
public int PageSize { get; set; } = 10;
|
||||
}
|
||||
|
||||
public sealed class DeviceSettingsDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
@@ -92,4 +137,4 @@ public sealed class DeviceSettingsDto
|
||||
|
||||
public DateTime CreatedAt { get; set; }
|
||||
public DateTime UpdatedAt { get; set; }
|
||||
}
|
||||
}
|
||||
7
src/GreenHome.Application/IAlertService.cs
Normal file
7
src/GreenHome.Application/IAlertService.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace GreenHome.Application;
|
||||
|
||||
public interface IAlertService
|
||||
{
|
||||
Task CheckAndSendAlertsAsync(int deviceId, TelemetryDto telemetry, CancellationToken cancellationToken);
|
||||
}
|
||||
|
||||
9
src/GreenHome.Application/IAuthService.cs
Normal file
9
src/GreenHome.Application/IAuthService.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace GreenHome.Application;
|
||||
|
||||
public interface IAuthService
|
||||
{
|
||||
Task<SendCodeResponse> SendVerificationCodeAsync(SendCodeRequest request, CancellationToken cancellationToken);
|
||||
Task<VerifyCodeResponse> VerifyCodeAsync(VerifyCodeRequest request, CancellationToken cancellationToken);
|
||||
Task<bool> CanResendCodeAsync(string mobile, CancellationToken cancellationToken);
|
||||
}
|
||||
|
||||
@@ -6,4 +6,6 @@ public interface IDeviceService
|
||||
Task<int> AddDeviceAsync(DeviceDto dto, CancellationToken cancellationToken);
|
||||
Task<IReadOnlyList<DeviceDto>> ListAsync(CancellationToken cancellationToken);
|
||||
Task<DeviceDto> GetDeviceId(string deviceName, CancellationToken cancellationToken);
|
||||
Task<IReadOnlyList<DeviceDto>> GetUserDevicesAsync(int userId, CancellationToken cancellationToken);
|
||||
Task<PagedResult<DeviceDto>> GetDevicesAsync(DeviceFilter filter, CancellationToken cancellationToken);
|
||||
}
|
||||
|
||||
@@ -7,11 +7,20 @@ public sealed class MappingProfile : Profile
|
||||
{
|
||||
public MappingProfile()
|
||||
{
|
||||
CreateMap<Domain.Device, DeviceDto>().ReverseMap();
|
||||
CreateMap<Domain.Device, DeviceDto>()
|
||||
.ForMember(dest => dest.UserName, opt => opt.MapFrom(src => src.User.Name))
|
||||
.ForMember(dest => dest.UserFamily, opt => opt.MapFrom(src => src.User.Family))
|
||||
.ForMember(dest => dest.UserMobile, opt => opt.MapFrom(src => src.User.Mobile))
|
||||
.ReverseMap()
|
||||
.ForMember(dest => dest.User, opt => opt.Ignore());
|
||||
|
||||
CreateMap<Domain.TelemetryRecord, TelemetryDto>().ReverseMap();
|
||||
|
||||
CreateMap<Domain.DeviceSettings, DeviceSettingsDto>()
|
||||
.ForMember(dest => dest.DeviceName, opt => opt.MapFrom(src => src.Device.DeviceName))
|
||||
.ReverseMap()
|
||||
.ForMember(dest => dest.Device, opt => opt.Ignore());
|
||||
|
||||
CreateMap<Domain.User, UserDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user