mirror of
				https://github.com/D4M13N-D3V/comissions-app-core-api.git
				synced 2025-11-03 19:15:25 +00:00 
			
		
		
		
	feat: reference and asset images on requests
This commit is contained in:
		
							parent
							
								
									ce3b019cfa
								
							
						
					
					
						commit
						092941f778
					
				@ -46,5 +46,7 @@ public class ApplicationDbContext:DbContext
 | 
			
		||||
    public DbSet<ArtistRequest> ArtistRequests { get; set; }= null!;
 | 
			
		||||
    public DbSet<ArtistPortfolioPiece> ArtistPortfolioPieces { get; set; }= null!;
 | 
			
		||||
    public DbSet<Request> Requests { get; set; }= null!;
 | 
			
		||||
    public DbSet<RequestReference> RequestReferences { get; set; }= null!;
 | 
			
		||||
    public DbSet<RequestAsset> RequestAssets { get; set; }= null!;
 | 
			
		||||
    #endregion
 | 
			
		||||
}
 | 
			
		||||
@ -741,6 +741,125 @@ public class RequestsController : Controller
 | 
			
		||||
        return Ok(new {paymentUrl = request.PaymentUrl});
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    [Authorize("write:request")]
 | 
			
		||||
    [HttpPost]
 | 
			
		||||
    [Route("Customer/{requestId:int}/Reference")]
 | 
			
		||||
    public async Task<IActionResult> AddRefrence(int requestId, List<IFormFile> referenceImages)
 | 
			
		||||
    {
 | 
			
		||||
        var userId = User.GetUserId();
 | 
			
		||||
        var request = await _dbContext.Requests
 | 
			
		||||
            .Where(x=>x.UserId==userId)
 | 
			
		||||
            .FirstOrDefaultAsync(x=>x.Id==requestId);
 | 
			
		||||
        if(request==null)
 | 
			
		||||
            return NotFound();
 | 
			
		||||
        var references = new List<RequestReference>();
 | 
			
		||||
        foreach (var file in referenceImages)
 | 
			
		||||
        {
 | 
			
		||||
            var reference = new RequestReference()
 | 
			
		||||
            {
 | 
			
		||||
                RequestId = requestId,
 | 
			
		||||
                FileReference = await _storageService.UploadImageAsync(file.OpenReadStream(), Guid.NewGuid().ToString())
 | 
			
		||||
            };
 | 
			
		||||
            references.Add(reference);
 | 
			
		||||
        }
 | 
			
		||||
        _dbContext.RequestReferences.AddRange(references);
 | 
			
		||||
        await _dbContext.SaveChangesAsync();
 | 
			
		||||
        return Ok();
 | 
			
		||||
    }
 | 
			
		||||
    [Authorize("write:request")]
 | 
			
		||||
    [HttpPost]
 | 
			
		||||
    [Route("Artist/{requestId:int}/Asset")]
 | 
			
		||||
    public async Task<IActionResult> AddAsset(int requestId, List<IFormFile> assetImages)
 | 
			
		||||
    {
 | 
			
		||||
        var userId = User.GetUserId();
 | 
			
		||||
        var request = await _dbContext.Requests
 | 
			
		||||
            .Where(x=>x.UserId==userId)
 | 
			
		||||
            .FirstOrDefaultAsync(x=>x.Id==requestId);
 | 
			
		||||
        if(request==null)
 | 
			
		||||
            return NotFound();
 | 
			
		||||
        var references = new List<RequestAsset>();
 | 
			
		||||
        foreach (var file in assetImages)
 | 
			
		||||
        {
 | 
			
		||||
            var reference = new RequestAsset()
 | 
			
		||||
            {
 | 
			
		||||
                RequestId = requestId,
 | 
			
		||||
                FileReference = await _storageService.UploadImageAsync(file.OpenReadStream(), Guid.NewGuid().ToString())
 | 
			
		||||
            };
 | 
			
		||||
            references.Add(reference);
 | 
			
		||||
        }
 | 
			
		||||
        _dbContext.RequestAssets.AddRange(references);
 | 
			
		||||
        await _dbContext.SaveChangesAsync();
 | 
			
		||||
        return Ok();
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    [HttpGet]
 | 
			
		||||
    [Route("Customer/{requestId:int}/Reference")]
 | 
			
		||||
    public async Task<IActionResult> GetReferences(int requestId)
 | 
			
		||||
    {
 | 
			
		||||
        var userId = User.GetUserId();
 | 
			
		||||
        var request = await _dbContext.Requests
 | 
			
		||||
            .Where(x=>x.UserId==userId)
 | 
			
		||||
            .FirstOrDefaultAsync(x=>x.Id==requestId);
 | 
			
		||||
        if(request==null)
 | 
			
		||||
            return NotFound();
 | 
			
		||||
        var references = await _dbContext.RequestReferences
 | 
			
		||||
            .Where(x=>x.RequestId==requestId)
 | 
			
		||||
            .ToListAsync();
 | 
			
		||||
        var result = references.Select(x=>x.ToModel()).ToList();
 | 
			
		||||
        return Ok(result);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    [HttpGet]
 | 
			
		||||
    [Route("Customer/{requestId:int}/Asset")]
 | 
			
		||||
    public async Task<IActionResult> GetAssets(int requestId)
 | 
			
		||||
    {
 | 
			
		||||
        var userId = User.GetUserId();
 | 
			
		||||
        var request = await _dbContext.Requests
 | 
			
		||||
            .Where(x=>x.UserId==userId)
 | 
			
		||||
            .FirstOrDefaultAsync(x=>x.Id==requestId);
 | 
			
		||||
        if(request==null)
 | 
			
		||||
            return NotFound();
 | 
			
		||||
        var references = await _dbContext.RequestAssets
 | 
			
		||||
            .Where(x=>x.RequestId==requestId)
 | 
			
		||||
            .ToListAsync();
 | 
			
		||||
        var result = references.Select(x=>x.ToModel()).ToList();
 | 
			
		||||
        return Ok(result);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    [HttpGet]
 | 
			
		||||
    [Route("Artist/{requestId:int}/Reference")]
 | 
			
		||||
    public async Task<IActionResult> GetArtistReferences(int requestId)
 | 
			
		||||
    {
 | 
			
		||||
        var userId = User.GetUserId();
 | 
			
		||||
        var request = await _dbContext.Requests
 | 
			
		||||
            .Where(x=>x.UserId==userId)
 | 
			
		||||
            .FirstOrDefaultAsync(x=>x.Id==requestId);
 | 
			
		||||
        if(request==null)
 | 
			
		||||
            return NotFound();
 | 
			
		||||
        var references = await _dbContext.RequestReferences
 | 
			
		||||
            .Where(x=>x.RequestId==requestId)
 | 
			
		||||
            .ToListAsync();
 | 
			
		||||
        var result = references.Select(x=>x.ToModel()).ToList();
 | 
			
		||||
        return Ok(result);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    [HttpGet]
 | 
			
		||||
    [Route("Artist/{requestId:int}/Asset")]
 | 
			
		||||
    public async Task<IActionResult> GetArtistAssets(int requestId)
 | 
			
		||||
    {
 | 
			
		||||
        var userId = User.GetUserId();
 | 
			
		||||
        var request = await _dbContext.Requests
 | 
			
		||||
            .Where(x=>x.UserId==userId)
 | 
			
		||||
            .FirstOrDefaultAsync(x=>x.Id==requestId);
 | 
			
		||||
        if(request==null)
 | 
			
		||||
            return NotFound();
 | 
			
		||||
        var references = await _dbContext.RequestAssets
 | 
			
		||||
            .Where(x=>x.RequestId==requestId)
 | 
			
		||||
            .ToListAsync();
 | 
			
		||||
        var result = references.Select(x=>x.ToModel()).ToList();
 | 
			
		||||
        return Ok(result);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    [Authorize("read:request")]
 | 
			
		||||
    [HttpGet]
 | 
			
		||||
    [Route("Artist")]
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,9 @@ public class ArtistRequest
 | 
			
		||||
    public DateTime RequestDate { get; set; }
 | 
			
		||||
    public DateTime? AcceptedDate { get; set; }
 | 
			
		||||
    public bool Accepted { get; set; }
 | 
			
		||||
    public bool Reviewed { get; set; }
 | 
			
		||||
    public string? Review { get; set; }
 | 
			
		||||
    public double? ReviewRating { get; set; }
 | 
			
		||||
    
 | 
			
		||||
    public virtual User User { get; set; } = null!;
 | 
			
		||||
}
 | 
			
		||||
@ -20,4 +20,7 @@ public class Request
 | 
			
		||||
    
 | 
			
		||||
    public virtual User User { get; set; } = null!;
 | 
			
		||||
    public virtual UserArtist Artist { get; set; } = null!;
 | 
			
		||||
    
 | 
			
		||||
    public virtual ICollection<RequestAsset> RequestAssets { get; set; } = null!;
 | 
			
		||||
    public virtual ICollection<RequestReference> RequestReferences { get; set; } = null!;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								src/comissions.app.api/Entities/RequestAsset.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/comissions.app.api/Entities/RequestAsset.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
namespace comissions.app.database.Entities;
 | 
			
		||||
 | 
			
		||||
public class RequestAsset
 | 
			
		||||
{
 | 
			
		||||
    public int Id { get; set; }
 | 
			
		||||
    public int RequestId { get; set; }
 | 
			
		||||
    public string FileReference { get; set; }
 | 
			
		||||
    public virtual Request Request { get; set; } = null!;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										9
									
								
								src/comissions.app.api/Entities/RequestReference.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/comissions.app.api/Entities/RequestReference.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,9 @@
 | 
			
		||||
namespace comissions.app.database.Entities;
 | 
			
		||||
 | 
			
		||||
public class RequestReference
 | 
			
		||||
{
 | 
			
		||||
    public int Id { get; set; }
 | 
			
		||||
    public int RequestId { get; set; }
 | 
			
		||||
    public string FileReference { get; set; }
 | 
			
		||||
    public virtual Request Request { get; set; } = null!;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										504
									
								
								src/comissions.app.api/Migrations/20240225081932_review.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										504
									
								
								src/comissions.app.api/Migrations/20240225081932_review.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,504 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
 | 
			
		||||
using comissions.app.database;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace comissions.app.api.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(ApplicationDbContext))]
 | 
			
		||||
    [Migration("20240225081932_review")]
 | 
			
		||||
    partial class review
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "8.0.1")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 63);
 | 
			
		||||
 | 
			
		||||
            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ArtistId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("BackgroundColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionBackgroundColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionHeaderColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionHeaderImageUrl")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("DescriptionHeaderSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionHeaderText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("DescriptionHeaderUseImage")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionTextColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("DescriptionTextSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("HeaderColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("HeaderImageUrl")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("HeaderTextSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("HeaderUseImage")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PortfolioBackgroundColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("PortfolioColumns")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("PortfolioEnabledScrolling")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("PortfolioMasonry")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("PortfolioMaximumSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PortfolionHeaderColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PortfolionHeaderImageUrl")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("PortfolionHeaderSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PortfolionHeaderText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("PortfolionHeaderUseImage")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestBackgroundColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestButtonBGColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestButtonHoverBGColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestButtonHoverTextColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestButtonTextColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestHeaderColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestHeaderImageUrl")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("RequestHeaderSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestHeaderText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("RequestHeaderUseImage")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestTermsColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("ArtistId")
 | 
			
		||||
                        .IsUnique();
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("ArtistPageSettings");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ArtistId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("FileReference")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("ArtistId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("ArtistPortfolioPieces");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Accepted")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("AcceptedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Message")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("RequestDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Review")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<double?>("ReviewRating")
 | 
			
		||||
                        .HasColumnType("double precision");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Reviewed")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("UserId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("UserId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("ArtistRequests");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Accepted")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("AcceptedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<decimal>("Amount")
 | 
			
		||||
                        .HasColumnType("numeric");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ArtistId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Completed")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("CompletedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Declined")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("DeclinedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Message")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Paid")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("PaidDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PaymentUrl")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("RequestDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("UserId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("ArtistId");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("UserId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Requests");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.User", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<string>("Id")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("BanAdminId")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Banned")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("BannedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("BannedReason")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Biography")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DisplayName")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Email")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SuspendAdminId")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Suspended")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("SuspendedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SuspendedReason")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("UnbanDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("UnsuspendDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int?>("UserArtistId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Users");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("AgeRestricted")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ArtistPageSettingsId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Description")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("PrepaymentRequired")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestGuidelines")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SocialMediaLink1")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SocialMediaLink2")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SocialMediaLink3")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SocialMediaLink4")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("StripeAccountId")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SuspendAdminId")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Suspended")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("SuspendedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SuspendedReason")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("UnsuspendDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("UserId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("UserId")
 | 
			
		||||
                        .IsUnique();
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("UserArtists");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
 | 
			
		||||
                        .WithOne("ArtistPageSettings")
 | 
			
		||||
                        .HasForeignKey("comissions.app.database.Entities.ArtistPageSettings", "ArtistId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Artist");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
 | 
			
		||||
                        .WithMany("PortfolioPieces")
 | 
			
		||||
                        .HasForeignKey("ArtistId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Artist");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.User", "User")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("UserId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("User");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
 | 
			
		||||
                        .WithMany("Requests")
 | 
			
		||||
                        .HasForeignKey("ArtistId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.User", "User")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("UserId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Artist");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("User");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.User", "User")
 | 
			
		||||
                        .WithOne("UserArtist")
 | 
			
		||||
                        .HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("User");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.User", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Navigation("UserArtist");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Navigation("ArtistPageSettings")
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("PortfolioPieces");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Requests");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										49
									
								
								src/comissions.app.api/Migrations/20240225081932_review.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								src/comissions.app.api/Migrations/20240225081932_review.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,49 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace comissions.app.api.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class review : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.AddColumn<string>(
 | 
			
		||||
                name: "Review",
 | 
			
		||||
                table: "ArtistRequests",
 | 
			
		||||
                type: "text",
 | 
			
		||||
                nullable: true);
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<double>(
 | 
			
		||||
                name: "ReviewRating",
 | 
			
		||||
                table: "ArtistRequests",
 | 
			
		||||
                type: "double precision",
 | 
			
		||||
                nullable: true);
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<bool>(
 | 
			
		||||
                name: "Reviewed",
 | 
			
		||||
                table: "ArtistRequests",
 | 
			
		||||
                type: "boolean",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: false);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "Review",
 | 
			
		||||
                table: "ArtistRequests");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "ReviewRating",
 | 
			
		||||
                table: "ArtistRequests");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "Reviewed",
 | 
			
		||||
                table: "ArtistRequests");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										577
									
								
								src/comissions.app.api/Migrations/20240225202343_request stuff.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										577
									
								
								src/comissions.app.api/Migrations/20240225202343_request stuff.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,577 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
 | 
			
		||||
using comissions.app.database;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace comissions.app.api.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(ApplicationDbContext))]
 | 
			
		||||
    [Migration("20240225202343_request stuff")]
 | 
			
		||||
    partial class requeststuff
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "8.0.1")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 63);
 | 
			
		||||
 | 
			
		||||
            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ArtistId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("BackgroundColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionBackgroundColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionHeaderColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionHeaderImageUrl")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("DescriptionHeaderSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionHeaderText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("DescriptionHeaderUseImage")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DescriptionTextColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("DescriptionTextSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("HeaderColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("HeaderImageUrl")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("HeaderTextSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("HeaderUseImage")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PortfolioBackgroundColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("PortfolioColumns")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("PortfolioEnabledScrolling")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("PortfolioMasonry")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("PortfolioMaximumSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PortfolionHeaderColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PortfolionHeaderImageUrl")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("PortfolionHeaderSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PortfolionHeaderText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("PortfolionHeaderUseImage")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestBackgroundColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestButtonBGColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestButtonHoverBGColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestButtonHoverTextColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestButtonTextColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestHeaderColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestHeaderImageUrl")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("RequestHeaderSize")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestHeaderText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("RequestHeaderUseImage")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestTermsColor")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("ArtistId")
 | 
			
		||||
                        .IsUnique();
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("ArtistPageSettings");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ArtistId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("FileReference")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("ArtistId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("ArtistPortfolioPieces");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Accepted")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("AcceptedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Message")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("RequestDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Review")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<double?>("ReviewRating")
 | 
			
		||||
                        .HasColumnType("double precision");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Reviewed")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("UserId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("UserId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("ArtistRequests");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Accepted")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("AcceptedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<decimal>("Amount")
 | 
			
		||||
                        .HasColumnType("numeric");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ArtistId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Completed")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("CompletedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Declined")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("DeclinedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Message")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Paid")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("PaidDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PaymentUrl")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("RequestDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("UserId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("ArtistId");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("UserId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Requests");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.RequestAsset", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("FileReference")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("RequestId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("RequestId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("RequestAssets");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.RequestReference", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("FileReference")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("RequestId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("RequestId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("RequestsReferences");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.User", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<string>("Id")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("BanAdminId")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Banned")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("BannedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("BannedReason")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Biography")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DisplayName")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Email")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SuspendAdminId")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Suspended")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("SuspendedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SuspendedReason")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("UnbanDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("UnsuspendDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int?>("UserArtistId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Users");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("AgeRestricted")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ArtistPageSettingsId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Description")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("PrepaymentRequired")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RequestGuidelines")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SocialMediaLink1")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SocialMediaLink2")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SocialMediaLink3")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SocialMediaLink4")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("StripeAccountId")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SuspendAdminId")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Suspended")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("SuspendedDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SuspendedReason")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("UnsuspendDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("UserId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("UserId")
 | 
			
		||||
                        .IsUnique();
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("UserArtists");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
 | 
			
		||||
                        .WithOne("ArtistPageSettings")
 | 
			
		||||
                        .HasForeignKey("comissions.app.database.Entities.ArtistPageSettings", "ArtistId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Artist");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
 | 
			
		||||
                        .WithMany("PortfolioPieces")
 | 
			
		||||
                        .HasForeignKey("ArtistId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Artist");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.User", "User")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("UserId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("User");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
 | 
			
		||||
                        .WithMany("Requests")
 | 
			
		||||
                        .HasForeignKey("ArtistId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.User", "User")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("UserId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Artist");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("User");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.RequestAsset", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.Request", "Request")
 | 
			
		||||
                        .WithMany("RequestAssets")
 | 
			
		||||
                        .HasForeignKey("RequestId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Request");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.RequestReference", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.Request", "Request")
 | 
			
		||||
                        .WithMany("RequestReferences")
 | 
			
		||||
                        .HasForeignKey("RequestId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Request");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.User", "User")
 | 
			
		||||
                        .WithOne("UserArtist")
 | 
			
		||||
                        .HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("User");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Navigation("RequestAssets");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("RequestReferences");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.User", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Navigation("UserArtist");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Navigation("ArtistPageSettings")
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("PortfolioPieces");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Requests");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,75 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace comissions.app.api.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class requeststuff : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "RequestAssets",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "integer", nullable: false)
 | 
			
		||||
                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
 | 
			
		||||
                    RequestId = table.Column<int>(type: "integer", nullable: false),
 | 
			
		||||
                    FileReference = table.Column<string>(type: "text", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_RequestAssets", x => x.Id);
 | 
			
		||||
                    table.ForeignKey(
 | 
			
		||||
                        name: "FK_RequestAssets_Requests_RequestId",
 | 
			
		||||
                        column: x => x.RequestId,
 | 
			
		||||
                        principalTable: "Requests",
 | 
			
		||||
                        principalColumn: "Id",
 | 
			
		||||
                        onDelete: ReferentialAction.Cascade);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "RequestsReferences",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "integer", nullable: false)
 | 
			
		||||
                        .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
 | 
			
		||||
                    RequestId = table.Column<int>(type: "integer", nullable: false),
 | 
			
		||||
                    FileReference = table.Column<string>(type: "text", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_RequestsReferences", x => x.Id);
 | 
			
		||||
                    table.ForeignKey(
 | 
			
		||||
                        name: "FK_RequestsReferences_Requests_RequestId",
 | 
			
		||||
                        column: x => x.RequestId,
 | 
			
		||||
                        principalTable: "Requests",
 | 
			
		||||
                        principalColumn: "Id",
 | 
			
		||||
                        onDelete: ReferentialAction.Cascade);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateIndex(
 | 
			
		||||
                name: "IX_RequestAssets_RequestId",
 | 
			
		||||
                table: "RequestAssets",
 | 
			
		||||
                column: "RequestId");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateIndex(
 | 
			
		||||
                name: "IX_RequestsReferences_RequestId",
 | 
			
		||||
                table: "RequestsReferences",
 | 
			
		||||
                column: "RequestId");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "RequestAssets");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "RequestsReferences");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -207,6 +207,15 @@ namespace comissions.app.api.Migrations
 | 
			
		||||
                    b.Property<DateTime>("RequestDate")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Review")
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<double?>("ReviewRating")
 | 
			
		||||
                        .HasColumnType("double precision");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Reviewed")
 | 
			
		||||
                        .HasColumnType("boolean");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("UserId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
@ -279,6 +288,50 @@ namespace comissions.app.api.Migrations
 | 
			
		||||
                    b.ToTable("Requests");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.RequestAsset", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("FileReference")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("RequestId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("RequestId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("RequestAssets");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.RequestReference", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("FileReference")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("text");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("RequestId")
 | 
			
		||||
                        .HasColumnType("integer");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("RequestId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("RequestsReferences");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.User", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<string>("Id")
 | 
			
		||||
@ -445,7 +498,7 @@ namespace comissions.app.api.Migrations
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .WithMany("Requests")
 | 
			
		||||
                        .HasForeignKey("ArtistId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
@ -461,6 +514,28 @@ namespace comissions.app.api.Migrations
 | 
			
		||||
                    b.Navigation("User");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.RequestAsset", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.Request", "Request")
 | 
			
		||||
                        .WithMany("RequestAssets")
 | 
			
		||||
                        .HasForeignKey("RequestId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Request");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.RequestReference", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.Request", "Request")
 | 
			
		||||
                        .WithMany("RequestReferences")
 | 
			
		||||
                        .HasForeignKey("RequestId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Request");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("comissions.app.database.Entities.User", "User")
 | 
			
		||||
@ -472,6 +547,13 @@ namespace comissions.app.api.Migrations
 | 
			
		||||
                    b.Navigation("User");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Navigation("RequestAssets");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("RequestReferences");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("comissions.app.database.Entities.User", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Navigation("UserArtist");
 | 
			
		||||
@ -483,6 +565,8 @@ namespace comissions.app.api.Migrations
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("PortfolioPieces");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Requests");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,7 @@
 | 
			
		||||
namespace comissions.app.database.Models.Request;
 | 
			
		||||
 | 
			
		||||
public class RequestImageModel
 | 
			
		||||
{
 | 
			
		||||
    public int Id { get; set; }
 | 
			
		||||
    public string FileReference { get; set; }
 | 
			
		||||
}
 | 
			
		||||
@ -2,6 +2,22 @@ namespace comissions.app.database.Models.Request;
 | 
			
		||||
 | 
			
		||||
public static class RequestModelExtensions
 | 
			
		||||
{
 | 
			
		||||
    public static RequestImageModel ToModel(this Entities.RequestAsset requestAsset)
 | 
			
		||||
    {
 | 
			
		||||
        return new RequestImageModel()
 | 
			
		||||
        {
 | 
			
		||||
            Id = requestAsset.Id,
 | 
			
		||||
            FileReference = requestAsset.FileReference
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    public static RequestImageModel ToModel(this Entities.RequestReference requestAsset)
 | 
			
		||||
    {
 | 
			
		||||
        return new RequestImageModel()
 | 
			
		||||
        {
 | 
			
		||||
            Id = requestAsset.Id,
 | 
			
		||||
            FileReference = requestAsset.FileReference
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
    public static RequestModel ToModel(this Entities.Request sellerProfile)
 | 
			
		||||
    {
 | 
			
		||||
        return new RequestModel()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user