PHP Classes

File: backend/dotnet/Data/JdbContext.cs

Recommend this page to a friend!
  Packages of Everton C B Junior   Igreja Aberta   backend/dotnet/Data/JdbContext.cs   Download  
File: backend/dotnet/Data/JdbContext.cs
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Igreja Aberta
Church activity management application
Author: By
Last change:
Date: 14 days ago
Size: 4,720 bytes
 

Contents

Class file image Download
using Microsoft.EntityFrameworkCore; using Jdb.Api.Models; namespace Jdb.Api.Data { public class JdbContext : DbContext { public JdbContext(DbContextOptions<JdbContext> options) : base(options) { } public DbSet<User> Users { get; set; } public DbSet<Congregation> Congregations { get; set; } public DbSet<RefreshToken> RefreshTokens { get; set; } public DbSet<PasswordResetToken> PasswordResetTokens { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Congregation>(entity => { entity.ToTable("congregations"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Name).HasColumnName("name"); entity.Property(e => e.Description).HasColumnName("description"); entity.Property(e => e.Phone).HasColumnName("phone"); entity.Property(e => e.Email).HasColumnName("email"); entity.Property(e => e.ZipCode).HasColumnName("zip_code"); entity.Property(e => e.Address).HasColumnName("address"); entity.Property(e => e.Number).HasColumnName("number"); entity.Property(e => e.Complement).HasColumnName("complement"); entity.Property(e => e.Neighborhood).HasColumnName("neighborhood"); entity.Property(e => e.City).HasColumnName("city"); entity.Property(e => e.State).HasColumnName("state"); entity.Property(e => e.Status).HasColumnName("status"); entity.Property(e => e.CreatedAt).HasColumnName("created_at"); entity.Property(e => e.UpdatedAt).HasColumnName("updated_at"); }); modelBuilder.Entity<User>(entity => { entity.ToTable("users"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.CongregationId).HasColumnName("congregation_id"); entity.Property(e => e.Name).HasColumnName("name"); entity.Property(e => e.Email).HasColumnName("email"); entity.Property(e => e.Password).HasColumnName("password"); entity.Property(e => e.Status).HasColumnName("status"); entity.Property(e => e.LastLoginAt).HasColumnName("last_login_at"); entity.Property(e => e.CreatedAt).HasColumnName("created_at"); entity.Property(e => e.UpdatedAt).HasColumnName("updated_at"); entity.HasOne(e => e.Congregation) .WithMany(e => e.Users) .HasForeignKey(e => e.CongregationId) .OnDelete(DeleteBehavior.Restrict); }); modelBuilder.Entity<User>() .HasIndex(u => u.Email) .IsUnique(); modelBuilder.Entity<RefreshToken>(entity => { entity.ToTable("refresh_tokens"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.UserId).HasColumnName("user_id"); entity.Property(e => e.TokenHash).HasColumnName("token_hash"); entity.Property(e => e.ExpiresAt).HasColumnName("expires_at"); entity.Property(e => e.RevokedAt).HasColumnName("revoked_at"); entity.Property(e => e.CreatedAt).HasColumnName("created_at"); entity.HasIndex(e => e.TokenHash).IsUnique(); entity.HasOne(e => e.User) .WithMany(e => e.RefreshTokens) .HasForeignKey(e => e.UserId) .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity<PasswordResetToken>(entity => { entity.ToTable("password_reset_tokens"); entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.UserId).HasColumnName("user_id"); entity.Property(e => e.TokenHash).HasColumnName("token_hash"); entity.Property(e => e.ExpiresAt).HasColumnName("expires_at"); entity.Property(e => e.UsedAt).HasColumnName("used_at"); entity.Property(e => e.CreatedAt).HasColumnName("created_at"); entity.HasIndex(e => e.TokenHash).IsUnique(); entity.HasOne(e => e.User) .WithMany(e => e.PasswordResetTokens) .HasForeignKey(e => e.UserId) .OnDelete(DeleteBehavior.Cascade); }); } } }