|
|
|
|
@ -47,33 +47,33 @@ namespace Yavsc.Models
|
|
|
|
|
// For example, you can rename the ASP.NET Identity table names and more.
|
|
|
|
|
// Add your customizations after calling base.OnModelCreating(builder);
|
|
|
|
|
builder.Entity<Relationship.Contact>().HasKey(x => new { x.OwnerId, x.UserId });
|
|
|
|
|
builder.Entity<GoogleCloudMobileDeclaration>().Property(x=>x.DeclarationDate).HasDefaultValueSql("LOCALTIMESTAMP");
|
|
|
|
|
builder.Entity<BlogTag>().HasKey(x=>new { x.PostId, x.TagId});
|
|
|
|
|
builder.Entity<ApplicationUser>().HasMany<ChatConnection>( c=>c.Connections );
|
|
|
|
|
builder.Entity<ApplicationUser>().Property(u=>u.Avatar).HasDefaultValue(Constants.DefaultAvatar);
|
|
|
|
|
builder.Entity<ApplicationUser>().Property(u=>u.DiskQuota).HasDefaultValue(Constants.DefaultFSQ);
|
|
|
|
|
builder.Entity<UserActivity>().HasKey(u=> new { u.DoesCode, u.UserId});
|
|
|
|
|
builder.Entity<Instrumentation>().HasKey(u=> new { u.InstrumentId, u.UserId});
|
|
|
|
|
builder.Entity<CircleAuthorizationToBlogPost>().HasKey(a=> new { a.CircleId, a.BlogPostId});
|
|
|
|
|
builder.Entity<CircleMember>().HasKey(c=> new { MemberId = c.MemberId, CircleId = c.CircleId });
|
|
|
|
|
builder.Entity<DimissClicked>().HasKey(c=>new { uid = c.UserId, notid = c.NotificationId});
|
|
|
|
|
builder.Entity<HairTaintInstance>().HasKey(ti=>new { ti.TaintId, ti.PrestationId } );
|
|
|
|
|
builder.Entity<HyperLink>().HasKey(l=>new { l.HRef, l.Method });
|
|
|
|
|
builder.Entity<Period>().HasKey(l=>new { l.Start, l.End });
|
|
|
|
|
builder.Entity<Models.Cratie.Option>().HasKey( o => new { o.Code, o.CodeScrutin });
|
|
|
|
|
builder.Entity<Notification>().Property(n=> n.icon).HasDefaultValue("exclam");
|
|
|
|
|
builder.Entity<ChatRoomPresence>().HasKey(p=>new { room = p.ChannelName, user = p.ChatUserConnectionId });
|
|
|
|
|
foreach (var et in builder.Model.GetEntityTypes()) {
|
|
|
|
|
if (et.ClrType.GetInterface("IBaseTrackedEntity")!=null)
|
|
|
|
|
builder.Entity<GoogleCloudMobileDeclaration>().Property(x => x.DeclarationDate).HasDefaultValueSql("LOCALTIMESTAMP");
|
|
|
|
|
builder.Entity<BlogTag>().HasKey(x => new { x.PostId, x.TagId });
|
|
|
|
|
builder.Entity<ApplicationUser>().HasMany<ChatConnection>(c => c.Connections);
|
|
|
|
|
builder.Entity<ApplicationUser>().Property(u => u.Avatar).HasDefaultValue(Constants.DefaultAvatar);
|
|
|
|
|
builder.Entity<ApplicationUser>().Property(u => u.DiskQuota).HasDefaultValue(Constants.DefaultFSQ);
|
|
|
|
|
builder.Entity<UserActivity>().HasKey(u => new { u.DoesCode, u.UserId });
|
|
|
|
|
builder.Entity<Instrumentation>().HasKey(u => new { u.InstrumentId, u.UserId });
|
|
|
|
|
builder.Entity<CircleAuthorizationToBlogPost>().HasKey(a => new { a.CircleId, a.BlogPostId });
|
|
|
|
|
builder.Entity<CircleMember>().HasKey(c => new { MemberId = c.MemberId, CircleId = c.CircleId });
|
|
|
|
|
builder.Entity<DimissClicked>().HasKey(c => new { uid = c.UserId, notid = c.NotificationId });
|
|
|
|
|
builder.Entity<HairTaintInstance>().HasKey(ti => new { ti.TaintId, ti.PrestationId });
|
|
|
|
|
builder.Entity<HyperLink>().HasKey(l => new { l.HRef, l.Method });
|
|
|
|
|
builder.Entity<Period>().HasKey(l => new { l.Start, l.End });
|
|
|
|
|
builder.Entity<Models.Cratie.Option>().HasKey(o => new { o.Code, o.CodeScrutin });
|
|
|
|
|
builder.Entity<Notification>().Property(n => n.icon).HasDefaultValue("exclam");
|
|
|
|
|
builder.Entity<ChatRoomPresence>().HasKey(p => new { room = p.ChannelName, user = p.ChatUserConnectionId });
|
|
|
|
|
foreach (var et in builder.Model.GetEntityTypes())
|
|
|
|
|
{
|
|
|
|
|
if (et.ClrType.GetInterface("IBaseTrackedEntity") != null)
|
|
|
|
|
et.FindProperty("DateCreated").IsReadOnlyAfterSave = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
|
|
|
{
|
|
|
|
|
optionsBuilder.UseNpgsql(Startup.ConnectionString);
|
|
|
|
|
optionsBuilder.UseNpgsql((string) AppDomain.CurrentDomain.GetData("YAVSC_CONNECTION"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DbSet<Client> Applications { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<RefreshToken> RefreshTokens { get; set; }
|
|
|
|
|
@ -128,10 +128,10 @@ namespace Yavsc.Models
|
|
|
|
|
/// References all declared external GCM devices
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public DbSet<GoogleCloudMobileDeclaration> GCMDevices { get; set; }
|
|
|
|
|
public DbSet<GoogleCloudMobileDeclaration> GCMDevices { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<Service> Services { get; set; }
|
|
|
|
|
public DbSet<Product> Products { get; set; }
|
|
|
|
|
public DbSet<Service> Services { get; set; }
|
|
|
|
|
public DbSet<Product> Products { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Task<OAuth2Tokens> GetTokensAsync(string googleUserId)
|
|
|
|
|
@ -186,12 +186,12 @@ namespace Yavsc.Models
|
|
|
|
|
Client FindApplication(string clientId)
|
|
|
|
|
{
|
|
|
|
|
return Applications.FirstOrDefault(
|
|
|
|
|
app=>app.Id == clientId);
|
|
|
|
|
app => app.Id == clientId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public DbSet<ExceptionSIREN> ExceptionsSIREN { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<Location> Locations { get; set; }
|
|
|
|
|
public DbSet<Location> Locations { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<Tag> Tags { get; set; }
|
|
|
|
|
|
|
|
|
|
@ -203,7 +203,7 @@ namespace Yavsc.Models
|
|
|
|
|
|
|
|
|
|
public DbSet<ClientProviderInfo> ClientProviderInfo { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<ChatConnection> Connections { get; set; }
|
|
|
|
|
public DbSet<ChatConnection> Connections { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<BlackListed> BlackListed { get; set; }
|
|
|
|
|
|
|
|
|
|
@ -214,23 +214,23 @@ namespace Yavsc.Models
|
|
|
|
|
public DbSet<Instrument> Instrument { get; set; }
|
|
|
|
|
|
|
|
|
|
[ActivitySettings]
|
|
|
|
|
public DbSet<DjSettings> DjSettings { get; set; }
|
|
|
|
|
public DbSet<DjSettings> DjSettings { get; set; }
|
|
|
|
|
|
|
|
|
|
[ActivitySettings]
|
|
|
|
|
public DbSet<Instrumentation> Instrumentation { get; set; }
|
|
|
|
|
public DbSet<Instrumentation> Instrumentation { get; set; }
|
|
|
|
|
|
|
|
|
|
[ActivitySettings]
|
|
|
|
|
public DbSet<FormationSettings> FormationSettings { get; set; }
|
|
|
|
|
public DbSet<FormationSettings> FormationSettings { get; set; }
|
|
|
|
|
|
|
|
|
|
[ActivitySettings]
|
|
|
|
|
public DbSet<GeneralSettings> GeneralSettings { get; set; }
|
|
|
|
|
public DbSet<CoWorking> WorkflowProviders { get; set; }
|
|
|
|
|
public DbSet<GeneralSettings> GeneralSettings { get; set; }
|
|
|
|
|
public DbSet<CoWorking> WorkflowProviders { get; set; }
|
|
|
|
|
|
|
|
|
|
private void AddTimestamps(string currentUsername)
|
|
|
|
|
{
|
|
|
|
|
var entities =
|
|
|
|
|
ChangeTracker.Entries()
|
|
|
|
|
.Where(x => x.Entity.GetType().GetInterface("IBaseTrackedEntity")!=null
|
|
|
|
|
.Where(x => x.Entity.GetType().GetInterface("IBaseTrackedEntity") != null
|
|
|
|
|
&& (x.State == EntityState.Added || x.State == EntityState.Modified));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -246,25 +246,27 @@ namespace Yavsc.Models
|
|
|
|
|
((IBaseTrackedEntity)entity.Entity).UserModified = currentUsername;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public int SaveChanges(string userId) {
|
|
|
|
|
public int SaveChanges(string userId)
|
|
|
|
|
{
|
|
|
|
|
AddTimestamps(userId);
|
|
|
|
|
return base.SaveChanges();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<int> SaveChangesAsync(string userId, CancellationToken ctoken = default(CancellationToken)) {
|
|
|
|
|
public async Task<int> SaveChangesAsync(string userId, CancellationToken ctoken = default(CancellationToken))
|
|
|
|
|
{
|
|
|
|
|
AddTimestamps(userId);
|
|
|
|
|
return await base.SaveChangesAsync();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public DbSet<Circle> Circle { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<CircleAuthorizationToBlogPost> BlogACL { get; set; }
|
|
|
|
|
public DbSet<CircleAuthorizationToBlogPost> BlogACL { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<CommandForm> CommandForm { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<Form> Form { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<Ban> Banlist { get ; set; }
|
|
|
|
|
public DbSet<Ban> Banlist { get; set; }
|
|
|
|
|
|
|
|
|
|
public DbSet<HairTaint> HairTaint { get; set; }
|
|
|
|
|
|
|
|
|
|
|