| @@ -12,6 +12,7 @@ namespace Diligent.WebAPI.Business.MappingProfiles | |||
| #region Model to DTO | |||
| CreateMap<Ad, AdResponseDto>(); | |||
| CreateMap<Ad, AdDetailsResponseDto>(); | |||
| #endregion | |||
| } | |||
| } | |||
| @@ -12,7 +12,7 @@ | |||
| } | |||
| public async Task<List<AdResponseDto>> GetAllAsync() => | |||
| _mapper.Map<List<AdResponseDto>>(await _context.Ads.ToListAsync()); | |||
| _mapper.Map<List<AdResponseDto>>(await _context.Ads.Include(x => x.Technologies).ToListAsync()); | |||
| public async Task<AdResponseDto> GetByIdAsync(int id) | |||
| { | |||
| @@ -25,6 +25,24 @@ | |||
| } | |||
| public async Task<AdDetailsResponseDto> GetAdDetailsByIdAsync(int id) | |||
| { | |||
| var ad = await _context.Ads.Include(x => x.Applicants).Where(x => x.Id == id).FirstOrDefaultAsync(); | |||
| if (ad is null) | |||
| throw new EntityNotFoundException("Ad not found"); | |||
| return _mapper.Map<AdDetailsResponseDto>(ad); | |||
| } | |||
| public async Task<List<AdResponseDto>> GetArchiveAds() | |||
| { | |||
| var today = DateTime.Now; | |||
| var archiveAds = await _context.Ads.Where(x => x.ExpiredAt < today).ToListAsync(); | |||
| return _mapper.Map<List<AdResponseDto>>(archiveAds); | |||
| } | |||
| public async Task CreateAsync(AdCreateDto adCreateDto) | |||
| { | |||
| await _context.Ads.AddAsync(_mapper.Map<Ad>(adCreateDto)); | |||
| @@ -7,6 +7,10 @@ namespace Diligent.WebAPI.Business.Services.Interfaces | |||
| Task<AdResponseDto> GetByIdAsync(int id); | |||
| Task<AdDetailsResponseDto> GetAdDetailsByIdAsync(int id); | |||
| Task<List<AdResponseDto>> GetArchiveAds(); | |||
| Task CreateAsync(AdCreateDto adCreateDto); | |||
| Task UpdateAsync(int id, AdUpdateDto adUpdateDto); | |||
| @@ -16,9 +16,9 @@ namespace Diligent.WebAPI.Contracts.DTOs.Ad | |||
| public DateTime ExpiredAt { get; set; } | |||
| public string MainLiabilities { get; set; } | |||
| public string KeyResponsibilities { get; set; } | |||
| public string Conditions { get; set; } | |||
| public string Requirements { get; set; } | |||
| public string Offer { get; set; } | |||
| } | |||
| @@ -0,0 +1,40 @@ | |||
| using Diligent.WebAPI.Contracts.DTOs.Applicant; | |||
| using Diligent.WebAPI.Contracts.DTOs.Technology; | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| using System.Threading.Tasks; | |||
| namespace Diligent.WebAPI.Contracts.DTOs.Ad | |||
| { | |||
| public class AdDetailsResponseDto | |||
| { | |||
| public int Id { get; set; } | |||
| public string Title { get; set; } | |||
| public int MinimumExperience { get; set; } | |||
| public DateTime CreatedAt { get; set; } | |||
| public DateTime ExpiredAt { get; set; } | |||
| public string KeyResponsibilities { get; set; } | |||
| public string Requirements { get; set; } | |||
| public string Offer { get; set; } | |||
| public int TotalApplicants { get { return CalculateTotalApplicants(); } } | |||
| public List<TechnologyResponseDto> Technologies { get; set; } | |||
| public List<ApplicantViewDto> Applicants { get; set; } | |||
| private int CalculateTotalApplicants() | |||
| { | |||
| return Applicants.Count(); | |||
| } | |||
| } | |||
| } | |||
| @@ -1,4 +1,5 @@ | |||
| using System; | |||
| using Diligent.WebAPI.Contracts.DTOs.Technology; | |||
| using System; | |||
| using System.Collections.Generic; | |||
| using System.Linq; | |||
| using System.Text; | |||
| @@ -18,10 +19,12 @@ namespace Diligent.WebAPI.Contracts.DTOs.Ad | |||
| public DateTime ExpiredAt { get; set; } | |||
| public string MainLiabilities { get; set; } | |||
| public string KeyResponsibilities { get; set; } | |||
| public string Conditions { get; set; } | |||
| public string Requirements { get; set; } | |||
| public string Offer { get; set; } | |||
| public List<TechnologyResponseDto> Technologies { get; set; } | |||
| } | |||
| } | |||
| @@ -13,12 +13,14 @@ namespace Diligent.WebAPI.Data.Entities | |||
| public DateTime ExpiredAt { get; set; } | |||
| public string MainLiabilities { get; set; } | |||
| public string KeyResponsibilities { get; set; } | |||
| public string Conditions { get; set; } | |||
| public string Requirements { get; set; } | |||
| public string Offer { get; set; } | |||
| public List<Technology> Technologies { get; set; } = new(); | |||
| public List<Applicant> Applicants { get; set; } = new(); | |||
| } | |||
| } | |||
| @@ -17,5 +17,6 @@ | |||
| public string ApplicationChannel { get; set; } | |||
| public List<TechnologyApplicant> TechnologyApplicants { get; set; } | |||
| public List<Comment> Comments { get; set; } | |||
| public List<Ad> Ads { get; set; } | |||
| } | |||
| } | |||
| @@ -0,0 +1,855 @@ | |||
| // <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("20221107150428_AdAttributesNameChanged")] | |||
| partial class AdAttributesNameChanged | |||
| { | |||
| 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("AdTechnology", b => | |||
| { | |||
| b.Property<int>("AdsId") | |||
| .HasColumnType("int"); | |||
| b.Property<int>("TechnologiesTechnologyId") | |||
| .HasColumnType("int"); | |||
| b.HasKey("AdsId", "TechnologiesTechnologyId"); | |||
| b.HasIndex("TechnologiesTechnologyId"); | |||
| b.ToTable("AdTechnology"); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Ad", b => | |||
| { | |||
| b.Property<int>("Id") | |||
| .ValueGeneratedOnAdd() | |||
| .HasColumnType("int"); | |||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||
| b.Property<DateTime>("CreatedAt") | |||
| .HasColumnType("datetime2"); | |||
| b.Property<DateTime>("ExpiredAt") | |||
| .HasColumnType("datetime2"); | |||
| b.Property<string>("KeyResponsibilities") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.Property<int>("MinimumExperience") | |||
| .HasColumnType("int"); | |||
| b.Property<string>("Offer") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.Property<string>("Requirements") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.Property<string>("Title") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.HasKey("Id"); | |||
| b.ToTable("Ads"); | |||
| }); | |||
| 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.Comment", b => | |||
| { | |||
| b.Property<int>("Id") | |||
| .ValueGeneratedOnAdd() | |||
| .HasColumnType("int"); | |||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||
| b.Property<int>("ApplicantId") | |||
| .HasColumnType("int"); | |||
| b.Property<string>("Content") | |||
| .IsRequired() | |||
| .HasMaxLength(1024) | |||
| .HasColumnType("nvarchar(1024)"); | |||
| b.Property<DateTime>("DateOfSending") | |||
| .HasColumnType("datetime2"); | |||
| b.Property<int>("UserId") | |||
| .HasColumnType("int"); | |||
| b.HasKey("Id"); | |||
| b.HasIndex("ApplicantId"); | |||
| b.HasIndex("UserId"); | |||
| b.ToTable("Comments"); | |||
| }); | |||
| 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.TechnologyApplicant", 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.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>("PasswordResetToken") | |||
| .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("AdTechnology", b => | |||
| { | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Ad", null) | |||
| .WithMany() | |||
| .HasForeignKey("AdsId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Technology", null) | |||
| .WithMany() | |||
| .HasForeignKey("TechnologiesTechnologyId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Comment", b => | |||
| { | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Applicant", "Applicant") | |||
| .WithMany("Comments") | |||
| .HasForeignKey("ApplicantId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", "User") | |||
| .WithMany("Comments") | |||
| .HasForeignKey("UserId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.Navigation("Applicant"); | |||
| b.Navigation("User"); | |||
| }); | |||
| 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.TechnologyApplicant", b => | |||
| { | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Applicant", "Applicant") | |||
| .WithMany("TechnologyApplicants") | |||
| .HasForeignKey("ApplicantId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Technology", "Technology") | |||
| .WithMany("TechnologyApplicants") | |||
| .HasForeignKey("TechnologyId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.Navigation("Applicant"); | |||
| b.Navigation("Technology"); | |||
| }); | |||
| 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(); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Applicant", b => | |||
| { | |||
| b.Navigation("Comments"); | |||
| b.Navigation("TechnologyApplicants"); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Technology", b => | |||
| { | |||
| b.Navigation("TechnologyApplicants"); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.User", b => | |||
| { | |||
| b.Navigation("Comments"); | |||
| }); | |||
| #pragma warning restore 612, 618 | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,35 @@ | |||
| using Microsoft.EntityFrameworkCore.Migrations; | |||
| #nullable disable | |||
| namespace Diligent.WebAPI.Data.Migrations | |||
| { | |||
| public partial class AdAttributesNameChanged : Migration | |||
| { | |||
| protected override void Up(MigrationBuilder migrationBuilder) | |||
| { | |||
| migrationBuilder.RenameColumn( | |||
| name: "MainLiabilities", | |||
| table: "Ads", | |||
| newName: "Requirements"); | |||
| migrationBuilder.RenameColumn( | |||
| name: "Conditions", | |||
| table: "Ads", | |||
| newName: "KeyResponsibilities"); | |||
| } | |||
| protected override void Down(MigrationBuilder migrationBuilder) | |||
| { | |||
| migrationBuilder.RenameColumn( | |||
| name: "Requirements", | |||
| table: "Ads", | |||
| newName: "MainLiabilities"); | |||
| migrationBuilder.RenameColumn( | |||
| name: "KeyResponsibilities", | |||
| table: "Ads", | |||
| newName: "Conditions"); | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,885 @@ | |||
| // <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("20221110114417_AddedManyToManyBetweenAdAndApplicant")] | |||
| partial class AddedManyToManyBetweenAdAndApplicant | |||
| { | |||
| 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("AdApplicant", b => | |||
| { | |||
| b.Property<int>("AdsId") | |||
| .HasColumnType("int"); | |||
| b.Property<int>("ApplicantsApplicantId") | |||
| .HasColumnType("int"); | |||
| b.HasKey("AdsId", "ApplicantsApplicantId"); | |||
| b.HasIndex("ApplicantsApplicantId"); | |||
| b.ToTable("AdApplicant"); | |||
| }); | |||
| modelBuilder.Entity("AdTechnology", b => | |||
| { | |||
| b.Property<int>("AdsId") | |||
| .HasColumnType("int"); | |||
| b.Property<int>("TechnologiesTechnologyId") | |||
| .HasColumnType("int"); | |||
| b.HasKey("AdsId", "TechnologiesTechnologyId"); | |||
| b.HasIndex("TechnologiesTechnologyId"); | |||
| b.ToTable("AdTechnology"); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Ad", b => | |||
| { | |||
| b.Property<int>("Id") | |||
| .ValueGeneratedOnAdd() | |||
| .HasColumnType("int"); | |||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||
| b.Property<DateTime>("CreatedAt") | |||
| .HasColumnType("datetime2"); | |||
| b.Property<DateTime>("ExpiredAt") | |||
| .HasColumnType("datetime2"); | |||
| b.Property<string>("KeyResponsibilities") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.Property<int>("MinimumExperience") | |||
| .HasColumnType("int"); | |||
| b.Property<string>("Offer") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.Property<string>("Requirements") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.Property<string>("Title") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.HasKey("Id"); | |||
| b.ToTable("Ads"); | |||
| }); | |||
| 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.Comment", b => | |||
| { | |||
| b.Property<int>("Id") | |||
| .ValueGeneratedOnAdd() | |||
| .HasColumnType("int"); | |||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||
| b.Property<int>("ApplicantId") | |||
| .HasColumnType("int"); | |||
| b.Property<string>("Content") | |||
| .IsRequired() | |||
| .HasMaxLength(1024) | |||
| .HasColumnType("nvarchar(1024)"); | |||
| b.Property<DateTime>("DateOfSending") | |||
| .HasColumnType("datetime2"); | |||
| b.Property<int>("UserId") | |||
| .HasColumnType("int"); | |||
| b.HasKey("Id"); | |||
| b.HasIndex("ApplicantId"); | |||
| b.HasIndex("UserId"); | |||
| b.ToTable("Comments"); | |||
| }); | |||
| 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.TechnologyApplicant", 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.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>("PasswordResetToken") | |||
| .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("AdApplicant", b => | |||
| { | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Ad", null) | |||
| .WithMany() | |||
| .HasForeignKey("AdsId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Applicant", null) | |||
| .WithMany() | |||
| .HasForeignKey("ApplicantsApplicantId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| }); | |||
| modelBuilder.Entity("AdTechnology", b => | |||
| { | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Ad", null) | |||
| .WithMany() | |||
| .HasForeignKey("AdsId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Technology", null) | |||
| .WithMany() | |||
| .HasForeignKey("TechnologiesTechnologyId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Comment", b => | |||
| { | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Applicant", "Applicant") | |||
| .WithMany("Comments") | |||
| .HasForeignKey("ApplicantId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.User", "User") | |||
| .WithMany("Comments") | |||
| .HasForeignKey("UserId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.Navigation("Applicant"); | |||
| b.Navigation("User"); | |||
| }); | |||
| 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.TechnologyApplicant", b => | |||
| { | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Applicant", "Applicant") | |||
| .WithMany("TechnologyApplicants") | |||
| .HasForeignKey("ApplicantId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Technology", "Technology") | |||
| .WithMany("TechnologyApplicants") | |||
| .HasForeignKey("TechnologyId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.Navigation("Applicant"); | |||
| b.Navigation("Technology"); | |||
| }); | |||
| 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(); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Applicant", b => | |||
| { | |||
| b.Navigation("Comments"); | |||
| b.Navigation("TechnologyApplicants"); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Technology", b => | |||
| { | |||
| b.Navigation("TechnologyApplicants"); | |||
| }); | |||
| modelBuilder.Entity("Diligent.WebAPI.Data.Entities.User", b => | |||
| { | |||
| b.Navigation("Comments"); | |||
| }); | |||
| #pragma warning restore 612, 618 | |||
| } | |||
| } | |||
| } | |||
| @@ -0,0 +1,47 @@ | |||
| using Microsoft.EntityFrameworkCore.Migrations; | |||
| #nullable disable | |||
| namespace Diligent.WebAPI.Data.Migrations | |||
| { | |||
| public partial class AddedManyToManyBetweenAdAndApplicant : Migration | |||
| { | |||
| protected override void Up(MigrationBuilder migrationBuilder) | |||
| { | |||
| migrationBuilder.CreateTable( | |||
| name: "AdApplicant", | |||
| columns: table => new | |||
| { | |||
| AdsId = table.Column<int>(type: "int", nullable: false), | |||
| ApplicantsApplicantId = table.Column<int>(type: "int", nullable: false) | |||
| }, | |||
| constraints: table => | |||
| { | |||
| table.PrimaryKey("PK_AdApplicant", x => new { x.AdsId, x.ApplicantsApplicantId }); | |||
| table.ForeignKey( | |||
| name: "FK_AdApplicant_Ads_AdsId", | |||
| column: x => x.AdsId, | |||
| principalTable: "Ads", | |||
| principalColumn: "Id", | |||
| onDelete: ReferentialAction.Cascade); | |||
| table.ForeignKey( | |||
| name: "FK_AdApplicant_Applicants_ApplicantsApplicantId", | |||
| column: x => x.ApplicantsApplicantId, | |||
| principalTable: "Applicants", | |||
| principalColumn: "ApplicantId", | |||
| onDelete: ReferentialAction.Cascade); | |||
| }); | |||
| migrationBuilder.CreateIndex( | |||
| name: "IX_AdApplicant_ApplicantsApplicantId", | |||
| table: "AdApplicant", | |||
| column: "ApplicantsApplicantId"); | |||
| } | |||
| protected override void Down(MigrationBuilder migrationBuilder) | |||
| { | |||
| migrationBuilder.DropTable( | |||
| name: "AdApplicant"); | |||
| } | |||
| } | |||
| } | |||
| @@ -22,6 +22,21 @@ namespace Diligent.WebAPI.Data.Migrations | |||
| SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1); | |||
| modelBuilder.Entity("AdApplicant", b => | |||
| { | |||
| b.Property<int>("AdsId") | |||
| .HasColumnType("int"); | |||
| b.Property<int>("ApplicantsApplicantId") | |||
| .HasColumnType("int"); | |||
| b.HasKey("AdsId", "ApplicantsApplicantId"); | |||
| b.HasIndex("ApplicantsApplicantId"); | |||
| b.ToTable("AdApplicant"); | |||
| }); | |||
| modelBuilder.Entity("AdTechnology", b => | |||
| { | |||
| b.Property<int>("AdsId") | |||
| @@ -45,17 +60,13 @@ namespace Diligent.WebAPI.Data.Migrations | |||
| SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1); | |||
| b.Property<string>("Conditions") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.Property<DateTime>("CreatedAt") | |||
| .HasColumnType("datetime2"); | |||
| b.Property<DateTime>("ExpiredAt") | |||
| .HasColumnType("datetime2"); | |||
| b.Property<string>("MainLiabilities") | |||
| b.Property<string>("KeyResponsibilities") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| @@ -66,6 +77,10 @@ namespace Diligent.WebAPI.Data.Migrations | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.Property<string>("Requirements") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| b.Property<string>("Title") | |||
| .IsRequired() | |||
| .HasColumnType("nvarchar(max)"); | |||
| @@ -688,6 +703,21 @@ namespace Diligent.WebAPI.Data.Migrations | |||
| b.ToTable("AspNetUserTokens", (string)null); | |||
| }); | |||
| modelBuilder.Entity("AdApplicant", b => | |||
| { | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Ad", null) | |||
| .WithMany() | |||
| .HasForeignKey("AdsId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Applicant", null) | |||
| .WithMany() | |||
| .HasForeignKey("ApplicantsApplicantId") | |||
| .OnDelete(DeleteBehavior.Cascade) | |||
| .IsRequired(); | |||
| }); | |||
| modelBuilder.Entity("AdTechnology", b => | |||
| { | |||
| b.HasOne("Diligent.WebAPI.Data.Entities.Ad", null) | |||
| @@ -18,9 +18,17 @@ namespace Diligent.WebAPI.Host.Controllers.V1 | |||
| Ok(await _adService.GetAllAsync()); | |||
| [HttpGet("{id}")] | |||
| public async Task<IActionResult> GetById([FromRoute]int id) => | |||
| public async Task<IActionResult> GetById([FromRoute] int id) => | |||
| Ok(await _adService.GetByIdAsync(id)); | |||
| [HttpGet("details/{id}")] | |||
| public async Task<IActionResult> GetAdDetailsById([FromRoute] int id) => | |||
| Ok(await _adService.GetAdDetailsByIdAsync(id)); | |||
| [HttpGet("archive")] | |||
| public async Task<IActionResult> GetArchiveAds() => | |||
| Ok(await _adService.GetArchiveAds()); | |||
| [HttpPost] | |||
| public async Task<IActionResult> Create([FromBody]AdCreateDto request) | |||
| { | |||
| @@ -24,6 +24,7 @@ namespace Diligent.WebAPI.Host.Controllers.V1 | |||
| return Ok(_mapper.Map<IEnumerable<User?>, IEnumerable<UserResponseDTO>>(await _userService.GetAll())); | |||
| } | |||
| //[Authorize] | |||
| [Authorize] | |||
| [HttpPost("toggleEnable/{id}")] | |||
| public async Task<IActionResult> ToggleEnable(int id) | |||
| @@ -56,6 +57,7 @@ namespace Diligent.WebAPI.Host.Controllers.V1 | |||
| return Ok(user.Id); | |||
| } | |||
| //[Authorize] | |||
| //[Authorize] | |||
| [HttpPost] | |||
| public async Task<IActionResult> CreateUser([FromBody] CreateUserRequestDto model) | |||