astral-api/Astral.Services/Interfaces/IUserPresenceService.cs
Mike 81aa0ec1c0
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
WIP heartbeat and user presence
2024-12-15 16:06:14 +00:00

30 lines
881 B
C#

// <copyright file="IUserPresenceService.cs" company="alveus.dev">
// Copyright (c) alveus.dev. All rights reserved. Licensed under the MIT License.
// </copyright>
using Astral.Services.Dtos;
namespace Astral.Services.Interfaces;
/// <summary>
/// User's presence service.
/// </summary>
public interface IUserPresenceService
{
/// <summary>
/// Process a user's heartbeat.
/// </summary>
Task HandleHeartbeat();
/// <summary>
/// Process a user's heartbeat with location.
/// </summary>
/// <param name="heartbeat">Instance of <see cref="UserLocationHeartbeatDto"/>.</param>
Task ConsumeLocationHeartbeat(UserLocationHeartbeatDto heartbeat);
/// <summary>
/// Update the user's public key.
/// </summary>
/// <param name="publicKey">Stream containing the public key.</param>
Task ConsumePublicKey(Stream publicKey);
}