2024-06-15 03:10:24 -04:00
|
|
|
|
using comissions.app.api.Entities;
|
2024-02-04 01:03:43 -05:00
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
using Npgsql;
|
|
|
|
|
|
2024-06-15 03:10:24 -04:00
|
|
|
|
namespace comissions.app.api;
|
2024-02-04 01:03:43 -05:00
|
|
|
|
|
|
|
|
|
public class ApplicationDbContext:DbContext
|
|
|
|
|
{
|
|
|
|
|
private readonly ApplicationDatabaseConfigurationModel _configuration;
|
|
|
|
|
|
2024-02-10 01:46:23 -05:00
|
|
|
|
public ApplicationDbContext(ApplicationDatabaseConfigurationModel configuration, DbContextOptions<ApplicationDbContext> options):base(options)
|
|
|
|
|
{
|
|
|
|
|
_configuration = configuration;
|
|
|
|
|
}
|
2024-02-10 20:23:25 -05:00
|
|
|
|
|
|
|
|
|
public ApplicationDbContext()
|
|
|
|
|
{
|
|
|
|
|
_configuration = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ApplicationDbContext(ApplicationDatabaseConfigurationModel configuration)
|
|
|
|
|
{
|
|
|
|
|
_configuration = null;
|
|
|
|
|
}
|
|
|
|
|
|
2024-02-04 01:03:43 -05:00
|
|
|
|
|
|
|
|
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
|
|
|
|
{
|
|
|
|
|
var connectionStringBuilder = new NpgsqlConnectionStringBuilder()
|
|
|
|
|
{
|
|
|
|
|
Host = _configuration?.Host ?? "localhost",
|
|
|
|
|
Port = _configuration?.Port ?? 5432,
|
2024-02-10 20:23:25 -05:00
|
|
|
|
Database = _configuration?.Database ?? "comissionsapp",
|
|
|
|
|
Username = _configuration?.Username ?? "postgres",
|
|
|
|
|
Password = _configuration?.Password ?? "postgres"
|
2024-02-04 01:03:43 -05:00
|
|
|
|
};
|
|
|
|
|
optionsBuilder.UseNpgsql(connectionStringBuilder.ConnectionString);
|
|
|
|
|
base.OnConfiguring(optionsBuilder);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#region DB Sets
|
|
|
|
|
|
|
|
|
|
public DbSet<User> Users { get; set; } = null!;
|
2024-02-19 04:50:48 -05:00
|
|
|
|
public DbSet<ArtistPageSettings> ArtistPageSettings { get; set; }= null!;
|
|
|
|
|
public DbSet<UserArtist> UserArtists { get; set; }= null!;
|
|
|
|
|
public DbSet<ArtistRequest> ArtistRequests { get; set; }= null!;
|
|
|
|
|
public DbSet<ArtistPortfolioPiece> ArtistPortfolioPieces { get; set; }= null!;
|
|
|
|
|
public DbSet<Request> Requests { get; set; }= null!;
|
2024-02-25 15:29:46 -05:00
|
|
|
|
public DbSet<RequestReference> RequestReferences { get; set; }= null!;
|
|
|
|
|
public DbSet<RequestAsset> RequestAssets { get; set; }= null!;
|
2024-03-09 21:18:55 -05:00
|
|
|
|
public DbSet<ArtistRequestMessage> ArtistRequestMessages { get; set; }= null!;
|
2024-03-09 22:32:33 -05:00
|
|
|
|
public DbSet<Ban> Bans { get; set; }= null!;
|
|
|
|
|
public DbSet<Suspension> Suspensions { get; set; }= null!;
|
2024-02-04 01:03:43 -05:00
|
|
|
|
#endregion
|
|
|
|
|
}
|