feature/1507_applicants_BE в BE_dev 3 лет назад
| using Diligent.WebAPI.Contracts.DTOs.Applicant; | |||||
| namespace Diligent.WebAPI.Business.MappingProfiles | |||||
| { | |||||
| public class ApplicantMappingProfile:Profile | |||||
| { | |||||
| public ApplicantMappingProfile() | |||||
| { | |||||
| #region Models to DTOs | |||||
| CreateMap<Applicant, ApplicantViewDto>(); | |||||
| #endregion | |||||
| #region DTOs to Models | |||||
| CreateMap<ApplicantCreateDto, Applicant>(); | |||||
| CreateMap<ApplicantUpdateDto, Applicant>(); | |||||
| #endregion | |||||
| } | |||||
| } | |||||
| } |
| using Diligent.WebAPI.Contracts.DTOs.Applicant; | |||||
| namespace Diligent.WebAPI.Business.Services | |||||
| { | |||||
| public class ApplicantService : IApplicantService | |||||
| { | |||||
| private readonly DatabaseContext _context; | |||||
| private readonly IMapper _mapper; | |||||
| public ApplicantService(DatabaseContext context,IMapper mapper) | |||||
| { | |||||
| _context = context; | |||||
| _mapper = mapper; | |||||
| } | |||||
| public async Task<List<ApplicantViewDto>> GetAll() | |||||
| { | |||||
| var applicants = await _context.Applicants.ToListAsync(); | |||||
| return _mapper.Map<List<ApplicantViewDto>>(applicants); | |||||
| } | |||||
| public async Task<ApplicantViewDto> GetById(int id) | |||||
| { | |||||
| var applicant = await _context.Applicants.FindAsync(id); | |||||
| if(applicant is null) | |||||
| throw new EntityNotFoundException("Applicant not found"); | |||||
| return _mapper.Map<ApplicantViewDto>(applicant); | |||||
| } | |||||
| public async Task CreateApplicant(ApplicantCreateDto applicantCreateDto) | |||||
| { | |||||
| var applicant = _mapper.Map<Applicant>(applicantCreateDto); | |||||
| await _context.Applicants.AddAsync(applicant); | |||||
| await _context.SaveChangesAsync(); | |||||
| } | |||||
| public async Task DeleteApplicant(int id) | |||||
| { | |||||
| var applicant = await _context.Applicants.FindAsync(id); | |||||
| if(applicant is null) | |||||
| throw new EntityNotFoundException("Applicant not found"); | |||||
| _context.Applicants.Remove(applicant); | |||||
| await _context.SaveChangesAsync(); | |||||
| } | |||||
| public async Task UpdateApplicant(int id, ApplicantUpdateDto applicantUpdateDto) | |||||
| { | |||||
| var applicant = await _context.Applicants.FindAsync(id); | |||||
| if (applicant is null) | |||||
| throw new EntityNotFoundException("Insurer not found"); | |||||
| _mapper.Map(applicantUpdateDto, applicant); | |||||
| _context.Entry(applicant).State = EntityState.Modified; | |||||
| await _context.SaveChangesAsync(); | |||||
| } | |||||
| } | |||||
| } |
| using Diligent.WebAPI.Contracts.DTOs.Applicant; | |||||
| namespace Diligent.WebAPI.Business.Services.Interfaces | |||||
| { | |||||
| public interface IApplicantService | |||||
| { | |||||
| Task<List<ApplicantViewDto>> GetAll(); | |||||
| Task<ApplicantViewDto> GetById(int id); | |||||
| Task CreateApplicant(ApplicantCreateDto applicantCreateDto); | |||||
| Task DeleteApplicant(int id); | |||||
| Task UpdateApplicant(int id, ApplicantUpdateDto applicantUpdateDto); | |||||
| } | |||||
| } |
| namespace Diligent.WebAPI.Contracts.DTOs.Applicant | |||||
| { | |||||
| public class ApplicantCreateDto | |||||
| { | |||||
| public string FirstName { get; set; } | |||||
| public string LastName { get; set; } | |||||
| public string Position { get; set; } | |||||
| public string CV { get; set; } | |||||
| public string Email { get; set; } | |||||
| public string PhoneNumber { get; set; } | |||||
| public string LinkedlnLink { get; set; } | |||||
| public string GithubLink { get; set; } | |||||
| public string BitBucketLink { get; set; } | |||||
| public int Experience { get; set; } | |||||
| public string ApplicationChannel { get; set; } | |||||
| } | |||||
| } |
| namespace Diligent.WebAPI.Contracts.DTOs.Applicant | |||||
| { | |||||
| public class ApplicantUpdateDto | |||||
| { | |||||
| public string FirstName { get; set; } | |||||
| public string LastName { get; set; } | |||||
| public string Position { get; set; } | |||||
| public string CV { get; set; } | |||||
| public string Email { get; set; } | |||||
| public string PhoneNumber { get; set; } | |||||
| public string LinkedlnLink { get; set; } | |||||
| public string GithubLink { get; set; } | |||||
| public string BitBucketLink { get; set; } | |||||
| public int Experience { get; set; } | |||||
| public string ApplicationChannel { get; set; } | |||||
| } | |||||
| } |
| namespace Diligent.WebAPI.Contracts.DTOs.Applicant | |||||
| { | |||||
| public class ApplicantViewDto | |||||
| { | |||||
| public int ApplicantId { get; set; } | |||||
| public string FirstName { get; set; } | |||||
| public string LastName { get; set; } | |||||
| public string Position { get; set; } | |||||
| public DateTime DateOfApplication { get; set; } | |||||
| public string CV { get; set; } | |||||
| public string Email { get; set; } | |||||
| public string PhoneNumber { get; set; } | |||||
| public string LinkedlnLink { get; set; } | |||||
| public string GithubLink { get; set; } | |||||
| public string BitBucketLink { get; set; } | |||||
| public int Experience { get; set; } | |||||
| public string ApplicationChannel { get; set; } | |||||
| } | |||||
| } |
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | |||||
| namespace Diligent.WebAPI.Data.Configurations | |||||
| { | |||||
| public class ApplicantConfiguration : IEntityTypeConfiguration<Applicant> | |||||
| { | |||||
| public void Configure(EntityTypeBuilder<Applicant> builder) | |||||
| { | |||||
| builder.Property(c => c.FirstName).HasMaxLength(128); | |||||
| builder.Property(c => c.LastName).HasMaxLength(128); | |||||
| builder.Property(c => c.LastName).HasMaxLength(128); | |||||
| builder.Property(c => c.Position).HasMaxLength(128); | |||||
| builder.Property(c => c.CV).IsRequired(true); | |||||
| builder.Property(c => c.Email).HasMaxLength(128); | |||||
| builder.Property(c => c.PhoneNumber).HasMaxLength(30); | |||||
| builder.Property(c => c.LinkedlnLink).IsRequired(false); | |||||
| builder.Property(c => c.GithubLink).IsRequired(false); | |||||
| builder.Property(c => c.BitBucketLink).IsRequired(false); | |||||
| builder.Property(c => c.ApplicationChannel).IsRequired(false); | |||||
| } | |||||
| } | |||||
| } |
| using Microsoft.EntityFrameworkCore.Metadata.Builders; | |||||
| namespace Diligent.WebAPI.Data.Configurations | |||||
| { | |||||
| public class TechnologyConfiguration : IEntityTypeConfiguration<Technology> | |||||
| { | |||||
| public void Configure(EntityTypeBuilder<Technology> builder) | |||||
| { | |||||
| builder.Property(c => c.Name).HasMaxLength(128); | |||||
| } | |||||
| } | |||||
| } |
| namespace Diligent.WebAPI.Data; | |||||
| using Diligent.WebAPI.Data.Configurations; | |||||
| namespace Diligent.WebAPI.Data; | |||||
| public class DatabaseContext : IdentityDbContext<User, AppRole, int> | public class DatabaseContext : IdentityDbContext<User, AppRole, int> | ||||
| { | { | ||||
| public DbSet<WebhookSubscription> WebhookSubscriptions { get; set; } | public DbSet<WebhookSubscription> WebhookSubscriptions { get; set; } | ||||
| public DbSet<WebhookDefinition> WebhookDefinitions { get; set; } | public DbSet<WebhookDefinition> WebhookDefinitions { get; set; } | ||||
| public DbSet<RefreshToken> RefreshTokens { get; set; } | public DbSet<RefreshToken> RefreshTokens { get; set; } | ||||
| public DbSet<Applicant> Applicants { get; set; } | |||||
| public DbSet<Technology> Technologies { get; set; } | |||||
| public DbSet<ApplicantTechnology> ApplicantTechnologies { get; set; } | |||||
| public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options) { } | public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options) { } | ||||
| protected override void OnModelCreating(ModelBuilder modelBuilder) | protected override void OnModelCreating(ModelBuilder modelBuilder) | ||||
| { | { | ||||
| base.OnModelCreating(modelBuilder); | base.OnModelCreating(modelBuilder); | ||||
| modelBuilder.ApplyConfiguration(new ApplicantConfiguration()); | |||||
| modelBuilder.ApplyConfiguration(new TechnologyConfiguration()); | |||||
| } | } | ||||
| } | } |
| namespace Diligent.WebAPI.Data.Entities | |||||
| { | |||||
| public class Applicant | |||||
| { | |||||
| public int ApplicantId { get; set; } | |||||
| public string FirstName { get; set; } | |||||
| public string LastName { get; set; } | |||||
| public string Position { get; set; } | |||||
| public DateTime DateOfApplication { get; set; } | |||||
| public string CV { get; set; } | |||||
| public string Email { get; set; } | |||||
| public string PhoneNumber { get; set; } | |||||
| public string LinkedlnLink { get; set; } | |||||
| public string GithubLink { get; set; } | |||||
| public string BitBucketLink { get; set; } | |||||
| public int Experience { get; set; } | |||||
| public string ApplicationChannel { get; set; } | |||||
| } | |||||
| } |
| namespace Diligent.WebAPI.Data.Entities | |||||
| { | |||||
| public class ApplicantTechnology | |||||
| { | |||||
| public int Id { get; set; } | |||||
| public int ApplicantId { get; set; } | |||||
| public Applicant Applicant { get; set; } | |||||
| public int TechnologyId { get; set; } | |||||
| public Technology Tecnology { get; set; } | |||||
| } | |||||
| } |
| namespace Diligent.WebAPI.Data.Entities | |||||
| { | |||||
| public class Technology | |||||
| { | |||||
| public int TechnologyId { get; set; } | |||||
| public string Name { get; set; } | |||||
| } | |||||
| } |
| // <auto-generated /> | |||||
| using System; | |||||
| using Diligent.WebAPI.Data; | |||||
| using Microsoft.EntityFrameworkCore; | |||||
| using Microsoft.EntityFrameworkCore.Infrastructure; | |||||
| using Microsoft.EntityFrameworkCore.Metadata; | |||||
| using Microsoft.EntityFrameworkCore.Migrations; | |||||
| using Microsoft.EntityFrameworkCore.Storage.ValueConversion; | |||||
| #nullable disable | |||||
| namespace Diligent.WebAPI.Data.Migrations | |||||
| { | |||||
| [DbContext(typeof(DatabaseContext))] | |||||
| [Migration("20221101094812_AddedApplicant")] | |||||
| partial class AddedApplicant | |||||
| { | |||||
| protected override void BuildTargetModel(ModelBuilder modelBuilder) | |||||
| { | |||||
| #pragma warning disable 612, 618 | |||||
| modelBuilder | |||||
| .HasAnnotation("ProductVersion", "6.0.10") | |||||
| .HasAnnotation("Relational:MaxIdentifierLength", 128); | |||||
| SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Applicant", b => | |||||
| { | |||||
| b.Property<int>("ApplicantId") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ApplicantId"), 1L, 1); | |||||
| b.Property<string>("ApplicationChannel") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("BitBucketLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("CV") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("DateOfApplication") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Email") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<int>("Experience") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<string>("GithubLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<string>("LinkedlnLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasMaxLength(30) | |||||
| .HasColumnType("nvarchar(30)"); | |||||
| b.Property<string>("Position") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.HasKey("ApplicantId"); | |||||
| b.ToTable("Applicants"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.AppRole", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<string>("ConcurrencyStamp") | |||||
| .IsConcurrencyToken() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Name") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<string>("NormalizedName") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("NormalizedName") | |||||
| .IsUnique() | |||||
| .HasDatabaseName("RoleNameIndex") | |||||
| .HasFilter("[NormalizedName] IS NOT NULL"); | |||||
| b.ToTable("AspNetRoles", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsuranceCompany", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<string>("City") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Country") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Fax") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LegalAddress") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LegalEmail") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Name") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PostalCode") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.ToTable("InsuranceCompanies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsurancePolicy", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime>("EndDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<long>("InsurerId") | |||||
| .HasColumnType("bigint"); | |||||
| b.Property<decimal>("Premium") | |||||
| .HasColumnType("decimal(18,2)"); | |||||
| b.Property<DateTime>("StartDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Type") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("InsurerId"); | |||||
| b.ToTable("InsurancePolicies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Insurer", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<string>("Address") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("City") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Country") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime>("DateOfBirth") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Email") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<long>("InsuranceCompanyId") | |||||
| .HasColumnType("bigint"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PostalCode") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("InsuranceCompanyId"); | |||||
| b.ToTable("Insurers"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.RefreshToken", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreationDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime>("ExpiryDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<bool>("Invalidated") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("JwtId") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Token") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("Used") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("UserId"); | |||||
| b.ToTable("RefreshTokens"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.User", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<int>("AccessFailedCount") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("ConcurrencyStamp") | |||||
| .IsConcurrencyToken() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Email") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<bool>("EmailConfirmed") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("LockoutEnabled") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<DateTimeOffset?>("LockoutEnd") | |||||
| .HasColumnType("datetimeoffset"); | |||||
| b.Property<string>("NormalizedEmail") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<string>("NormalizedUserName") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<string>("PasswordHash") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("PhoneNumberConfirmed") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("SecurityStamp") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("TwoFactorEnabled") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("UserName") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("NormalizedEmail") | |||||
| .HasDatabaseName("EmailIndex"); | |||||
| b.HasIndex("NormalizedUserName") | |||||
| .IsUnique() | |||||
| .HasDatabaseName("UserNameIndex") | |||||
| .HasFilter("[NormalizedUserName] IS NOT NULL"); | |||||
| b.ToTable("AspNetUsers", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookDefinition", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Description") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("DisplayName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(100) | |||||
| .HasColumnType("nvarchar(100)"); | |||||
| b.Property<string>("Name") | |||||
| .IsRequired() | |||||
| .HasMaxLength(100) | |||||
| .HasColumnType("nvarchar(100)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.ToTable("WebhookDefinitions"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookSubscription", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<bool>("IsActive") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<long>("WebhookDefinitionId") | |||||
| .HasColumnType("bigint"); | |||||
| b.Property<string>("WebhookURL") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("WebhookDefinitionId"); | |||||
| b.ToTable("WebhookSubscriptions"); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<string>("ClaimType") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("ClaimValue") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<int>("RoleId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("RoleId"); | |||||
| b.ToTable("AspNetRoleClaims", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<string>("ClaimType") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("ClaimValue") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("UserId"); | |||||
| b.ToTable("AspNetUserClaims", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b => | |||||
| { | |||||
| b.Property<string>("LoginProvider") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("ProviderKey") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("ProviderDisplayName") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("LoginProvider", "ProviderKey"); | |||||
| b.HasIndex("UserId"); | |||||
| b.ToTable("AspNetUserLogins", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b => | |||||
| { | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.Property<int>("RoleId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("UserId", "RoleId"); | |||||
| b.HasIndex("RoleId"); | |||||
| b.ToTable("AspNetUserRoles", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b => | |||||
| { | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("LoginProvider") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("Name") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("Value") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.HasKey("UserId", "LoginProvider", "Name"); | |||||
| b.ToTable("AspNetUserTokens", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsurancePolicy", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.Insurer", "Insurer") | |||||
| .WithMany() | |||||
| .HasForeignKey("InsurerId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("Insurer"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Insurer", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.InsuranceCompany", "InsuranceCompany") | |||||
| .WithMany() | |||||
| .HasForeignKey("InsuranceCompanyId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("InsuranceCompany"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.RefreshToken", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", "User") | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("User"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookSubscription", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.WebhookDefinition", "WebhookDefinition") | |||||
| .WithMany() | |||||
| .HasForeignKey("WebhookDefinitionId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("WebhookDefinition"); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.AppRole", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("RoleId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.AppRole", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("RoleId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| #pragma warning restore 612, 618 | |||||
| } | |||||
| } | |||||
| } |
| using System; | |||||
| using Microsoft.EntityFrameworkCore.Migrations; | |||||
| #nullable disable | |||||
| namespace Diligent.WebAPI.Data.Migrations | |||||
| { | |||||
| public partial class AddedApplicant : Migration | |||||
| { | |||||
| protected override void Up(MigrationBuilder migrationBuilder) | |||||
| { | |||||
| migrationBuilder.CreateTable( | |||||
| name: "Applicants", | |||||
| columns: table => new | |||||
| { | |||||
| ApplicantId = table.Column<int>(type: "int", nullable: false) | |||||
| .Annotation("SqlServer:Identity", "1, 1"), | |||||
| FirstName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false), | |||||
| LastName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false), | |||||
| Position = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false), | |||||
| DateOfApplication = table.Column<DateTime>(type: "datetime2", nullable: false), | |||||
| CV = table.Column<string>(type: "nvarchar(max)", nullable: false), | |||||
| Email = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false), | |||||
| PhoneNumber = table.Column<string>(type: "nvarchar(30)", maxLength: 30, nullable: false), | |||||
| LinkedlnLink = table.Column<string>(type: "nvarchar(max)", nullable: true), | |||||
| GithubLink = table.Column<string>(type: "nvarchar(max)", nullable: true), | |||||
| BitBucketLink = table.Column<string>(type: "nvarchar(max)", nullable: true), | |||||
| Experience = table.Column<int>(type: "int", nullable: false), | |||||
| ApplicationChannel = table.Column<string>(type: "nvarchar(max)", nullable: true) | |||||
| }, | |||||
| constraints: table => | |||||
| { | |||||
| table.PrimaryKey("PK_Applicants", x => x.ApplicantId); | |||||
| }); | |||||
| } | |||||
| protected override void Down(MigrationBuilder migrationBuilder) | |||||
| { | |||||
| migrationBuilder.DropTable( | |||||
| name: "Applicants"); | |||||
| } | |||||
| } | |||||
| } |
| // <auto-generated /> | |||||
| using System; | |||||
| using Diligent.WebAPI.Data; | |||||
| using Microsoft.EntityFrameworkCore; | |||||
| using Microsoft.EntityFrameworkCore.Infrastructure; | |||||
| using Microsoft.EntityFrameworkCore.Metadata; | |||||
| using Microsoft.EntityFrameworkCore.Migrations; | |||||
| using Microsoft.EntityFrameworkCore.Storage.ValueConversion; | |||||
| #nullable disable | |||||
| namespace Diligent.WebAPI.Data.Migrations | |||||
| { | |||||
| [DbContext(typeof(DatabaseContext))] | |||||
| [Migration("20221101095111_AddedTechnology")] | |||||
| partial class AddedTechnology | |||||
| { | |||||
| protected override void BuildTargetModel(ModelBuilder modelBuilder) | |||||
| { | |||||
| #pragma warning disable 612, 618 | |||||
| modelBuilder | |||||
| .HasAnnotation("ProductVersion", "6.0.10") | |||||
| .HasAnnotation("Relational:MaxIdentifierLength", 128); | |||||
| SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Applicant", b => | |||||
| { | |||||
| b.Property<int>("ApplicantId") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ApplicantId"), 1L, 1); | |||||
| b.Property<string>("ApplicationChannel") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("BitBucketLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("CV") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("DateOfApplication") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Email") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<int>("Experience") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<string>("GithubLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<string>("LinkedlnLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasMaxLength(30) | |||||
| .HasColumnType("nvarchar(30)"); | |||||
| b.Property<string>("Position") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.HasKey("ApplicantId"); | |||||
| b.ToTable("Applicants"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.AppRole", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<string>("ConcurrencyStamp") | |||||
| .IsConcurrencyToken() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Name") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<string>("NormalizedName") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("NormalizedName") | |||||
| .IsUnique() | |||||
| .HasDatabaseName("RoleNameIndex") | |||||
| .HasFilter("[NormalizedName] IS NOT NULL"); | |||||
| b.ToTable("AspNetRoles", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsuranceCompany", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<string>("City") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Country") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Fax") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LegalAddress") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LegalEmail") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Name") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PostalCode") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.ToTable("InsuranceCompanies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsurancePolicy", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime>("EndDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<long>("InsurerId") | |||||
| .HasColumnType("bigint"); | |||||
| b.Property<decimal>("Premium") | |||||
| .HasColumnType("decimal(18,2)"); | |||||
| b.Property<DateTime>("StartDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Type") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("InsurerId"); | |||||
| b.ToTable("InsurancePolicies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Insurer", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<string>("Address") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("City") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Country") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime>("DateOfBirth") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Email") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<long>("InsuranceCompanyId") | |||||
| .HasColumnType("bigint"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PostalCode") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("InsuranceCompanyId"); | |||||
| b.ToTable("Insurers"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.RefreshToken", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreationDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime>("ExpiryDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<bool>("Invalidated") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("JwtId") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Token") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("Used") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("UserId"); | |||||
| b.ToTable("RefreshTokens"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Technology", b => | |||||
| { | |||||
| b.Property<int>("TechnologyId") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("TechnologyId"), 1L, 1); | |||||
| b.Property<string>("Name") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.HasKey("TechnologyId"); | |||||
| b.ToTable("Technologies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.User", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<int>("AccessFailedCount") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("ConcurrencyStamp") | |||||
| .IsConcurrencyToken() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Email") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<bool>("EmailConfirmed") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("LockoutEnabled") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<DateTimeOffset?>("LockoutEnd") | |||||
| .HasColumnType("datetimeoffset"); | |||||
| b.Property<string>("NormalizedEmail") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<string>("NormalizedUserName") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<string>("PasswordHash") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("PhoneNumberConfirmed") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("SecurityStamp") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("TwoFactorEnabled") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("UserName") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("NormalizedEmail") | |||||
| .HasDatabaseName("EmailIndex"); | |||||
| b.HasIndex("NormalizedUserName") | |||||
| .IsUnique() | |||||
| .HasDatabaseName("UserNameIndex") | |||||
| .HasFilter("[NormalizedUserName] IS NOT NULL"); | |||||
| b.ToTable("AspNetUsers", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookDefinition", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Description") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("DisplayName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(100) | |||||
| .HasColumnType("nvarchar(100)"); | |||||
| b.Property<string>("Name") | |||||
| .IsRequired() | |||||
| .HasMaxLength(100) | |||||
| .HasColumnType("nvarchar(100)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.ToTable("WebhookDefinitions"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookSubscription", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<bool>("IsActive") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<long>("WebhookDefinitionId") | |||||
| .HasColumnType("bigint"); | |||||
| b.Property<string>("WebhookURL") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("WebhookDefinitionId"); | |||||
| b.ToTable("WebhookSubscriptions"); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<string>("ClaimType") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("ClaimValue") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<int>("RoleId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("RoleId"); | |||||
| b.ToTable("AspNetRoleClaims", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<string>("ClaimType") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("ClaimValue") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("UserId"); | |||||
| b.ToTable("AspNetUserClaims", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b => | |||||
| { | |||||
| b.Property<string>("LoginProvider") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("ProviderKey") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("ProviderDisplayName") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("LoginProvider", "ProviderKey"); | |||||
| b.HasIndex("UserId"); | |||||
| b.ToTable("AspNetUserLogins", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b => | |||||
| { | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.Property<int>("RoleId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("UserId", "RoleId"); | |||||
| b.HasIndex("RoleId"); | |||||
| b.ToTable("AspNetUserRoles", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b => | |||||
| { | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("LoginProvider") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("Name") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("Value") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.HasKey("UserId", "LoginProvider", "Name"); | |||||
| b.ToTable("AspNetUserTokens", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsurancePolicy", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.Insurer", "Insurer") | |||||
| .WithMany() | |||||
| .HasForeignKey("InsurerId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("Insurer"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Insurer", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.InsuranceCompany", "InsuranceCompany") | |||||
| .WithMany() | |||||
| .HasForeignKey("InsuranceCompanyId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("InsuranceCompany"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.RefreshToken", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", "User") | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("User"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookSubscription", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.WebhookDefinition", "WebhookDefinition") | |||||
| .WithMany() | |||||
| .HasForeignKey("WebhookDefinitionId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("WebhookDefinition"); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.AppRole", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("RoleId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.AppRole", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("RoleId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| #pragma warning restore 612, 618 | |||||
| } | |||||
| } | |||||
| } |
| using Microsoft.EntityFrameworkCore.Migrations; | |||||
| #nullable disable | |||||
| namespace Diligent.WebAPI.Data.Migrations | |||||
| { | |||||
| public partial class AddedTechnology : Migration | |||||
| { | |||||
| protected override void Up(MigrationBuilder migrationBuilder) | |||||
| { | |||||
| migrationBuilder.CreateTable( | |||||
| name: "Technologies", | |||||
| columns: table => new | |||||
| { | |||||
| TechnologyId = table.Column<int>(type: "int", nullable: false) | |||||
| .Annotation("SqlServer:Identity", "1, 1"), | |||||
| Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false) | |||||
| }, | |||||
| constraints: table => | |||||
| { | |||||
| table.PrimaryKey("PK_Technologies", x => x.TechnologyId); | |||||
| }); | |||||
| } | |||||
| protected override void Down(MigrationBuilder migrationBuilder) | |||||
| { | |||||
| migrationBuilder.DropTable( | |||||
| name: "Technologies"); | |||||
| } | |||||
| } | |||||
| } |
| // <auto-generated /> | |||||
| using System; | |||||
| using Diligent.WebAPI.Data; | |||||
| using Microsoft.EntityFrameworkCore; | |||||
| using Microsoft.EntityFrameworkCore.Infrastructure; | |||||
| using Microsoft.EntityFrameworkCore.Metadata; | |||||
| using Microsoft.EntityFrameworkCore.Migrations; | |||||
| using Microsoft.EntityFrameworkCore.Storage.ValueConversion; | |||||
| #nullable disable | |||||
| namespace Diligent.WebAPI.Data.Migrations | |||||
| { | |||||
| [DbContext(typeof(DatabaseContext))] | |||||
| [Migration("20221101095219_AddedApplicantTechnology")] | |||||
| partial class AddedApplicantTechnology | |||||
| { | |||||
| protected override void BuildTargetModel(ModelBuilder modelBuilder) | |||||
| { | |||||
| #pragma warning disable 612, 618 | |||||
| modelBuilder | |||||
| .HasAnnotation("ProductVersion", "6.0.10") | |||||
| .HasAnnotation("Relational:MaxIdentifierLength", 128); | |||||
| SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Applicant", b => | |||||
| { | |||||
| b.Property<int>("ApplicantId") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ApplicantId"), 1L, 1); | |||||
| b.Property<string>("ApplicationChannel") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("BitBucketLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("CV") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("DateOfApplication") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Email") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<int>("Experience") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<string>("GithubLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<string>("LinkedlnLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasMaxLength(30) | |||||
| .HasColumnType("nvarchar(30)"); | |||||
| b.Property<string>("Position") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.HasKey("ApplicantId"); | |||||
| b.ToTable("Applicants"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.ApplicantTechnology", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<int>("ApplicantId") | |||||
| .HasColumnType("int"); | |||||
| b.Property<int>("TechnologyId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("ApplicantId"); | |||||
| b.HasIndex("TechnologyId"); | |||||
| b.ToTable("ApplicantTechnologies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.AppRole", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<string>("ConcurrencyStamp") | |||||
| .IsConcurrencyToken() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Name") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<string>("NormalizedName") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("NormalizedName") | |||||
| .IsUnique() | |||||
| .HasDatabaseName("RoleNameIndex") | |||||
| .HasFilter("[NormalizedName] IS NOT NULL"); | |||||
| b.ToTable("AspNetRoles", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsuranceCompany", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<string>("City") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Country") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Fax") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LegalAddress") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LegalEmail") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Name") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PostalCode") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.ToTable("InsuranceCompanies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsurancePolicy", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime>("EndDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<long>("InsurerId") | |||||
| .HasColumnType("bigint"); | |||||
| b.Property<decimal>("Premium") | |||||
| .HasColumnType("decimal(18,2)"); | |||||
| b.Property<DateTime>("StartDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Type") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("InsurerId"); | |||||
| b.ToTable("InsurancePolicies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Insurer", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<string>("Address") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("City") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Country") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime>("DateOfBirth") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Email") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<long>("InsuranceCompanyId") | |||||
| .HasColumnType("bigint"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PostalCode") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("InsuranceCompanyId"); | |||||
| b.ToTable("Insurers"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.RefreshToken", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreationDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime>("ExpiryDate") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<bool>("Invalidated") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("JwtId") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Token") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("Used") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("UserId"); | |||||
| b.ToTable("RefreshTokens"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Technology", b => | |||||
| { | |||||
| b.Property<int>("TechnologyId") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("TechnologyId"), 1L, 1); | |||||
| b.Property<string>("Name") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.HasKey("TechnologyId"); | |||||
| b.ToTable("Technologies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.User", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<int>("AccessFailedCount") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("ConcurrencyStamp") | |||||
| .IsConcurrencyToken() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("Email") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<bool>("EmailConfirmed") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("LockoutEnabled") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<DateTimeOffset?>("LockoutEnd") | |||||
| .HasColumnType("datetimeoffset"); | |||||
| b.Property<string>("NormalizedEmail") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<string>("NormalizedUserName") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.Property<string>("PasswordHash") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("PhoneNumberConfirmed") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("SecurityStamp") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<bool>("TwoFactorEnabled") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<string>("UserName") | |||||
| .HasMaxLength(256) | |||||
| .HasColumnType("nvarchar(256)"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("NormalizedEmail") | |||||
| .HasDatabaseName("EmailIndex"); | |||||
| b.HasIndex("NormalizedUserName") | |||||
| .IsUnique() | |||||
| .HasDatabaseName("UserNameIndex") | |||||
| .HasFilter("[NormalizedUserName] IS NOT NULL"); | |||||
| b.ToTable("AspNetUsers", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookDefinition", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Description") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("DisplayName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(100) | |||||
| .HasColumnType("nvarchar(100)"); | |||||
| b.Property<string>("Name") | |||||
| .IsRequired() | |||||
| .HasMaxLength(100) | |||||
| .HasColumnType("nvarchar(100)"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.HasKey("Id"); | |||||
| b.ToTable("WebhookDefinitions"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookSubscription", b => | |||||
| { | |||||
| b.Property<long>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("bigint"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1); | |||||
| b.Property<DateTime>("CreatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<DateTime?>("DeletedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<bool>("IsActive") | |||||
| .HasColumnType("bit"); | |||||
| b.Property<DateTime?>("UpdatedAtUtc") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<long>("WebhookDefinitionId") | |||||
| .HasColumnType("bigint"); | |||||
| b.Property<string>("WebhookURL") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("WebhookDefinitionId"); | |||||
| b.ToTable("WebhookSubscriptions"); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<string>("ClaimType") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("ClaimValue") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<int>("RoleId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("RoleId"); | |||||
| b.ToTable("AspNetRoleClaims", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<string>("ClaimType") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("ClaimValue") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("UserId"); | |||||
| b.ToTable("AspNetUserClaims", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b => | |||||
| { | |||||
| b.Property<string>("LoginProvider") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("ProviderKey") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("ProviderDisplayName") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("LoginProvider", "ProviderKey"); | |||||
| b.HasIndex("UserId"); | |||||
| b.ToTable("AspNetUserLogins", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b => | |||||
| { | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.Property<int>("RoleId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("UserId", "RoleId"); | |||||
| b.HasIndex("RoleId"); | |||||
| b.ToTable("AspNetUserRoles", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b => | |||||
| { | |||||
| b.Property<int>("UserId") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("LoginProvider") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("Name") | |||||
| .HasColumnType("nvarchar(450)"); | |||||
| b.Property<string>("Value") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.HasKey("UserId", "LoginProvider", "Name"); | |||||
| b.ToTable("AspNetUserTokens", (string)null); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.ApplicantTechnology", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.Applicant", "Applicant") | |||||
| .WithMany() | |||||
| .HasForeignKey("ApplicantId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.Technology", "Tecnology") | |||||
| .WithMany() | |||||
| .HasForeignKey("TechnologyId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("Applicant"); | |||||
| b.Navigation("Tecnology"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsurancePolicy", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.Insurer", "Insurer") | |||||
| .WithMany() | |||||
| .HasForeignKey("InsurerId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("Insurer"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Insurer", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.InsuranceCompany", "InsuranceCompany") | |||||
| .WithMany() | |||||
| .HasForeignKey("InsuranceCompanyId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("InsuranceCompany"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.RefreshToken", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", "User") | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("User"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookSubscription", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.WebhookDefinition", "WebhookDefinition") | |||||
| .WithMany() | |||||
| .HasForeignKey("WebhookDefinitionId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("WebhookDefinition"); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.AppRole", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("RoleId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.AppRole", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("RoleId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", null) | |||||
| .WithMany() | |||||
| .HasForeignKey("UserId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| }); | |||||
| #pragma warning restore 612, 618 | |||||
| } | |||||
| } | |||||
| } |
| using Microsoft.EntityFrameworkCore.Migrations; | |||||
| #nullable disable | |||||
| namespace Diligent.WebAPI.Data.Migrations | |||||
| { | |||||
| public partial class AddedApplicantTechnology : Migration | |||||
| { | |||||
| protected override void Up(MigrationBuilder migrationBuilder) | |||||
| { | |||||
| migrationBuilder.CreateTable( | |||||
| name: "ApplicantTechnologies", | |||||
| columns: table => new | |||||
| { | |||||
| Id = table.Column<int>(type: "int", nullable: false) | |||||
| .Annotation("SqlServer:Identity", "1, 1"), | |||||
| ApplicantId = table.Column<int>(type: "int", nullable: false), | |||||
| TechnologyId = table.Column<int>(type: "int", nullable: false) | |||||
| }, | |||||
| constraints: table => | |||||
| { | |||||
| table.PrimaryKey("PK_ApplicantTechnologies", x => x.Id); | |||||
| table.ForeignKey( | |||||
| name: "FK_ApplicantTechnologies_Applicants_ApplicantId", | |||||
| column: x => x.ApplicantId, | |||||
| principalTable: "Applicants", | |||||
| principalColumn: "ApplicantId", | |||||
| onDelete: ReferentialAction.Cascade); | |||||
| table.ForeignKey( | |||||
| name: "FK_ApplicantTechnologies_Technologies_TechnologyId", | |||||
| column: x => x.TechnologyId, | |||||
| principalTable: "Technologies", | |||||
| principalColumn: "TechnologyId", | |||||
| onDelete: ReferentialAction.Cascade); | |||||
| }); | |||||
| migrationBuilder.CreateIndex( | |||||
| name: "IX_ApplicantTechnologies_ApplicantId", | |||||
| table: "ApplicantTechnologies", | |||||
| column: "ApplicantId"); | |||||
| migrationBuilder.CreateIndex( | |||||
| name: "IX_ApplicantTechnologies_TechnologyId", | |||||
| table: "ApplicantTechnologies", | |||||
| column: "TechnologyId"); | |||||
| } | |||||
| protected override void Down(MigrationBuilder migrationBuilder) | |||||
| { | |||||
| migrationBuilder.DropTable( | |||||
| name: "ApplicantTechnologies"); | |||||
| } | |||||
| } | |||||
| } |
| SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); | SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); | ||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Applicant", b => | |||||
| { | |||||
| b.Property<int>("ApplicantId") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("ApplicantId"), 1L, 1); | |||||
| b.Property<string>("ApplicationChannel") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("BitBucketLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("CV") | |||||
| .IsRequired() | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<DateTime>("DateOfApplication") | |||||
| .HasColumnType("datetime2"); | |||||
| b.Property<string>("Email") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<int>("Experience") | |||||
| .HasColumnType("int"); | |||||
| b.Property<string>("FirstName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<string>("GithubLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("LastName") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.Property<string>("LinkedlnLink") | |||||
| .HasColumnType("nvarchar(max)"); | |||||
| b.Property<string>("PhoneNumber") | |||||
| .IsRequired() | |||||
| .HasMaxLength(30) | |||||
| .HasColumnType("nvarchar(30)"); | |||||
| b.Property<string>("Position") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.HasKey("ApplicantId"); | |||||
| b.ToTable("Applicants"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.ApplicantTechnology", b => | |||||
| { | |||||
| b.Property<int>("Id") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||||
| b.Property<int>("ApplicantId") | |||||
| .HasColumnType("int"); | |||||
| b.Property<int>("TechnologyId") | |||||
| .HasColumnType("int"); | |||||
| b.HasKey("Id"); | |||||
| b.HasIndex("ApplicantId"); | |||||
| b.HasIndex("TechnologyId"); | |||||
| b.ToTable("ApplicantTechnologies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.AppRole", b => | modelBuilder.Entity("Diligent.WebAPI.Data.Entities.AppRole", b => | ||||
| { | { | ||||
| b.Property<int>("Id") | b.Property<int>("Id") | ||||
| b.ToTable("RefreshTokens"); | b.ToTable("RefreshTokens"); | ||||
| }); | }); | ||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Technology", b => | |||||
| { | |||||
| b.Property<int>("TechnologyId") | |||||
| .ValueGeneratedOnAdd() | |||||
| .HasColumnType("int"); | |||||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("TechnologyId"), 1L, 1); | |||||
| b.Property<string>("Name") | |||||
| .IsRequired() | |||||
| .HasMaxLength(128) | |||||
| .HasColumnType("nvarchar(128)"); | |||||
| b.HasKey("TechnologyId"); | |||||
| b.ToTable("Technologies"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.User", b => | modelBuilder.Entity("Diligent.WebAPI.Data.Entities.User", b => | ||||
| { | { | ||||
| b.Property<int>("Id") | b.Property<int>("Id") | ||||
| b.ToTable("AspNetUserTokens", (string)null); | b.ToTable("AspNetUserTokens", (string)null); | ||||
| }); | }); | ||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.ApplicantTechnology", b => | |||||
| { | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.Applicant", "Applicant") | |||||
| .WithMany() | |||||
| .HasForeignKey("ApplicantId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.HasOne("Diligent.WebAPI.Data.Entities.Technology", "Tecnology") | |||||
| .WithMany() | |||||
| .HasForeignKey("TechnologyId") | |||||
| .OnDelete(DeleteBehavior.Cascade) | |||||
| .IsRequired(); | |||||
| b.Navigation("Applicant"); | |||||
| b.Navigation("Tecnology"); | |||||
| }); | |||||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsurancePolicy", b => | modelBuilder.Entity("Diligent.WebAPI.Data.Entities.InsurancePolicy", b => | ||||
| { | { | ||||
| b.HasOne("Diligent.WebAPI.Data.Entities.Insurer", "Insurer") | b.HasOne("Diligent.WebAPI.Data.Entities.Insurer", "Insurer") |
| namespace Diligent.WebAPI.Host.Controllers.V1 | |||||
| { | |||||
| [ApiVersion("1.0")] | |||||
| [Route("v{version:apiVersion}/applicants")] | |||||
| [ApiController] | |||||
| public class ApplicantsController:ControllerBase | |||||
| { | |||||
| private readonly IApplicantService _applicantService; | |||||
| public ApplicantsController(IApplicantService applicantService) | |||||
| { | |||||
| _applicantService = applicantService; | |||||
| } | |||||
| [HttpGet] | |||||
| public async Task<IActionResult> GetAll() | |||||
| { | |||||
| return Ok(await _applicantService.GetAll()); | |||||
| } | |||||
| [HttpGet("{id}")] | |||||
| public async Task<IActionResult> GetById(int id) | |||||
| { | |||||
| return Ok(await _applicantService.GetById(id)); | |||||
| } | |||||
| } | |||||
| } |
| services.AddAutoMapper(typeof(CompanyMappingProfile)); | services.AddAutoMapper(typeof(CompanyMappingProfile)); | ||||
| services.AddAutoMapper(typeof(WebhookMappingProfile)); | services.AddAutoMapper(typeof(WebhookMappingProfile)); | ||||
| services.AddAutoMapper(typeof(InsurerMappingProfile)); | services.AddAutoMapper(typeof(InsurerMappingProfile)); | ||||
| services.AddAutoMapper(typeof(ApplicantMappingProfile)); | |||||
| services.AddScoped<IInsurersService, InsurersService>(); | services.AddScoped<IInsurersService, InsurersService>(); | ||||
| services.AddScoped<IInsuranceCompaniesService, InsuranceCompaniesService>(); | services.AddScoped<IInsuranceCompaniesService, InsuranceCompaniesService>(); | ||||
| services.AddScoped<IWebhookSubscriptionService, WebhookSubscriptionService>(); | services.AddScoped<IWebhookSubscriptionService, WebhookSubscriptionService>(); | ||||
| services.AddScoped<IWebhookDefinitionService, WebhookDefinitionService>(); | services.AddScoped<IWebhookDefinitionService, WebhookDefinitionService>(); | ||||
| services.AddScoped<IWebhookPublisherService, WebhookPublisherService>(); | services.AddScoped<IWebhookPublisherService, WebhookPublisherService>(); | ||||
| services.AddScoped<IWebhookPublisherService, WebhookPublisherService>(); | |||||
| services.AddScoped<IApplicantService, ApplicantService>(); | |||||
| } | } | ||||
| /// <summary> | /// <summary> |