Initial commit carried over from private repo. This is V2.
This commit is contained in:
11
code/MessengerApi.Db.Contracts/Entities/IEntity.cs
Normal file
11
code/MessengerApi.Db.Contracts/Entities/IEntity.cs
Normal 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
|
||||
{
|
||||
}
|
||||
}
|
||||
25
code/MessengerApi.Db.Contracts/Entities/Message.cs
Normal file
25
code/MessengerApi.Db.Contracts/Entities/Message.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
15
code/MessengerApi.Db.Contracts/Entities/User.cs
Normal file
15
code/MessengerApi.Db.Contracts/Entities/User.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
16
code/MessengerApi.Db.Contracts/Entities/UserRoute.cs
Normal file
16
code/MessengerApi.Db.Contracts/Entities/UserRoute.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user