mirror of
				https://github.com/D4M13N-D3V/comissions-app-core-api.git
				synced 2025-10-31 01:25:27 +00:00 
			
		
		
		
	feat: database migration
This commit is contained in:
		
							parent
							
								
									40653eff04
								
							
						
					
					
						commit
						fa58ce555c
					
				| @ -61,7 +61,6 @@ public class AdminUsersController:ControllerBase | ||||
|         { | ||||
|             UserId = userId, | ||||
|             Reason = reason, | ||||
|             AdminId = User.GetUserId(), | ||||
|             SuspensionDate = DateTime.UtcNow, | ||||
|             UnsuspensionDate = DateTime.UtcNow.AddDays(days), | ||||
|             Voided = false | ||||
| @ -101,7 +100,6 @@ public class AdminUsersController:ControllerBase | ||||
|         { | ||||
|             UserId = userId, | ||||
|             Reason = reason, | ||||
|             AdminId = User.GetUserId(), | ||||
|             BanDate = DateTime.UtcNow, | ||||
|             UnbanDate = DateTime.UtcNow.AddDays(days), | ||||
|             Voided = false | ||||
|  | ||||
| @ -1,14 +1,15 @@ | ||||
| using System.ComponentModel.DataAnnotations.Schema; | ||||
| 
 | ||||
| namespace comissions.app.database.Entities; | ||||
| 
 | ||||
| public class Ban | ||||
| { | ||||
|     public int Id { get; set; } | ||||
|     [ForeignKey("User")] | ||||
|     public string UserId { get; set; } | ||||
|     public DateTime BanDate { get; set; } | ||||
|     public DateTime UnbanDate { get; set; } | ||||
|     public bool Voided { get; set; } = false; | ||||
|     public string Reason { get; set; } | ||||
|     public string AdminId { get; set; } | ||||
|     public virtual User Admin { get; set; } | ||||
|     public virtual User User { get; set; } | ||||
| } | ||||
| @ -8,7 +8,5 @@ public class Suspension | ||||
|         public DateTime UnsuspensionDate { get; set; } | ||||
|         public bool Voided { get; set; } = false; | ||||
|         public string Reason { get; set; } | ||||
|     public string AdminId { get; set; } | ||||
|     public virtual User Admin { get; set; } | ||||
|         public virtual User User { get; set; } | ||||
|     } | ||||
| @ -12,6 +12,7 @@ public record User | ||||
|     public string Email { get; set; } = null!; | ||||
|      | ||||
|     public int? UserArtistId { get; set; } | ||||
|     public string AdminNotes { get; set; } | ||||
|     [JsonIgnore] public virtual UserArtist? UserArtist { get; set; } | ||||
|     [JsonIgnore] public virtual ICollection<Request> Requests { get; set; } = new List<Request>(); | ||||
|     [JsonIgnore] public virtual ICollection<Suspension> Suspensions { get; set; } = new List<Suspension>(); | ||||
|  | ||||
| @ -28,8 +28,8 @@ public class UserMiddleware | ||||
|             var userId = context.User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value; | ||||
| 
 | ||||
|             var user = await dbContext.Users.Include(x=>x.UserArtist) | ||||
|                 .Include(x=>x.Bans).ThenInclude(x=>x.Admin) | ||||
|                 .Include(x=>x.Suspensions).ThenInclude(x=>x.Admin) | ||||
|                 .Include(x=>x.Bans) | ||||
|                 .Include(x=>x.Suspensions) | ||||
|                 .FirstOrDefaultAsync(x=>x.Id==userId); | ||||
| 
 | ||||
|             if (user == null) | ||||
| @ -67,7 +67,7 @@ public class UserMiddleware | ||||
|             { | ||||
|                 var suspendDate = suspension.SuspensionDate.ToString("MM/dd/yyyy"); | ||||
|                 var unsuspendDate = suspension.UnsuspensionDate.ToString("MM/dd/yyyy"); | ||||
|                 await context.Response.WriteAsync($"Suspended on {suspendDate} until {unsuspendDate} for {suspension.Reason} by {suspension.Admin.DisplayName}."); | ||||
|                 await context.Response.WriteAsync($"Suspended on {suspendDate} until {unsuspendDate} for {suspension.Reason}."); | ||||
|                 context.Response.StatusCode = StatusCodes.Status403Forbidden; | ||||
|                 return; | ||||
|             } | ||||
| @ -77,7 +77,7 @@ public class UserMiddleware | ||||
|             { | ||||
|                 var suspendDate = ban.BanDate.ToString("MM/dd/yyyy"); | ||||
|                 var unsuspendDate = ban.UnbanDate.ToString("MM/dd/yyyy"); | ||||
|                 await context.Response.WriteAsync($"Banned on {suspendDate} until {unsuspendDate} for {ban.Reason} by {ban.Admin.DisplayName}."); | ||||
|                 await context.Response.WriteAsync($"Banned on {suspendDate} until {unsuspendDate} for {ban.Reason}."); | ||||
|                 context.Response.StatusCode = StatusCodes.Status403Forbidden; | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
							
								
								
									
										682
									
								
								src/comissions.app.api/Migrations/20240310034454_moarr.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										682
									
								
								src/comissions.app.api/Migrations/20240310034454_moarr.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @ -0,0 +1,682 @@ | ||||
| // <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("20240310034454_moarr")] | ||||
|     partial class moarr | ||||
|     { | ||||
|         /// <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>("UserId") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.HasKey("Id"); | ||||
| 
 | ||||
|                     b.HasIndex("UserId"); | ||||
| 
 | ||||
|                     b.ToTable("ArtistRequests"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.ArtistRequestMessage", b => | ||||
|                 { | ||||
|                     b.Property<int>("Id") | ||||
|                         .ValueGeneratedOnAdd() | ||||
|                         .HasColumnType("integer"); | ||||
| 
 | ||||
|                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id")); | ||||
| 
 | ||||
|                     b.Property<int?>("ArtistRequestId") | ||||
|                         .HasColumnType("integer"); | ||||
| 
 | ||||
|                     b.Property<string>("Message") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<DateTime>("SentDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<string>("UserId") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.HasKey("Id"); | ||||
| 
 | ||||
|                     b.HasIndex("ArtistRequestId"); | ||||
| 
 | ||||
|                     b.HasIndex("UserId"); | ||||
| 
 | ||||
|                     b.ToTable("ArtistRequestMessages"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Ban", b => | ||||
|                 { | ||||
|                     b.Property<int>("Id") | ||||
|                         .ValueGeneratedOnAdd() | ||||
|                         .HasColumnType("integer"); | ||||
| 
 | ||||
|                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id")); | ||||
| 
 | ||||
|                     b.Property<DateTime>("BanDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<string>("Reason") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<DateTime>("UnbanDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<string>("UserId") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<bool>("Voided") | ||||
|                         .HasColumnType("boolean"); | ||||
| 
 | ||||
|                     b.HasKey("Id"); | ||||
| 
 | ||||
|                     b.HasIndex("UserId"); | ||||
| 
 | ||||
|                     b.ToTable("Bans"); | ||||
|                 }); | ||||
| 
 | ||||
|             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<double?>("Rating") | ||||
|                         .HasColumnType("double precision"); | ||||
| 
 | ||||
|                     b.Property<DateTime>("RequestDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<DateTime?>("ReviewDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<string>("ReviewMessage") | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<bool>("Reviewed") | ||||
|                         .HasColumnType("boolean"); | ||||
| 
 | ||||
|                     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("RequestReferences"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Suspension", b => | ||||
|                 { | ||||
|                     b.Property<int>("Id") | ||||
|                         .ValueGeneratedOnAdd() | ||||
|                         .HasColumnType("integer"); | ||||
| 
 | ||||
|                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id")); | ||||
| 
 | ||||
|                     b.Property<string>("Reason") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<DateTime>("SuspensionDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<DateTime>("UnsuspensionDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<string>("UserId") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<bool>("Voided") | ||||
|                         .HasColumnType("boolean"); | ||||
| 
 | ||||
|                     b.HasKey("Id"); | ||||
| 
 | ||||
|                     b.HasIndex("UserId"); | ||||
| 
 | ||||
|                     b.ToTable("Suspensions"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.User", b => | ||||
|                 { | ||||
|                     b.Property<string>("Id") | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<string>("AdminNotes") | ||||
|                         .IsRequired() | ||||
|                         .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<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>("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.ArtistRequestMessage", b => | ||||
|                 { | ||||
|                     b.HasOne("comissions.app.database.Entities.ArtistRequest", null) | ||||
|                         .WithMany("ArtistRequestMessages") | ||||
|                         .HasForeignKey("ArtistRequestId"); | ||||
| 
 | ||||
|                     b.HasOne("comissions.app.database.Entities.User", "User") | ||||
|                         .WithMany() | ||||
|                         .HasForeignKey("UserId") | ||||
|                         .OnDelete(DeleteBehavior.Cascade) | ||||
|                         .IsRequired(); | ||||
| 
 | ||||
|                     b.Navigation("User"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Ban", b => | ||||
|                 { | ||||
|                     b.HasOne("comissions.app.database.Entities.User", "User") | ||||
|                         .WithMany("Bans") | ||||
|                         .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("Requests") | ||||
|                         .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.Suspension", b => | ||||
|                 { | ||||
|                     b.HasOne("comissions.app.database.Entities.User", "User") | ||||
|                         .WithMany("Suspensions") | ||||
|                         .HasForeignKey("UserId") | ||||
|                         .OnDelete(DeleteBehavior.Cascade) | ||||
|                         .IsRequired(); | ||||
| 
 | ||||
|                     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.ArtistRequest", b => | ||||
|                 { | ||||
|                     b.Navigation("ArtistRequestMessages"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Request", b => | ||||
|                 { | ||||
|                     b.Navigation("RequestAssets"); | ||||
| 
 | ||||
|                     b.Navigation("RequestReferences"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.User", b => | ||||
|                 { | ||||
|                     b.Navigation("Bans"); | ||||
| 
 | ||||
|                     b.Navigation("Requests"); | ||||
| 
 | ||||
|                     b.Navigation("Suspensions"); | ||||
| 
 | ||||
|                     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 | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										306
									
								
								src/comissions.app.api/Migrations/20240310034454_moarr.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										306
									
								
								src/comissions.app.api/Migrations/20240310034454_moarr.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,306 @@ | ||||
| using System; | ||||
| using Microsoft.EntityFrameworkCore.Migrations; | ||||
| using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; | ||||
| 
 | ||||
| #nullable disable | ||||
| 
 | ||||
| namespace comissions.app.api.Migrations | ||||
| { | ||||
|     /// <inheritdoc /> | ||||
|     public partial class moarr : Migration | ||||
|     { | ||||
|         /// <inheritdoc /> | ||||
|         protected override void Up(MigrationBuilder migrationBuilder) | ||||
|         { | ||||
|             migrationBuilder.DropForeignKey( | ||||
|                 name: "FK_Requests_ArtistRequests_ArtistRequestId", | ||||
|                 table: "Requests"); | ||||
| 
 | ||||
|             migrationBuilder.DropIndex( | ||||
|                 name: "IX_Requests_ArtistRequestId", | ||||
|                 table: "Requests"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "BanAdminId", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "Banned", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "BannedDate", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "BannedReason", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "SuspendAdminId", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "Suspended", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "SuspendedDate", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "SuspendedReason", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "UnbanDate", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "UnsuspendDate", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "SuspendAdminId", | ||||
|                 table: "UserArtists"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "Suspended", | ||||
|                 table: "UserArtists"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "SuspendedDate", | ||||
|                 table: "UserArtists"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "SuspendedReason", | ||||
|                 table: "UserArtists"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "UnsuspendDate", | ||||
|                 table: "UserArtists"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "ArtistRequestId", | ||||
|                 table: "Requests"); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<string>( | ||||
|                 name: "AdminNotes", | ||||
|                 table: "Users", | ||||
|                 type: "text", | ||||
|                 nullable: false, | ||||
|                 defaultValue: ""); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<int>( | ||||
|                 name: "ArtistRequestId", | ||||
|                 table: "ArtistRequestMessages", | ||||
|                 type: "integer", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.CreateTable( | ||||
|                 name: "Bans", | ||||
|                 columns: table => new | ||||
|                 { | ||||
|                     Id = table.Column<int>(type: "integer", nullable: false) | ||||
|                         .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), | ||||
|                     UserId = table.Column<string>(type: "text", nullable: false), | ||||
|                     BanDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), | ||||
|                     UnbanDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), | ||||
|                     Voided = table.Column<bool>(type: "boolean", nullable: false), | ||||
|                     Reason = table.Column<string>(type: "text", nullable: false) | ||||
|                 }, | ||||
|                 constraints: table => | ||||
|                 { | ||||
|                     table.PrimaryKey("PK_Bans", x => x.Id); | ||||
|                     table.ForeignKey( | ||||
|                         name: "FK_Bans_Users_UserId", | ||||
|                         column: x => x.UserId, | ||||
|                         principalTable: "Users", | ||||
|                         principalColumn: "Id", | ||||
|                         onDelete: ReferentialAction.Cascade); | ||||
|                 }); | ||||
| 
 | ||||
|             migrationBuilder.CreateTable( | ||||
|                 name: "Suspensions", | ||||
|                 columns: table => new | ||||
|                 { | ||||
|                     Id = table.Column<int>(type: "integer", nullable: false) | ||||
|                         .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), | ||||
|                     UserId = table.Column<string>(type: "text", nullable: false), | ||||
|                     SuspensionDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), | ||||
|                     UnsuspensionDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false), | ||||
|                     Voided = table.Column<bool>(type: "boolean", nullable: false), | ||||
|                     Reason = table.Column<string>(type: "text", nullable: false) | ||||
|                 }, | ||||
|                 constraints: table => | ||||
|                 { | ||||
|                     table.PrimaryKey("PK_Suspensions", x => x.Id); | ||||
|                     table.ForeignKey( | ||||
|                         name: "FK_Suspensions_Users_UserId", | ||||
|                         column: x => x.UserId, | ||||
|                         principalTable: "Users", | ||||
|                         principalColumn: "Id", | ||||
|                         onDelete: ReferentialAction.Cascade); | ||||
|                 }); | ||||
| 
 | ||||
|             migrationBuilder.CreateIndex( | ||||
|                 name: "IX_ArtistRequestMessages_ArtistRequestId", | ||||
|                 table: "ArtistRequestMessages", | ||||
|                 column: "ArtistRequestId"); | ||||
| 
 | ||||
|             migrationBuilder.CreateIndex( | ||||
|                 name: "IX_Bans_UserId", | ||||
|                 table: "Bans", | ||||
|                 column: "UserId"); | ||||
| 
 | ||||
|             migrationBuilder.CreateIndex( | ||||
|                 name: "IX_Suspensions_UserId", | ||||
|                 table: "Suspensions", | ||||
|                 column: "UserId"); | ||||
| 
 | ||||
|             migrationBuilder.AddForeignKey( | ||||
|                 name: "FK_ArtistRequestMessages_ArtistRequests_ArtistRequestId", | ||||
|                 table: "ArtistRequestMessages", | ||||
|                 column: "ArtistRequestId", | ||||
|                 principalTable: "ArtistRequests", | ||||
|                 principalColumn: "Id"); | ||||
|         } | ||||
| 
 | ||||
|         /// <inheritdoc /> | ||||
|         protected override void Down(MigrationBuilder migrationBuilder) | ||||
|         { | ||||
|             migrationBuilder.DropForeignKey( | ||||
|                 name: "FK_ArtistRequestMessages_ArtistRequests_ArtistRequestId", | ||||
|                 table: "ArtistRequestMessages"); | ||||
| 
 | ||||
|             migrationBuilder.DropTable( | ||||
|                 name: "Bans"); | ||||
| 
 | ||||
|             migrationBuilder.DropTable( | ||||
|                 name: "Suspensions"); | ||||
| 
 | ||||
|             migrationBuilder.DropIndex( | ||||
|                 name: "IX_ArtistRequestMessages_ArtistRequestId", | ||||
|                 table: "ArtistRequestMessages"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "AdminNotes", | ||||
|                 table: "Users"); | ||||
| 
 | ||||
|             migrationBuilder.DropColumn( | ||||
|                 name: "ArtistRequestId", | ||||
|                 table: "ArtistRequestMessages"); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<string>( | ||||
|                 name: "BanAdminId", | ||||
|                 table: "Users", | ||||
|                 type: "text", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<bool>( | ||||
|                 name: "Banned", | ||||
|                 table: "Users", | ||||
|                 type: "boolean", | ||||
|                 nullable: false, | ||||
|                 defaultValue: false); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<DateTime>( | ||||
|                 name: "BannedDate", | ||||
|                 table: "Users", | ||||
|                 type: "timestamp with time zone", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<string>( | ||||
|                 name: "BannedReason", | ||||
|                 table: "Users", | ||||
|                 type: "text", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<string>( | ||||
|                 name: "SuspendAdminId", | ||||
|                 table: "Users", | ||||
|                 type: "text", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<bool>( | ||||
|                 name: "Suspended", | ||||
|                 table: "Users", | ||||
|                 type: "boolean", | ||||
|                 nullable: false, | ||||
|                 defaultValue: false); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<DateTime>( | ||||
|                 name: "SuspendedDate", | ||||
|                 table: "Users", | ||||
|                 type: "timestamp with time zone", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<string>( | ||||
|                 name: "SuspendedReason", | ||||
|                 table: "Users", | ||||
|                 type: "text", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<DateTime>( | ||||
|                 name: "UnbanDate", | ||||
|                 table: "Users", | ||||
|                 type: "timestamp with time zone", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<DateTime>( | ||||
|                 name: "UnsuspendDate", | ||||
|                 table: "Users", | ||||
|                 type: "timestamp with time zone", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<string>( | ||||
|                 name: "SuspendAdminId", | ||||
|                 table: "UserArtists", | ||||
|                 type: "text", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<bool>( | ||||
|                 name: "Suspended", | ||||
|                 table: "UserArtists", | ||||
|                 type: "boolean", | ||||
|                 nullable: false, | ||||
|                 defaultValue: false); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<DateTime>( | ||||
|                 name: "SuspendedDate", | ||||
|                 table: "UserArtists", | ||||
|                 type: "timestamp with time zone", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<string>( | ||||
|                 name: "SuspendedReason", | ||||
|                 table: "UserArtists", | ||||
|                 type: "text", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<DateTime>( | ||||
|                 name: "UnsuspendDate", | ||||
|                 table: "UserArtists", | ||||
|                 type: "timestamp with time zone", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.AddColumn<int>( | ||||
|                 name: "ArtistRequestId", | ||||
|                 table: "Requests", | ||||
|                 type: "integer", | ||||
|                 nullable: true); | ||||
| 
 | ||||
|             migrationBuilder.CreateIndex( | ||||
|                 name: "IX_Requests_ArtistRequestId", | ||||
|                 table: "Requests", | ||||
|                 column: "ArtistRequestId"); | ||||
| 
 | ||||
|             migrationBuilder.AddForeignKey( | ||||
|                 name: "FK_Requests_ArtistRequests_ArtistRequestId", | ||||
|                 table: "Requests", | ||||
|                 column: "ArtistRequestId", | ||||
|                 principalTable: "ArtistRequests", | ||||
|                 principalColumn: "Id"); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -226,6 +226,9 @@ namespace comissions.app.api.Migrations | ||||
| 
 | ||||
|                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id")); | ||||
| 
 | ||||
|                     b.Property<int?>("ArtistRequestId") | ||||
|                         .HasColumnType("integer"); | ||||
| 
 | ||||
|                     b.Property<string>("Message") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| @ -239,11 +242,45 @@ namespace comissions.app.api.Migrations | ||||
| 
 | ||||
|                     b.HasKey("Id"); | ||||
| 
 | ||||
|                     b.HasIndex("ArtistRequestId"); | ||||
| 
 | ||||
|                     b.HasIndex("UserId"); | ||||
| 
 | ||||
|                     b.ToTable("ArtistRequestMessages"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Ban", b => | ||||
|                 { | ||||
|                     b.Property<int>("Id") | ||||
|                         .ValueGeneratedOnAdd() | ||||
|                         .HasColumnType("integer"); | ||||
| 
 | ||||
|                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id")); | ||||
| 
 | ||||
|                     b.Property<DateTime>("BanDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<string>("Reason") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<DateTime>("UnbanDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<string>("UserId") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<bool>("Voided") | ||||
|                         .HasColumnType("boolean"); | ||||
| 
 | ||||
|                     b.HasKey("Id"); | ||||
| 
 | ||||
|                     b.HasIndex("UserId"); | ||||
| 
 | ||||
|                     b.ToTable("Bans"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Request", b => | ||||
|                 { | ||||
|                     b.Property<int>("Id") | ||||
| @ -264,9 +301,6 @@ namespace comissions.app.api.Migrations | ||||
|                     b.Property<int>("ArtistId") | ||||
|                         .HasColumnType("integer"); | ||||
| 
 | ||||
|                     b.Property<int?>("ArtistRequestId") | ||||
|                         .HasColumnType("integer"); | ||||
| 
 | ||||
|                     b.Property<bool>("Completed") | ||||
|                         .HasColumnType("boolean"); | ||||
| 
 | ||||
| @ -315,8 +349,6 @@ namespace comissions.app.api.Migrations | ||||
| 
 | ||||
|                     b.HasIndex("ArtistId"); | ||||
| 
 | ||||
|                     b.HasIndex("ArtistRequestId"); | ||||
| 
 | ||||
|                     b.HasIndex("UserId"); | ||||
| 
 | ||||
|                     b.ToTable("Requests"); | ||||
| @ -366,21 +398,45 @@ namespace comissions.app.api.Migrations | ||||
|                     b.ToTable("RequestReferences"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Suspension", b => | ||||
|                 { | ||||
|                     b.Property<int>("Id") | ||||
|                         .ValueGeneratedOnAdd() | ||||
|                         .HasColumnType("integer"); | ||||
| 
 | ||||
|                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id")); | ||||
| 
 | ||||
|                     b.Property<string>("Reason") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<DateTime>("SuspensionDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<DateTime>("UnsuspensionDate") | ||||
|                         .HasColumnType("timestamp with time zone"); | ||||
| 
 | ||||
|                     b.Property<string>("UserId") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<bool>("Voided") | ||||
|                         .HasColumnType("boolean"); | ||||
| 
 | ||||
|                     b.HasKey("Id"); | ||||
| 
 | ||||
|                     b.HasIndex("UserId"); | ||||
| 
 | ||||
|                     b.ToTable("Suspensions"); | ||||
|                 }); | ||||
| 
 | ||||
|             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") | ||||
|                     b.Property<string>("AdminNotes") | ||||
|                         .IsRequired() | ||||
|                         .HasColumnType("text"); | ||||
| 
 | ||||
|                     b.Property<string>("Biography") | ||||
| @ -395,24 +451,6 @@ namespace comissions.app.api.Migrations | ||||
|                         .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"); | ||||
| 
 | ||||
| @ -469,21 +507,6 @@ namespace comissions.app.api.Migrations | ||||
|                     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"); | ||||
| @ -531,6 +554,10 @@ namespace comissions.app.api.Migrations | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.ArtistRequestMessage", b => | ||||
|                 { | ||||
|                     b.HasOne("comissions.app.database.Entities.ArtistRequest", null) | ||||
|                         .WithMany("ArtistRequestMessages") | ||||
|                         .HasForeignKey("ArtistRequestId"); | ||||
| 
 | ||||
|                     b.HasOne("comissions.app.database.Entities.User", "User") | ||||
|                         .WithMany() | ||||
|                         .HasForeignKey("UserId") | ||||
| @ -540,6 +567,17 @@ namespace comissions.app.api.Migrations | ||||
|                     b.Navigation("User"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Ban", b => | ||||
|                 { | ||||
|                     b.HasOne("comissions.app.database.Entities.User", "User") | ||||
|                         .WithMany("Bans") | ||||
|                         .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") | ||||
| @ -548,12 +586,8 @@ namespace comissions.app.api.Migrations | ||||
|                         .OnDelete(DeleteBehavior.Cascade) | ||||
|                         .IsRequired(); | ||||
| 
 | ||||
|                     b.HasOne("comissions.app.database.Entities.ArtistRequest", null) | ||||
|                         .WithMany("Requests") | ||||
|                         .HasForeignKey("ArtistRequestId"); | ||||
| 
 | ||||
|                     b.HasOne("comissions.app.database.Entities.User", "User") | ||||
|                         .WithMany() | ||||
|                         .WithMany("Requests") | ||||
|                         .HasForeignKey("UserId") | ||||
|                         .OnDelete(DeleteBehavior.Cascade) | ||||
|                         .IsRequired(); | ||||
| @ -585,6 +619,17 @@ namespace comissions.app.api.Migrations | ||||
|                     b.Navigation("Request"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Suspension", b => | ||||
|                 { | ||||
|                     b.HasOne("comissions.app.database.Entities.User", "User") | ||||
|                         .WithMany("Suspensions") | ||||
|                         .HasForeignKey("UserId") | ||||
|                         .OnDelete(DeleteBehavior.Cascade) | ||||
|                         .IsRequired(); | ||||
| 
 | ||||
|                     b.Navigation("User"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b => | ||||
|                 { | ||||
|                     b.HasOne("comissions.app.database.Entities.User", "User") | ||||
| @ -598,7 +643,7 @@ namespace comissions.app.api.Migrations | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b => | ||||
|                 { | ||||
|                     b.Navigation("Requests"); | ||||
|                     b.Navigation("ArtistRequestMessages"); | ||||
|                 }); | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.Request", b => | ||||
| @ -610,6 +655,12 @@ namespace comissions.app.api.Migrations | ||||
| 
 | ||||
|             modelBuilder.Entity("comissions.app.database.Entities.User", b => | ||||
|                 { | ||||
|                     b.Navigation("Bans"); | ||||
| 
 | ||||
|                     b.Navigation("Requests"); | ||||
| 
 | ||||
|                     b.Navigation("Suspensions"); | ||||
| 
 | ||||
|                     b.Navigation("UserArtist"); | ||||
|                 }); | ||||
| 
 | ||||
|  | ||||
| @ -6,7 +6,6 @@ public class PenaltyModel | ||||
| { | ||||
|     public DateTime Date { get; set; } | ||||
|     public string Reason { get; set; } | ||||
|     public string Admin { get; set; } | ||||
| } | ||||
| 
 | ||||
| public static class PenaltyModelExtensions | ||||
| @ -17,7 +16,6 @@ public static class PenaltyModelExtensions | ||||
|         { | ||||
|             Date = ban.BanDate, | ||||
|             Reason = ban.Reason, | ||||
|             Admin = ban.Admin.DisplayName | ||||
|         }; | ||||
|     } | ||||
|      | ||||
| @ -27,7 +25,6 @@ public static class PenaltyModelExtensions | ||||
|         { | ||||
|             Date = suspension.SuspensionDate, | ||||
|             Reason = suspension.Reason, | ||||
|             Admin = suspension.Admin.DisplayName | ||||
|         }; | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Damien Ostler
						Damien Ostler