1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-02 00:22:50 -05:00
Files
bitwarden/src/Core/Services/Implementations/DeviceService.cs
Todd Martin e340cba8fc [SG-823] Undid changes to capture device push token on login (#2427)
* Revert "Set Id property on existing devices so we don't try to create a new one instead of updating existing. (#2420)"

This reverts commit 02e4b10ae8.

* Revert "Update push token on login to allow multiple users on mobile devices (#2404)"

This reverts commit 24469e2267.

* Added back test changes.
2022-12-12 15:51:41 -05:00

47 lines
1.4 KiB
C#

using Bit.Core.Entities;
using Bit.Core.Repositories;
namespace Bit.Core.Services;
public class DeviceService : IDeviceService
{
private readonly IDeviceRepository _deviceRepository;
private readonly IPushRegistrationService _pushRegistrationService;
public DeviceService(
IDeviceRepository deviceRepository,
IPushRegistrationService pushRegistrationService)
{
_deviceRepository = deviceRepository;
_pushRegistrationService = pushRegistrationService;
}
public async Task SaveAsync(Device device)
{
if (device.Id == default(Guid))
{
await _deviceRepository.CreateAsync(device);
}
else
{
device.RevisionDate = DateTime.UtcNow;
await _deviceRepository.ReplaceAsync(device);
}
await _pushRegistrationService.CreateOrUpdateRegistrationAsync(device.PushToken, device.Id.ToString(),
device.UserId.ToString(), device.Identifier, device.Type);
}
public async Task ClearTokenAsync(Device device)
{
await _deviceRepository.ClearPushTokenAsync(device.Id);
await _pushRegistrationService.DeleteRegistrationAsync(device.Id.ToString());
}
public async Task DeleteAsync(Device device)
{
await _deviceRepository.DeleteAsync(device);
await _pushRegistrationService.DeleteRegistrationAsync(device.Id.ToString());
}
}