55 lines
2.0 KiB
C#
Raw Normal View History

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;
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!;
public DbSet<RequestReference> RequestReferences { get; set; }= null!;
public DbSet<RequestAsset> RequestAssets { get; set; }= null!;
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
}