Initial commit carried over from private repo. This is V2.
All checks were successful
Build and Push Docker Image / build (push) Successful in 1m3s
Build and Push Docker Image / docker (push) Successful in 43s

This commit is contained in:
2025-07-04 21:24:12 +02:00
parent 7715816029
commit 4393977389
96 changed files with 3223 additions and 0 deletions

View File

@ -0,0 +1,11 @@
namespace MessengerApi.Db.Contracts.Entities
{
public interface IEntity
{
Guid Id { get; }
}
public interface IEntity<T> : IEntity where T : class, IEntity
{
}
}

View File

@ -0,0 +1,25 @@
using MessengerApi.Db.Contracts.Entities;
namespace MessengerApi.Db.Entities
{
public class Message : IEntity<Message>
{
public Guid Id { get; set; }
public DateTime CreatedUtc { get; set; }
public Guid FromId { get; set; }
public Guid ToId { get; set; }
public bool IsDelivered { get; set; }
public bool IsAcknowledged { get; set; }
public string PayloadType { get; set; }
public string Payload { get; set; }
public int? PayloadLifespanInSeconds { get; set; }
}
}

View File

@ -0,0 +1,15 @@
using MessengerApi.Db.Contracts.Entities;
namespace MessengerApi.Db.Entities
{
public class User : IEntity<User>
{
public Guid Id { get; set; }
public Guid ApiKey { get; set; }
public string Name { get; set; }
public bool IsEnabled { get; set; }
}
}

View File

@ -0,0 +1,16 @@
using MessengerApi.Db.Contracts.Entities;
namespace MessengerApi.Db.Entities
{
/// <summary>
/// Describes allowed message route (who can message whom).
/// </summary>
public class UserRoute : IEntity<UserRoute>
{
public Guid Id { get; set; }
public User From { get; set; }
public User To { get; set; }
}
}