db and auth refactoring

This commit is contained in:
Michele 2021-02-20 00:18:07 +00:00
parent 0e1c16ab91
commit aa472f9e29
45 changed files with 2182 additions and 697 deletions

View file

@ -0,0 +1,7 @@
using System.ComponentModel.DataAnnotations;
public abstract class BaseEntity
{
[Key]
public int Id { get; set; }
}

View file

@ -0,0 +1,21 @@
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using Sledgemapper.Entities;
namespace Sledgemapper.Api.Core.Entities
{
[Index(nameof(CampaignName), nameof(OwnerId), IsUnique = true)]
public class Campaign
{
public int CampaignId { get; set; }
public string CampaignName { get; set; }
public string OwnerId { get; set; }
public User Owner { get; set; }
public ICollection<User> InvitedUsers { get; set; }
public ICollection<Map> Maps { get; set; }
}
}

View file

@ -1,20 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Sledgemapper.Entities;
namespace Sledgemapper.Api.Core.Entities.CampaignAggregate
{
public class Campaign
{
[Key]
public int CampaignId { get; set; }
[Required]
public string CampaignName { get; set; }
[Required]
public int OwnerUserId { get; set; }
public List<User> InvitedUsers { get; set; }
}
}

View file

@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace Sledgemapper.Api.Core.Entities.CampaignAggregate
namespace Sledgemapper.Api.Core.Entities
{
public class Map
{

View file

@ -0,0 +1,32 @@
using System.ComponentModel.DataAnnotations;
namespace Sledgemapper.Api.Models
{
public class MapLog
{
[Key]
public int MapLogId { get; set; }
[Required]
public int UserId{get;set;}
[Required]
public int SessionId { get; set; }
[Required]
[MaxLength(1)]
public string Operation { get; set; }
[Required]
[MaxLength(256)]
public string Type { get; set; }
[Required]
[MaxLength(256)]
public string Object { get; set; }
[Required]
public double Timestamp { get; set; }
}
}

View file

@ -0,0 +1,16 @@
using System.ComponentModel.DataAnnotations;
namespace Sledgemapper.Api.Models
{
public class Session
{
[Key]
public int SessionId { get; set; }
[Required]
public string SessionName { get; set; }
[Required]
public int OwnerUserId { get; set; }
}
}

View file

@ -0,0 +1,16 @@
using System.ComponentModel.DataAnnotations;
namespace Sledgemapper.Api.Models
{
public class SessionUser
{
[Key]
public int SessionUserId { get; set; }
[Required]
public int SessionId { get; set; }
[Required]
public int UserId { get; set; }
}
}

View file

@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations;
namespace Sledgemapper.Api.Models
{
public class Snapshot
{
[Key]
public int SnapshotId { get; set; }
[Required]
public int SessionId { get; set; }
[Required]
public string Object { get; set; }
[Required]
public double Timestamp { get; set; }
}
}

View file

@ -0,0 +1,18 @@
using System.Collections.Generic;
using Microsoft.AspNetCore.Identity;
namespace Sledgemapper.Entities
{
public class User:IdentityUser
{
// public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
// public string Email { get; set; }
// public string Username { get; set; }
public string Initials { get; set; }
// public byte[] PasswordHash { get; set; }
public byte[] PasswordSalt { get; set; }
public ICollection<Sledgemapper.Api.Core.Entities.Campaign> Campaigns {get;set;}
}
}

View file

@ -0,0 +1,15 @@
using System.ComponentModel.DataAnnotations;
namespace Sledgemapper.Api.Models
{
public class UserConnection
{
[Key]
public int UserConnectionId { get; set; }
[Required]
public int UserId { get; set; }
[Required]
public string ConnectionId{get;set;}
}
}