diff --git a/docs/architecture_diagram.drawio b/docs/architecture_diagram.drawio new file mode 100644 index 0000000..c0ebcbb --- /dev/null +++ b/docs/architecture_diagram.drawio @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/architecture_diagram.drawio.png b/docs/architecture_diagram.drawio.png new file mode 100644 index 0000000..15b83c6 Binary files /dev/null and b/docs/architecture_diagram.drawio.png differ diff --git a/docs/database_design.drawio b/docs/database_design.drawio new file mode 100644 index 0000000..7d9f61a --- /dev/null +++ b/docs/database_design.drawio @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/database_design.drawio.png b/docs/database_design.drawio.png new file mode 100644 index 0000000..8cb2db6 Binary files /dev/null and b/docs/database_design.drawio.png differ diff --git a/docs/userflow_design.drawio b/docs/userflow_design.drawio new file mode 100644 index 0000000..e3c3aa2 --- /dev/null +++ b/docs/userflow_design.drawio @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/userflow_design.drawio.png b/docs/userflow_design.drawio.png new file mode 100644 index 0000000..f030995 Binary files /dev/null and b/docs/userflow_design.drawio.png differ diff --git a/src/.idea/.idea.ArtPlatform/.idea/.gitignore b/src/.idea/.idea.comissions.app/.idea/.gitignore similarity index 100% rename from src/.idea/.idea.ArtPlatform/.idea/.gitignore rename to src/.idea/.idea.comissions.app/.idea/.gitignore diff --git a/src/.idea/.idea.ArtPlatform/.idea/.name b/src/.idea/.idea.comissions.app/.idea/.name similarity index 100% rename from src/.idea/.idea.ArtPlatform/.idea/.name rename to src/.idea/.idea.comissions.app/.idea/.name diff --git a/src/.idea/.idea.ArtPlatform/.idea/aws.xml b/src/.idea/.idea.comissions.app/.idea/aws.xml similarity index 100% rename from src/.idea/.idea.ArtPlatform/.idea/aws.xml rename to src/.idea/.idea.comissions.app/.idea/aws.xml diff --git a/src/.idea/.idea.ArtPlatform/.idea/dataSources.xml b/src/.idea/.idea.comissions.app/.idea/dataSources.xml similarity index 100% rename from src/.idea/.idea.ArtPlatform/.idea/dataSources.xml rename to src/.idea/.idea.comissions.app/.idea/dataSources.xml diff --git a/src/.idea/.idea.ArtPlatform/.idea/encodings.xml b/src/.idea/.idea.comissions.app/.idea/encodings.xml similarity index 100% rename from src/.idea/.idea.ArtPlatform/.idea/encodings.xml rename to src/.idea/.idea.comissions.app/.idea/encodings.xml diff --git a/src/.idea/.idea.ArtPlatform/.idea/indexLayout.xml b/src/.idea/.idea.comissions.app/.idea/indexLayout.xml similarity index 100% rename from src/.idea/.idea.ArtPlatform/.idea/indexLayout.xml rename to src/.idea/.idea.comissions.app/.idea/indexLayout.xml diff --git a/src/.idea/.idea.ArtPlatform/.idea/vcs.xml b/src/.idea/.idea.comissions.app/.idea/vcs.xml similarity index 100% rename from src/.idea/.idea.ArtPlatform/.idea/vcs.xml rename to src/.idea/.idea.comissions.app/.idea/vcs.xml diff --git a/src/ArtPlatform.Database/Migrations/20240127055416_Initial.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127055416_Initial.Designer.cs deleted file mode 100644 index 6a05fb6..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127055416_Initial.Designer.cs +++ /dev/null @@ -1,477 +0,0 @@ -// -using System; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127055416_Initial")] - partial class Initial - { - /// - 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("ArtPlatform.Database.Entities.SellerConfiguredSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("SellerSettingId") - .HasColumnType("integer"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.Property("UserSellerSettingId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerSettingId"); - - b.HasIndex("UserSellerProfileId"); - - b.ToTable("SellerConfiguredSettings"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("DepositAmount") - .HasColumnType("numeric"); - - b.Property("DepositRequired") - .HasColumnType("boolean"); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("numeric"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("DefaultValue") - .HasColumnType("text"); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.ToTable("SellerSettings"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerConfiguredSetting", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerSetting", "SellerSetting") - .WithMany() - .HasForeignKey("SellerSettingId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "UserSellerProfile") - .WithMany("ConfiguredSettings") - .HasForeignKey("UserSellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerSetting"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("ConfiguredSettings"); - - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127065133_anotherupdate.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127065133_anotherupdate.Designer.cs deleted file mode 100644 index 94129c8..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127065133_anotherupdate.Designer.cs +++ /dev/null @@ -1,415 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127065133_anotherupdate")] - partial class anotherupdate - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("DepositAmount") - .HasColumnType("numeric"); - - b.Property("DepositRequired") - .HasColumnType("boolean"); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("numeric"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127065133_anotherupdate.cs b/src/ArtPlatform.Database/Migrations/20240127065133_anotherupdate.cs deleted file mode 100644 index 9b0ba41..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127065133_anotherupdate.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class anotherupdate : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "SellerConfiguredSettings"); - - migrationBuilder.DropTable( - name: "SellerSettings"); - - migrationBuilder.AddColumn( - name: "Biography", - table: "UserSellerProfiles", - type: "text", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddColumn>( - name: "SocialMediaLinks", - table: "UserSellerProfiles", - type: "text[]", - nullable: false); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "Biography", - table: "UserSellerProfiles"); - - migrationBuilder.DropColumn( - name: "SocialMediaLinks", - table: "UserSellerProfiles"); - - migrationBuilder.CreateTable( - name: "SellerSettings", - columns: table => new - { - Id = table.Column(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - DefaultValue = table.Column(type: "text", nullable: true), - Description = table.Column(type: "text", nullable: false), - Name = table.Column(type: "text", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_SellerSettings", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "SellerConfiguredSettings", - columns: table => new - { - Id = table.Column(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - SellerSettingId = table.Column(type: "integer", nullable: false), - UserSellerProfileId = table.Column(type: "integer", nullable: false), - UserSellerSettingId = table.Column(type: "integer", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_SellerConfiguredSettings", x => x.Id); - table.ForeignKey( - name: "FK_SellerConfiguredSettings_SellerSettings_SellerSettingId", - column: x => x.SellerSettingId, - principalTable: "SellerSettings", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_SellerConfiguredSettings_UserSellerProfiles_UserSellerProfi~", - column: x => x.UserSellerProfileId, - principalTable: "UserSellerProfiles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_SellerConfiguredSettings_SellerSettingId", - table: "SellerConfiguredSettings", - column: "SellerSettingId"); - - migrationBuilder.CreateIndex( - name: "IX_SellerConfiguredSettings_UserSellerProfileId", - table: "SellerConfiguredSettings", - column: "UserSellerProfileId"); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127071156_updateagainn.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127071156_updateagainn.Designer.cs deleted file mode 100644 index 9e8542b..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127071156_updateagainn.Designer.cs +++ /dev/null @@ -1,451 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127071156_updateagainn")] - partial class updateagainn - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("DepositAmount") - .HasColumnType("numeric"); - - b.Property("DepositRequired") - .HasColumnType("boolean"); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("numeric"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127071156_updateagainn.cs b/src/ArtPlatform.Database/Migrations/20240127071156_updateagainn.cs deleted file mode 100644 index 36064ff..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127071156_updateagainn.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class updateagainn : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "SellerProfileRequests", - columns: table => new - { - Id = table.Column(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserId = table.Column(type: "text", nullable: false), - RequestDate = table.Column(type: "timestamp with time zone", nullable: false), - Accepted = table.Column(type: "boolean", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_SellerProfileRequests", x => x.Id); - table.ForeignKey( - name: "FK_SellerProfileRequests_Users_UserId", - column: x => x.UserId, - principalTable: "Users", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_SellerProfileRequests_UserId", - table: "SellerProfileRequests", - column: "UserId"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "SellerProfileRequests"); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127072659_updatesss.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127072659_updatesss.Designer.cs deleted file mode 100644 index 18ef25c..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127072659_updatesss.Designer.cs +++ /dev/null @@ -1,454 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127072659_updatesss")] - partial class updatesss - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("DepositAmount") - .HasColumnType("numeric"); - - b.Property("DepositRequired") - .HasColumnType("boolean"); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("numeric"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127072659_updatesss.cs b/src/ArtPlatform.Database/Migrations/20240127072659_updatesss.cs deleted file mode 100644 index 49e5c95..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127072659_updatesss.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class updatesss : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "AcceptedDate", - table: "SellerProfileRequests", - type: "timestamp with time zone", - nullable: true); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "AcceptedDate", - table: "SellerProfileRequests"); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127075103_updatess.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127075103_updatess.Designer.cs deleted file mode 100644 index 71d0ea7..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127075103_updatess.Designer.cs +++ /dev/null @@ -1,467 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127075103_updatess")] - partial class updatess - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("DepositAmount") - .HasColumnType("numeric"); - - b.Property("DepositRequired") - .HasColumnType("boolean"); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("numeric"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127075103_updatess.cs b/src/ArtPlatform.Database/Migrations/20240127075103_updatess.cs deleted file mode 100644 index 83fde37..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127075103_updatess.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class updatess : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "SellerServiceId", - table: "SellerServiceOrderReviews", - type: "integer", - nullable: false, - defaultValue: 0); - - migrationBuilder.CreateIndex( - name: "IX_SellerServiceOrderReviews_SellerServiceId", - table: "SellerServiceOrderReviews", - column: "SellerServiceId"); - - migrationBuilder.AddForeignKey( - name: "FK_SellerServiceOrderReviews_SellerServices_SellerServiceId", - table: "SellerServiceOrderReviews", - column: "SellerServiceId", - principalTable: "SellerServices", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_SellerServiceOrderReviews_SellerServices_SellerServiceId", - table: "SellerServiceOrderReviews"); - - migrationBuilder.DropIndex( - name: "IX_SellerServiceOrderReviews_SellerServiceId", - table: "SellerServiceOrderReviews"); - - migrationBuilder.DropColumn( - name: "SellerServiceId", - table: "SellerServiceOrderReviews"); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127080610_lmaomore.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127080610_lmaomore.Designer.cs deleted file mode 100644 index 0021234..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127080610_lmaomore.Designer.cs +++ /dev/null @@ -1,466 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127080610_lmaomore")] - partial class lmaomore - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("numeric"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127080610_lmaomore.cs b/src/ArtPlatform.Database/Migrations/20240127080610_lmaomore.cs deleted file mode 100644 index b89c383..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127080610_lmaomore.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class lmaomore : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "DepositAmount", - table: "SellerServices"); - - migrationBuilder.DropColumn( - name: "DepositRequired", - table: "SellerServices"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "DepositAmount", - table: "SellerServices", - type: "numeric", - nullable: true); - - migrationBuilder.AddColumn( - name: "DepositRequired", - table: "SellerServices", - type: "boolean", - nullable: false, - defaultValue: false); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127091953_enddate.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127091953_enddate.Designer.cs deleted file mode 100644 index 4f8b854..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127091953_enddate.Designer.cs +++ /dev/null @@ -1,488 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127091953_enddate")] - partial class enddate - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127091953_enddate.cs b/src/ArtPlatform.Database/Migrations/20240127091953_enddate.cs deleted file mode 100644 index f3a5c25..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127091953_enddate.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class enddate : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AlterColumn( - name: "Price", - table: "SellerServices", - type: "double precision", - nullable: false, - oldClrType: typeof(decimal), - oldType: "numeric"); - - migrationBuilder.AddColumn( - name: "CreatedDate", - table: "SellerServiceOrders", - type: "timestamp with time zone", - nullable: false, - defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); - - migrationBuilder.AddColumn( - name: "EndDate", - table: "SellerServiceOrders", - type: "timestamp with time zone", - nullable: true); - - migrationBuilder.AddColumn( - name: "Price", - table: "SellerServiceOrders", - type: "double precision", - nullable: false, - defaultValue: 0.0); - - migrationBuilder.AddColumn( - name: "SellerId", - table: "SellerServiceOrders", - type: "integer", - nullable: false, - defaultValue: 0); - - migrationBuilder.CreateIndex( - name: "IX_SellerServiceOrders_SellerId", - table: "SellerServiceOrders", - column: "SellerId"); - - migrationBuilder.AddForeignKey( - name: "FK_SellerServiceOrders_UserSellerProfiles_SellerId", - table: "SellerServiceOrders", - column: "SellerId", - principalTable: "UserSellerProfiles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_SellerServiceOrders_UserSellerProfiles_SellerId", - table: "SellerServiceOrders"); - - migrationBuilder.DropIndex( - name: "IX_SellerServiceOrders_SellerId", - table: "SellerServiceOrders"); - - migrationBuilder.DropColumn( - name: "CreatedDate", - table: "SellerServiceOrders"); - - migrationBuilder.DropColumn( - name: "EndDate", - table: "SellerServiceOrders"); - - migrationBuilder.DropColumn( - name: "Price", - table: "SellerServiceOrders"); - - migrationBuilder.DropColumn( - name: "SellerId", - table: "SellerServiceOrders"); - - migrationBuilder.AlterColumn( - name: "Price", - table: "SellerServices", - type: "numeric", - nullable: false, - oldClrType: typeof(double), - oldType: "double precision"); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127092417_terms.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127092417_terms.Designer.cs deleted file mode 100644 index 04f5f64..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127092417_terms.Designer.cs +++ /dev/null @@ -1,491 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127092417_terms")] - partial class terms - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("TermsAcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127092417_terms.cs b/src/ArtPlatform.Database/Migrations/20240127092417_terms.cs deleted file mode 100644 index a43cb79..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127092417_terms.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class terms : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "TermsAcceptedDate", - table: "SellerServiceOrders", - type: "timestamp with time zone", - nullable: true); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "TermsAcceptedDate", - table: "SellerServiceOrders"); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127093942_makesure.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127093942_makesure.Designer.cs deleted file mode 100644 index 298cb76..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127093942_makesure.Designer.cs +++ /dev/null @@ -1,491 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127093942_makesure")] - partial class makesure - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("TermsAcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127093942_makesure.cs b/src/ArtPlatform.Database/Migrations/20240127093942_makesure.cs deleted file mode 100644 index 025578c..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127093942_makesure.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class makesure : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127102817_removedumbshit.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127102817_removedumbshit.Designer.cs deleted file mode 100644 index c3aada1..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127102817_removedumbshit.Designer.cs +++ /dev/null @@ -1,483 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127102817_removedumbshit")] - partial class removedumbshit - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("TermsAcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127102817_removedumbshit.cs b/src/ArtPlatform.Database/Migrations/20240127102817_removedumbshit.cs deleted file mode 100644 index b31d704..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127102817_removedumbshit.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class removedumbshit : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "Description", - table: "SellerProfilePortfolioPieces"); - - migrationBuilder.DropColumn( - name: "Name", - table: "SellerProfilePortfolioPieces"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "Description", - table: "SellerProfilePortfolioPieces", - type: "text", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddColumn( - name: "Name", - table: "SellerProfilePortfolioPieces", - type: "text", - nullable: false, - defaultValue: ""); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127104702_moreshit.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127104702_moreshit.Designer.cs deleted file mode 100644 index 83df45b..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127104702_moreshit.Designer.cs +++ /dev/null @@ -1,496 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127104702_moreshit")] - partial class moreshit - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("TermsAcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerServiceId"); - - b.Navigation("SellerProfile"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127104702_moreshit.cs b/src/ArtPlatform.Database/Migrations/20240127104702_moreshit.cs deleted file mode 100644 index 90f7937..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127104702_moreshit.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class moreshit : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "SellerServiceId", - table: "SellerProfilePortfolioPieces", - type: "integer", - nullable: true); - - migrationBuilder.CreateIndex( - name: "IX_SellerProfilePortfolioPieces_SellerServiceId", - table: "SellerProfilePortfolioPieces", - column: "SellerServiceId"); - - migrationBuilder.AddForeignKey( - name: "FK_SellerProfilePortfolioPieces_SellerServices_SellerServiceId", - table: "SellerProfilePortfolioPieces", - column: "SellerServiceId", - principalTable: "SellerServices", - principalColumn: "Id"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_SellerProfilePortfolioPieces_SellerServices_SellerServiceId", - table: "SellerProfilePortfolioPieces"); - - migrationBuilder.DropIndex( - name: "IX_SellerProfilePortfolioPieces_SellerServiceId", - table: "SellerProfilePortfolioPieces"); - - migrationBuilder.DropColumn( - name: "SellerServiceId", - table: "SellerProfilePortfolioPieces"); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127105416_morestuff.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127105416_morestuff.Designer.cs deleted file mode 100644 index 79b656e..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127105416_morestuff.Designer.cs +++ /dev/null @@ -1,499 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127105416_morestuff")] - partial class morestuff - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("TermsAcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewDate") - .HasColumnType("timestamp with time zone"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerServiceId"); - - b.Navigation("SellerProfile"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany() - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127105416_morestuff.cs b/src/ArtPlatform.Database/Migrations/20240127105416_morestuff.cs deleted file mode 100644 index 33e878e..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127105416_morestuff.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class morestuff : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "ReviewDate", - table: "SellerServiceOrderReviews", - type: "timestamp with time zone", - nullable: false, - defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "ReviewDate", - table: "SellerServiceOrderReviews"); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127222945_updateshit.Designer.cs b/src/ArtPlatform.Database/Migrations/20240127222945_updateshit.Designer.cs deleted file mode 100644 index 456ffcb..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127222945_updateshit.Designer.cs +++ /dev/null @@ -1,507 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240127222945_updateshit")] - partial class updateshit - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("TermsAcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewDate") - .HasColumnType("timestamp with time zone"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("AddressCity") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressCountry") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressHouseNumber") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressPostalCode") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressRegion") - .IsRequired() - .HasColumnType("text"); - - b.Property("AddressStreet") - .IsRequired() - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("FirstName") - .IsRequired() - .HasColumnType("text"); - - b.Property("LastName") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("StripeAccountId") - .HasColumnType("text"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerServiceId"); - - b.Navigation("SellerProfile"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany("Attachments") - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Navigation("Attachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240127222945_updateshit.cs b/src/ArtPlatform.Database/Migrations/20240127222945_updateshit.cs deleted file mode 100644 index 8d73b1c..0000000 --- a/src/ArtPlatform.Database/Migrations/20240127222945_updateshit.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class updateshit : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "StripeAccountId", - table: "UserSellerProfiles", - type: "text", - nullable: true); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "StripeAccountId", - table: "UserSellerProfiles"); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240128002310_stoff.Designer.cs b/src/ArtPlatform.Database/Migrations/20240128002310_stoff.Designer.cs deleted file mode 100644 index cf84bc4..0000000 --- a/src/ArtPlatform.Database/Migrations/20240128002310_stoff.Designer.cs +++ /dev/null @@ -1,485 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240128002310_stoff")] - partial class stoff - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("PaymentUrl") - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("TermsAcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewDate") - .HasColumnType("timestamp with time zone"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("StripeCustomerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("PrepaymentRequired") - .HasColumnType("boolean"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("StripeAccountId") - .HasColumnType("text"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerServiceId"); - - b.Navigation("SellerProfile"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany("Attachments") - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Navigation("Attachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240128002310_stoff.cs b/src/ArtPlatform.Database/Migrations/20240128002310_stoff.cs deleted file mode 100644 index 44a5478..0000000 --- a/src/ArtPlatform.Database/Migrations/20240128002310_stoff.cs +++ /dev/null @@ -1,126 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class stoff : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "AddressCity", - table: "Users"); - - migrationBuilder.DropColumn( - name: "AddressCountry", - table: "Users"); - - migrationBuilder.DropColumn( - name: "AddressHouseNumber", - table: "Users"); - - migrationBuilder.DropColumn( - name: "AddressPostalCode", - table: "Users"); - - migrationBuilder.DropColumn( - name: "AddressRegion", - table: "Users"); - - migrationBuilder.DropColumn( - name: "AddressStreet", - table: "Users"); - - migrationBuilder.DropColumn( - name: "FirstName", - table: "Users"); - - migrationBuilder.RenameColumn( - name: "LastName", - table: "Users", - newName: "StripeCustomerId"); - - migrationBuilder.AddColumn( - name: "PrepaymentRequired", - table: "UserSellerProfiles", - type: "boolean", - nullable: false, - defaultValue: false); - - migrationBuilder.AddColumn( - name: "PaymentUrl", - table: "SellerServiceOrders", - type: "text", - nullable: true); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "PrepaymentRequired", - table: "UserSellerProfiles"); - - migrationBuilder.DropColumn( - name: "PaymentUrl", - table: "SellerServiceOrders"); - - migrationBuilder.RenameColumn( - name: "StripeCustomerId", - table: "Users", - newName: "LastName"); - - migrationBuilder.AddColumn( - name: "AddressCity", - table: "Users", - type: "text", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddColumn( - name: "AddressCountry", - table: "Users", - type: "text", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddColumn( - name: "AddressHouseNumber", - table: "Users", - type: "text", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddColumn( - name: "AddressPostalCode", - table: "Users", - type: "text", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddColumn( - name: "AddressRegion", - table: "Users", - type: "text", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddColumn( - name: "AddressStreet", - table: "Users", - type: "text", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddColumn( - name: "FirstName", - table: "Users", - type: "text", - nullable: false, - defaultValue: ""); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240128032740_why.Designer.cs b/src/ArtPlatform.Database/Migrations/20240128032740_why.Designer.cs deleted file mode 100644 index d6f695b..0000000 --- a/src/ArtPlatform.Database/Migrations/20240128032740_why.Designer.cs +++ /dev/null @@ -1,485 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240128032740_why")] - partial class why - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("PaymentUrl") - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("TermsAcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewDate") - .HasColumnType("timestamp with time zone"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("StripeCustomerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("PrepaymentRequired") - .HasColumnType("boolean"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("StripeAccountId") - .HasColumnType("text"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerServiceId"); - - b.Navigation("SellerProfile"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany("Attachments") - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Navigation("Attachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240128032740_why.cs b/src/ArtPlatform.Database/Migrations/20240128032740_why.cs deleted file mode 100644 index c3742d3..0000000 --- a/src/ArtPlatform.Database/Migrations/20240128032740_why.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class why : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240128032946_yep.Designer.cs b/src/ArtPlatform.Database/Migrations/20240128032946_yep.Designer.cs deleted file mode 100644 index ab68614..0000000 --- a/src/ArtPlatform.Database/Migrations/20240128032946_yep.Designer.cs +++ /dev/null @@ -1,481 +0,0 @@ -// -using System; -using System.Collections.Generic; -using ArtPlatform.Database; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - [DbContext(typeof(ApplicationDbContext))] - [Migration("20240128032946_yep")] - partial class yep - { - /// - 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("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .HasColumnType("text"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerProfilePortfolioPieces"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Accepted") - .HasColumnType("boolean"); - - b.Property("AcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("RequestDate") - .HasColumnType("timestamp with time zone"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("SellerProfileRequests"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .IsRequired() - .HasColumnType("text"); - - b.Property("Name") - .IsRequired() - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerProfileId"); - - b.ToTable("SellerServices"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("BuyerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone"); - - b.Property("EndDate") - .HasColumnType("timestamp with time zone"); - - b.Property("PaymentUrl") - .HasColumnType("text"); - - b.Property("Price") - .HasColumnType("double precision"); - - b.Property("SellerId") - .HasColumnType("integer"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("Status") - .HasColumnType("integer"); - - b.Property("TermsAcceptedDate") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("BuyerId"); - - b.HasIndex("SellerId"); - - b.HasIndex("SellerServiceId"); - - b.ToTable("SellerServiceOrders"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Message") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.Property("SenderId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SentAt") - .HasColumnType("timestamp with time zone"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderId"); - - b.HasIndex("SenderId"); - - b.ToTable("SellerServiceOrderMessages"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("FileReference") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceOrderMessageId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("SellerServiceOrderMessageId"); - - b.ToTable("SellerServiceOrderMessageAttachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Rating") - .HasColumnType("integer"); - - b.Property("Review") - .HasColumnType("text"); - - b.Property("ReviewDate") - .HasColumnType("timestamp with time zone"); - - b.Property("ReviewerId") - .IsRequired() - .HasColumnType("text"); - - b.Property("SellerServiceId") - .HasColumnType("integer"); - - b.Property("SellerServiceOrderId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.HasIndex("ReviewerId"); - - b.HasIndex("SellerServiceId"); - - b.HasIndex("SellerServiceOrderId"); - - b.ToTable("SellerServiceOrderReviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Property("Id") - .HasColumnType("text"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("DisplayName") - .IsRequired() - .HasColumnType("text"); - - b.Property("Email") - .IsRequired() - .HasColumnType("text"); - - b.Property("UserSellerProfileId") - .HasColumnType("integer"); - - b.HasKey("Id"); - - b.ToTable("Users"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("integer"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("AgeRestricted") - .HasColumnType("boolean"); - - b.Property("Biography") - .IsRequired() - .HasColumnType("text"); - - b.Property("PrepaymentRequired") - .HasColumnType("boolean"); - - b.Property>("SocialMediaLinks") - .IsRequired() - .HasColumnType("text[]"); - - b.Property("StripeAccountId") - .HasColumnType("text"); - - b.Property("UserId") - .IsRequired() - .HasColumnType("text"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("UserSellerProfiles"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfilePortfolioPiece", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("PortfolioPieces") - .HasForeignKey("SellerServiceId"); - - b.Navigation("SellerProfile"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerProfileRequest", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "SellerProfile") - .WithMany("SellerServices") - .HasForeignKey("SellerProfileId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Buyer") - .WithMany("Orders") - .HasForeignKey("BuyerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.UserSellerProfile", "Seller") - .WithMany() - .HasForeignKey("SellerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany() - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Buyer"); - - b.Navigation("Seller"); - - b.Navigation("SellerService"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Messages") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.User", "Sender") - .WithMany() - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrder"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessageAttachment", b => - { - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrderMessage", "SellerServiceOrderMessage") - .WithMany("Attachments") - .HasForeignKey("SellerServiceOrderMessageId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("SellerServiceOrderMessage"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderReview", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "Reviewer") - .WithMany() - .HasForeignKey("ReviewerId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerService", "SellerService") - .WithMany("Reviews") - .HasForeignKey("SellerServiceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("ArtPlatform.Database.Entities.SellerServiceOrder", "SellerServiceOrder") - .WithMany("Reviews") - .HasForeignKey("SellerServiceOrderId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Reviewer"); - - b.Navigation("SellerService"); - - b.Navigation("SellerServiceOrder"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.HasOne("ArtPlatform.Database.Entities.User", "User") - .WithOne("UserSellerProfile") - .HasForeignKey("ArtPlatform.Database.Entities.UserSellerProfile", "UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerService", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrder", b => - { - b.Navigation("Messages"); - - b.Navigation("Reviews"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.SellerServiceOrderMessage", b => - { - b.Navigation("Attachments"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.User", b => - { - b.Navigation("Orders"); - - b.Navigation("UserSellerProfile"); - }); - - modelBuilder.Entity("ArtPlatform.Database.Entities.UserSellerProfile", b => - { - b.Navigation("PortfolioPieces"); - - b.Navigation("SellerServices"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240128032946_yep.cs b/src/ArtPlatform.Database/Migrations/20240128032946_yep.cs deleted file mode 100644 index 6ae462e..0000000 --- a/src/ArtPlatform.Database/Migrations/20240128032946_yep.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class yep : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "StripeCustomerId", - table: "Users"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "StripeCustomerId", - table: "Users", - type: "text", - nullable: false, - defaultValue: ""); - } - } -} diff --git a/src/ArtPlatform.Database/Migrations/20240128214009_lmao.cs b/src/ArtPlatform.Database/Migrations/20240128214009_lmao.cs deleted file mode 100644 index 3c70185..0000000 --- a/src/ArtPlatform.Database/Migrations/20240128214009_lmao.cs +++ /dev/null @@ -1,172 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace ArtPlatform.Database.Migrations -{ - /// - public partial class lmao : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "SuspendAdminId", - table: "UserSellerProfiles", - type: "text", - nullable: true); - - migrationBuilder.AddColumn( - name: "Suspended", - table: "UserSellerProfiles", - type: "boolean", - nullable: false, - defaultValue: false); - - migrationBuilder.AddColumn( - name: "SuspendedDate", - table: "UserSellerProfiles", - type: "timestamp with time zone", - nullable: true); - - migrationBuilder.AddColumn( - name: "SuspendedReason", - table: "UserSellerProfiles", - type: "text", - nullable: true); - - migrationBuilder.AddColumn( - name: "UnsuspendDate", - table: "UserSellerProfiles", - type: "timestamp with time zone", - nullable: true); - - migrationBuilder.AddColumn( - name: "BanAdminId", - table: "Users", - type: "text", - nullable: true); - - migrationBuilder.AddColumn( - name: "Banned", - table: "Users", - type: "boolean", - nullable: false, - defaultValue: false); - - migrationBuilder.AddColumn( - name: "BannedDate", - table: "Users", - type: "timestamp with time zone", - nullable: true); - - migrationBuilder.AddColumn( - name: "BannedReason", - table: "Users", - type: "text", - nullable: true); - - migrationBuilder.AddColumn( - name: "SuspendAdminId", - table: "Users", - type: "text", - nullable: true); - - migrationBuilder.AddColumn( - name: "Suspended", - table: "Users", - type: "boolean", - nullable: false, - defaultValue: false); - - migrationBuilder.AddColumn( - name: "SuspendedDate", - table: "Users", - type: "timestamp with time zone", - nullable: true); - - migrationBuilder.AddColumn( - name: "SuspendedReason", - table: "Users", - type: "text", - nullable: true); - - migrationBuilder.AddColumn( - name: "UnbanDate", - table: "Users", - type: "timestamp with time zone", - nullable: true); - - migrationBuilder.AddColumn( - name: "UnsuspendDate", - table: "Users", - type: "timestamp with time zone", - nullable: true); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "SuspendAdminId", - table: "UserSellerProfiles"); - - migrationBuilder.DropColumn( - name: "Suspended", - table: "UserSellerProfiles"); - - migrationBuilder.DropColumn( - name: "SuspendedDate", - table: "UserSellerProfiles"); - - migrationBuilder.DropColumn( - name: "SuspendedReason", - table: "UserSellerProfiles"); - - migrationBuilder.DropColumn( - name: "UnsuspendDate", - table: "UserSellerProfiles"); - - 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"); - } - } -} diff --git a/src/ArtPlatform.API/Auth0.Login.CustomAction b/src/comissions.app.api/Auth0.Login.CustomAction similarity index 100% rename from src/ArtPlatform.API/Auth0.Login.CustomAction rename to src/comissions.app.api/Auth0.Login.CustomAction diff --git a/src/ArtPlatform.API/Controllers/Admin/AdminOrdersController.cs b/src/comissions.app.api/Controllers/Admin/AdminOrdersController.cs similarity index 94% rename from src/ArtPlatform.API/Controllers/Admin/AdminOrdersController.cs rename to src/comissions.app.api/Controllers/Admin/AdminOrdersController.cs index 4b3c664..0bc6200 100644 --- a/src/ArtPlatform.API/Controllers/Admin/AdminOrdersController.cs +++ b/src/comissions.app.api/Controllers/Admin/AdminOrdersController.cs @@ -1,12 +1,14 @@ -using ArtPlatform.API.Extensions; +using comissions.app.api.Extensions; using ArtPlatform.Database; using ArtPlatform.Database.Entities; -using ArtPlatform.Database.Enums; +using comissions.app.database; +using comissions.app.database.Entities; +using comissions.app.database.Enums; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Authorize("admin")] diff --git a/src/ArtPlatform.API/Controllers/Admin/AdminSellerRequestsController.cs b/src/comissions.app.api/Controllers/Admin/AdminSellerRequestsController.cs similarity index 94% rename from src/ArtPlatform.API/Controllers/Admin/AdminSellerRequestsController.cs rename to src/comissions.app.api/Controllers/Admin/AdminSellerRequestsController.cs index eb19127..e069cce 100644 --- a/src/ArtPlatform.API/Controllers/Admin/AdminSellerRequestsController.cs +++ b/src/comissions.app.api/Controllers/Admin/AdminSellerRequestsController.cs @@ -1,11 +1,13 @@ -using ArtPlatform.API.Models.SellerProfileRequest; +using comissions.app.api.Models.SellerProfileRequest; using ArtPlatform.Database; using ArtPlatform.Database.Entities; +using comissions.app.database; +using comissions.app.database.Entities; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Authorize("admin")] diff --git a/src/ArtPlatform.API/Controllers/Admin/AdminSellersController.cs b/src/comissions.app.api/Controllers/Admin/AdminSellersController.cs similarity index 97% rename from src/ArtPlatform.API/Controllers/Admin/AdminSellersController.cs rename to src/comissions.app.api/Controllers/Admin/AdminSellersController.cs index c6b6a02..4cddf5f 100644 --- a/src/ArtPlatform.API/Controllers/Admin/AdminSellersController.cs +++ b/src/comissions.app.api/Controllers/Admin/AdminSellersController.cs @@ -1,11 +1,12 @@ -using ArtPlatform.API.Extensions; +using comissions.app.api.Extensions; using ArtPlatform.Database; +using comissions.app.database; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Authorize("admin")] diff --git a/src/ArtPlatform.API/Controllers/Admin/AdminUsersController.cs b/src/comissions.app.api/Controllers/Admin/AdminUsersController.cs similarity index 97% rename from src/ArtPlatform.API/Controllers/Admin/AdminUsersController.cs rename to src/comissions.app.api/Controllers/Admin/AdminUsersController.cs index d210d76..05b61ff 100644 --- a/src/ArtPlatform.API/Controllers/Admin/AdminUsersController.cs +++ b/src/comissions.app.api/Controllers/Admin/AdminUsersController.cs @@ -1,10 +1,11 @@ -using ArtPlatform.API.Extensions; +using comissions.app.api.Extensions; using ArtPlatform.Database; +using comissions.app.database; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Authorize("admin")] diff --git a/src/ArtPlatform.API/Controllers/DiscoveryController.cs b/src/comissions.app.api/Controllers/DiscoveryController.cs similarity index 95% rename from src/ArtPlatform.API/Controllers/DiscoveryController.cs rename to src/comissions.app.api/Controllers/DiscoveryController.cs index d8a71d1..e1402c7 100644 --- a/src/ArtPlatform.API/Controllers/DiscoveryController.cs +++ b/src/comissions.app.api/Controllers/DiscoveryController.cs @@ -1,11 +1,12 @@ -using ArtPlatform.API.Models.Discovery; -using ArtPlatform.API.Models.SellerProfile; -using ArtPlatform.API.Models.SellerService; +using comissions.app.api.Models.SellerProfile; +using comissions.app.api.Models.SellerService; using ArtPlatform.Database; +using comissions.app.api.Models.Discovery; +using comissions.app.database; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Route("api/[controller]")] diff --git a/src/ArtPlatform.API/Controllers/OrderController.cs b/src/comissions.app.api/Controllers/OrderController.cs similarity index 98% rename from src/ArtPlatform.API/Controllers/OrderController.cs rename to src/comissions.app.api/Controllers/OrderController.cs index 267c0bc..8574f44 100644 --- a/src/ArtPlatform.API/Controllers/OrderController.cs +++ b/src/comissions.app.api/Controllers/OrderController.cs @@ -1,17 +1,19 @@ -using ArtPlatform.API.Extensions; -using ArtPlatform.API.Models.Order; -using ArtPlatform.API.Services.Payment; -using ArtPlatform.API.Services.Storage; +using comissions.app.api.Extensions; using ArtPlatform.Database; using ArtPlatform.Database.Entities; -using ArtPlatform.Database.Enums; +using comissions.app.api.Models.Order; +using comissions.app.api.Services.Payment; +using comissions.app.api.Services.Storage; +using comissions.app.database; +using comissions.app.database.Entities; +using comissions.app.database.Enums; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Stripe; using Stripe.Checkout; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Route("api/[controller]")] diff --git a/src/ArtPlatform.API/Controllers/SellerOrderController.cs b/src/comissions.app.api/Controllers/SellerOrderController.cs similarity index 98% rename from src/ArtPlatform.API/Controllers/SellerOrderController.cs rename to src/comissions.app.api/Controllers/SellerOrderController.cs index 9083d21..2dea081 100644 --- a/src/ArtPlatform.API/Controllers/SellerOrderController.cs +++ b/src/comissions.app.api/Controllers/SellerOrderController.cs @@ -1,14 +1,16 @@ -using ArtPlatform.API.Extensions; -using ArtPlatform.API.Models.Order; -using ArtPlatform.API.Services.Storage; +using comissions.app.api.Extensions; +using comissions.app.api.Models.Order; using ArtPlatform.Database; using ArtPlatform.Database.Entities; -using ArtPlatform.Database.Enums; +using comissions.app.api.Services.Storage; +using comissions.app.database; +using comissions.app.database.Entities; +using comissions.app.database.Enums; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Route("api/[controller]")] diff --git a/src/ArtPlatform.API/Controllers/SellerProfileController.cs b/src/comissions.app.api/Controllers/SellerProfileController.cs similarity index 97% rename from src/ArtPlatform.API/Controllers/SellerProfileController.cs rename to src/comissions.app.api/Controllers/SellerProfileController.cs index c4e26ed..fa7f8c5 100644 --- a/src/ArtPlatform.API/Controllers/SellerProfileController.cs +++ b/src/comissions.app.api/Controllers/SellerProfileController.cs @@ -1,15 +1,17 @@ -using ArtPlatform.API.Extensions; -using ArtPlatform.API.Models.PortfolioModel; -using ArtPlatform.API.Models.SellerProfile; -using ArtPlatform.API.Services.Payment; -using ArtPlatform.API.Services.Storage; +using comissions.app.api.Extensions; +using comissions.app.api.Models.PortfolioModel; using ArtPlatform.Database; using ArtPlatform.Database.Entities; +using comissions.app.api.Models.SellerProfile; +using comissions.app.api.Services.Payment; +using comissions.app.api.Services.Storage; +using comissions.app.database; +using comissions.app.database.Entities; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Route("api/[controller]")] diff --git a/src/ArtPlatform.API/Controllers/SellerServiceController.cs b/src/comissions.app.api/Controllers/SellerServiceController.cs similarity index 96% rename from src/ArtPlatform.API/Controllers/SellerServiceController.cs rename to src/comissions.app.api/Controllers/SellerServiceController.cs index 80f39a6..fd4b6cf 100644 --- a/src/ArtPlatform.API/Controllers/SellerServiceController.cs +++ b/src/comissions.app.api/Controllers/SellerServiceController.cs @@ -1,15 +1,17 @@ -using ArtPlatform.API.Extensions; -using ArtPlatform.API.Models.PortfolioModel; -using ArtPlatform.API.Models.SellerService; -using ArtPlatform.API.Services.Payment; -using ArtPlatform.API.Services.Storage; +using comissions.app.api.Extensions; +using comissions.app.api.Models.PortfolioModel; using ArtPlatform.Database; using ArtPlatform.Database.Entities; +using comissions.app.api.Models.SellerService; +using comissions.app.api.Services.Payment; +using comissions.app.api.Services.Storage; +using comissions.app.database; +using comissions.app.database.Entities; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Route("api/[controller]")] @@ -83,7 +85,7 @@ public class SellerServiceController : Controller if (_paymentService.SellerAccountIsOnboarded(seller.StripeAccountId) == false) return BadRequest("Account has not finished onboarding."); - var sellerService = new Database.Entities.SellerService() + var sellerService = new SellerService() { Name = model.Name, Description = model.Description, diff --git a/src/ArtPlatform.API/Controllers/UserController.cs b/src/comissions.app.api/Controllers/UserController.cs similarity index 89% rename from src/ArtPlatform.API/Controllers/UserController.cs rename to src/comissions.app.api/Controllers/UserController.cs index a4cf14e..06afdb4 100644 --- a/src/ArtPlatform.API/Controllers/UserController.cs +++ b/src/comissions.app.api/Controllers/UserController.cs @@ -1,12 +1,13 @@ using System.Security.Claims; -using ArtPlatform.API.Extensions; -using ArtPlatform.API.Models.User; +using comissions.app.api.Extensions; using ArtPlatform.Database; +using comissions.app.api.Models.User; +using comissions.app.database; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Controllers; +namespace comissions.app.api.Controllers; [ApiController] [Route("api/[controller]")] diff --git a/src/ArtPlatform.API/Dockerfile b/src/comissions.app.api/Dockerfile similarity index 100% rename from src/ArtPlatform.API/Dockerfile rename to src/comissions.app.api/Dockerfile diff --git a/src/ArtPlatform.API/Extensions/UserExtension.cs b/src/comissions.app.api/Extensions/UserExtension.cs similarity index 85% rename from src/ArtPlatform.API/Extensions/UserExtension.cs rename to src/comissions.app.api/Extensions/UserExtension.cs index acda01e..cb56c75 100644 --- a/src/ArtPlatform.API/Extensions/UserExtension.cs +++ b/src/comissions.app.api/Extensions/UserExtension.cs @@ -1,6 +1,6 @@ using System.Security.Claims; -namespace ArtPlatform.API.Extensions; +namespace comissions.app.api.Extensions; public static class UserExtension { diff --git a/src/ArtPlatform.API/Middleware/Authentication/HasScopeHandler.cs b/src/comissions.app.api/Middleware/Authentication/HasScopeHandler.cs similarity index 93% rename from src/ArtPlatform.API/Middleware/Authentication/HasScopeHandler.cs rename to src/comissions.app.api/Middleware/Authentication/HasScopeHandler.cs index 20e3095..8a74c94 100644 --- a/src/ArtPlatform.API/Middleware/Authentication/HasScopeHandler.cs +++ b/src/comissions.app.api/Middleware/Authentication/HasScopeHandler.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Authorization; -namespace ArtPlatform.API.Middleware.Authentication; +namespace comissions.app.api.Middleware.Authentication; public class HasScopeHandler : AuthorizationHandler { diff --git a/src/ArtPlatform.API/Middleware/Authentication/HasScopeRequirement.cs b/src/comissions.app.api/Middleware/Authentication/HasScopeRequirement.cs similarity index 87% rename from src/ArtPlatform.API/Middleware/Authentication/HasScopeRequirement.cs rename to src/comissions.app.api/Middleware/Authentication/HasScopeRequirement.cs index 715bb5d..f7eb55c 100644 --- a/src/ArtPlatform.API/Middleware/Authentication/HasScopeRequirement.cs +++ b/src/comissions.app.api/Middleware/Authentication/HasScopeRequirement.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Authorization; -namespace ArtPlatform.API.Middleware.Authentication; +namespace comissions.app.api.Middleware.Authentication; public class HasScopeRequirement : IAuthorizationRequirement { diff --git a/src/ArtPlatform.API/Middleware/UserMiddleware.cs b/src/comissions.app.api/Middleware/UserMiddleware.cs similarity index 96% rename from src/ArtPlatform.API/Middleware/UserMiddleware.cs rename to src/comissions.app.api/Middleware/UserMiddleware.cs index 9055fd9..3a3abae 100644 --- a/src/ArtPlatform.API/Middleware/UserMiddleware.cs +++ b/src/comissions.app.api/Middleware/UserMiddleware.cs @@ -1,10 +1,12 @@ using System.Security.Claims; -using ArtPlatform.API.Services.Payment; using ArtPlatform.Database; using ArtPlatform.Database.Entities; +using comissions.app.api.Services.Payment; +using comissions.app.database; +using comissions.app.database.Entities; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.API.Middleware; +namespace comissions.app.api.Middleware; public class UserMiddleware diff --git a/src/ArtPlatform.API/Models/Discovery/DiscoveryReviewModel.cs b/src/comissions.app.api/Models/Discovery/DiscoveryReviewModel.cs similarity index 78% rename from src/ArtPlatform.API/Models/Discovery/DiscoveryReviewModel.cs rename to src/comissions.app.api/Models/Discovery/DiscoveryReviewModel.cs index 97cc7a0..b1245b1 100644 --- a/src/ArtPlatform.API/Models/Discovery/DiscoveryReviewModel.cs +++ b/src/comissions.app.api/Models/Discovery/DiscoveryReviewModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.Discovery; +namespace comissions.app.api.Models.Discovery; public class DiscoveryReviewModel { diff --git a/src/ArtPlatform.API/Models/Discovery/DiscoverySellerModel.cs b/src/comissions.app.api/Models/Discovery/DiscoverySellerModel.cs similarity index 82% rename from src/ArtPlatform.API/Models/Discovery/DiscoverySellerModel.cs rename to src/comissions.app.api/Models/Discovery/DiscoverySellerModel.cs index b0963ac..48e1127 100644 --- a/src/ArtPlatform.API/Models/Discovery/DiscoverySellerModel.cs +++ b/src/comissions.app.api/Models/Discovery/DiscoverySellerModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.Discovery; +namespace comissions.app.api.Models.Discovery; public class DiscoverySellerModel { diff --git a/src/ArtPlatform.API/Models/Order/MessageModel.cs b/src/comissions.app.api/Models/Order/MessageModel.cs similarity index 84% rename from src/ArtPlatform.API/Models/Order/MessageModel.cs rename to src/comissions.app.api/Models/Order/MessageModel.cs index 441e939..13ab4c3 100644 --- a/src/ArtPlatform.API/Models/Order/MessageModel.cs +++ b/src/comissions.app.api/Models/Order/MessageModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.Order; +namespace comissions.app.api.Models.Order; public class MessageModel { diff --git a/src/ArtPlatform.API/Models/Order/MessageModelExtensions.cs b/src/comissions.app.api/Models/Order/MessageModelExtensions.cs similarity index 86% rename from src/ArtPlatform.API/Models/Order/MessageModelExtensions.cs rename to src/comissions.app.api/Models/Order/MessageModelExtensions.cs index d70ab84..6e5177a 100644 --- a/src/ArtPlatform.API/Models/Order/MessageModelExtensions.cs +++ b/src/comissions.app.api/Models/Order/MessageModelExtensions.cs @@ -1,6 +1,7 @@ using ArtPlatform.Database.Entities; +using comissions.app.database.Entities; -namespace ArtPlatform.API.Models.Order; +namespace comissions.app.api.Models.Order; public static class MessageModelExtensions { diff --git a/src/ArtPlatform.API/Models/Order/OrderModel.cs b/src/comissions.app.api/Models/Order/OrderModel.cs similarity index 82% rename from src/ArtPlatform.API/Models/Order/OrderModel.cs rename to src/comissions.app.api/Models/Order/OrderModel.cs index fc4c0e2..a416a1d 100644 --- a/src/ArtPlatform.API/Models/Order/OrderModel.cs +++ b/src/comissions.app.api/Models/Order/OrderModel.cs @@ -1,6 +1,6 @@ -using ArtPlatform.Database.Enums; +using comissions.app.database.Enums; -namespace ArtPlatform.API.Models.Order; +namespace comissions.app.api.Models.Order; public class OrderModel { diff --git a/src/ArtPlatform.API/Models/Order/OrderModelExtensions.cs b/src/comissions.app.api/Models/Order/OrderModelExtensions.cs similarity index 86% rename from src/ArtPlatform.API/Models/Order/OrderModelExtensions.cs rename to src/comissions.app.api/Models/Order/OrderModelExtensions.cs index da8d6ef..11fef1b 100644 --- a/src/ArtPlatform.API/Models/Order/OrderModelExtensions.cs +++ b/src/comissions.app.api/Models/Order/OrderModelExtensions.cs @@ -1,6 +1,7 @@ using ArtPlatform.Database.Entities; + using comissions.app.database.Entities; -namespace ArtPlatform.API.Models.Order; + namespace comissions.app.api.Models.Order; public static class OrderModelExtensions { diff --git a/src/ArtPlatform.Database/Entities/SellerServiceOrderMessageModel.cs b/src/comissions.app.api/Models/Order/SellerServiceOrderMessageModel.cs similarity index 100% rename from src/ArtPlatform.Database/Entities/SellerServiceOrderMessageModel.cs rename to src/comissions.app.api/Models/Order/SellerServiceOrderMessageModel.cs diff --git a/src/ArtPlatform.API/Models/Order/SellerServiceOrderReviewModel.cs b/src/comissions.app.api/Models/Order/SellerServiceOrderReviewModel.cs similarity index 74% rename from src/ArtPlatform.API/Models/Order/SellerServiceOrderReviewModel.cs rename to src/comissions.app.api/Models/Order/SellerServiceOrderReviewModel.cs index 2fae51d..6d96afc 100644 --- a/src/ArtPlatform.API/Models/Order/SellerServiceOrderReviewModel.cs +++ b/src/comissions.app.api/Models/Order/SellerServiceOrderReviewModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.Order; +namespace comissions.app.api.Models.Order; public class SellerServiceOrderReviewModel { diff --git a/src/ArtPlatform.API/Models/PortfolioModel/PortfolioModel.cs b/src/comissions.app.api/Models/PortfolioModel/PortfolioModel.cs similarity index 67% rename from src/ArtPlatform.API/Models/PortfolioModel/PortfolioModel.cs rename to src/comissions.app.api/Models/PortfolioModel/PortfolioModel.cs index 09849c5..b9b2b1f 100644 --- a/src/ArtPlatform.API/Models/PortfolioModel/PortfolioModel.cs +++ b/src/comissions.app.api/Models/PortfolioModel/PortfolioModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.PortfolioModel; +namespace comissions.app.api.Models.PortfolioModel; public class PortfolioModel { diff --git a/src/ArtPlatform.API/Models/PortfolioModel/PortfolioModelExtensions.cs b/src/comissions.app.api/Models/PortfolioModel/PortfolioModelExtensions.cs similarity index 50% rename from src/ArtPlatform.API/Models/PortfolioModel/PortfolioModelExtensions.cs rename to src/comissions.app.api/Models/PortfolioModel/PortfolioModelExtensions.cs index ee39092..ee5b97e 100644 --- a/src/ArtPlatform.API/Models/PortfolioModel/PortfolioModelExtensions.cs +++ b/src/comissions.app.api/Models/PortfolioModel/PortfolioModelExtensions.cs @@ -1,8 +1,11 @@ -namespace ArtPlatform.API.Models.PortfolioModel; +using ArtPlatform.Database.Entities; +using comissions.app.database.Entities; + +namespace comissions.app.api.Models.PortfolioModel; public static class PortfolioModelExtensions { - public static PortfolioModel ToModel(this Database.Entities.SellerProfilePortfolioPiece sellerProfileRequest) + public static PortfolioModel ToModel(this SellerProfilePortfolioPiece sellerProfileRequest) { return new PortfolioModel() { diff --git a/src/ArtPlatform.API/Models/SellerProfile/SellerProfileModel.cs b/src/comissions.app.api/Models/SellerProfile/SellerProfileModel.cs similarity index 78% rename from src/ArtPlatform.API/Models/SellerProfile/SellerProfileModel.cs rename to src/comissions.app.api/Models/SellerProfile/SellerProfileModel.cs index 64db216..db281b1 100644 --- a/src/ArtPlatform.API/Models/SellerProfile/SellerProfileModel.cs +++ b/src/comissions.app.api/Models/SellerProfile/SellerProfileModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.SellerProfile; +namespace comissions.app.api.Models.SellerProfile; public class SellerProfileModel { diff --git a/src/ArtPlatform.API/Models/SellerProfile/SellerProfileModelExtensions.cs b/src/comissions.app.api/Models/SellerProfile/SellerProfileModelExtensions.cs similarity index 90% rename from src/ArtPlatform.API/Models/SellerProfile/SellerProfileModelExtensions.cs rename to src/comissions.app.api/Models/SellerProfile/SellerProfileModelExtensions.cs index e50bcee..6be2953 100644 --- a/src/ArtPlatform.API/Models/SellerProfile/SellerProfileModelExtensions.cs +++ b/src/comissions.app.api/Models/SellerProfile/SellerProfileModelExtensions.cs @@ -1,7 +1,8 @@ -using ArtPlatform.API.Models.Discovery; using ArtPlatform.Database.Entities; +using comissions.app.api.Models.Discovery; +using comissions.app.database.Entities; -namespace ArtPlatform.API.Models.SellerProfile; +namespace comissions.app.api.Models.SellerProfile; public static class SellerProfileModelExtensions { diff --git a/src/ArtPlatform.API/Models/SellerProfileRequest/SellerProfileRequestModel.cs b/src/comissions.app.api/Models/SellerProfileRequest/SellerProfileRequestModel.cs similarity index 63% rename from src/ArtPlatform.API/Models/SellerProfileRequest/SellerProfileRequestModel.cs rename to src/comissions.app.api/Models/SellerProfileRequest/SellerProfileRequestModel.cs index bb2735a..dd42ca4 100644 --- a/src/ArtPlatform.API/Models/SellerProfileRequest/SellerProfileRequestModel.cs +++ b/src/comissions.app.api/Models/SellerProfileRequest/SellerProfileRequestModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.SellerProfileRequest; +namespace comissions.app.api.Models.SellerProfileRequest; public class SellerProfileRequestModel { @@ -7,5 +7,5 @@ public class SellerProfileRequestModel public string UserId { get; set; } public bool Accepted { get; set; } - public virtual Database.Entities.User User { get; set; } = null!; + public virtual database.Entities.User User { get; set; } = null!; } \ No newline at end of file diff --git a/src/ArtPlatform.API/Models/SellerProfileRequest/SellerProfileRequestModelExtensions.cs b/src/comissions.app.api/Models/SellerProfileRequest/SellerProfileRequestModelExtensions.cs similarity index 76% rename from src/ArtPlatform.API/Models/SellerProfileRequest/SellerProfileRequestModelExtensions.cs rename to src/comissions.app.api/Models/SellerProfileRequest/SellerProfileRequestModelExtensions.cs index b9e0ec6..b1e9f9b 100644 --- a/src/ArtPlatform.API/Models/SellerProfileRequest/SellerProfileRequestModelExtensions.cs +++ b/src/comissions.app.api/Models/SellerProfileRequest/SellerProfileRequestModelExtensions.cs @@ -1,8 +1,8 @@ -namespace ArtPlatform.API.Models.SellerProfileRequest; +namespace comissions.app.api.Models.SellerProfileRequest; public static class SellerProfileRequestModelExtensions { - public static SellerProfileRequestModel ToModel(this Database.Entities.SellerProfileRequest sellerProfileRequest) + public static SellerProfileRequestModel ToModel(this database.Entities.SellerProfileRequest sellerProfileRequest) { return new SellerProfileRequestModel() { diff --git a/src/ArtPlatform.API/Models/SellerService/SellerServiceCreateModel.cs b/src/comissions.app.api/Models/SellerService/SellerServiceCreateModel.cs similarity index 75% rename from src/ArtPlatform.API/Models/SellerService/SellerServiceCreateModel.cs rename to src/comissions.app.api/Models/SellerService/SellerServiceCreateModel.cs index 354871e..f3b66c1 100644 --- a/src/ArtPlatform.API/Models/SellerService/SellerServiceCreateModel.cs +++ b/src/comissions.app.api/Models/SellerService/SellerServiceCreateModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.SellerService; +namespace comissions.app.api.Models.SellerService; public class SellerServiceCreateModel { diff --git a/src/ArtPlatform.API/Models/SellerService/SellerServiceModel.cs b/src/comissions.app.api/Models/SellerService/SellerServiceModel.cs similarity index 85% rename from src/ArtPlatform.API/Models/SellerService/SellerServiceModel.cs rename to src/comissions.app.api/Models/SellerService/SellerServiceModel.cs index 263160f..e89a857 100644 --- a/src/ArtPlatform.API/Models/SellerService/SellerServiceModel.cs +++ b/src/comissions.app.api/Models/SellerService/SellerServiceModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.SellerService; +namespace comissions.app.api.Models.SellerService; public class SellerServiceModel { diff --git a/src/ArtPlatform.API/Models/SellerService/SellerServiceModelExtensions.cs b/src/comissions.app.api/Models/SellerService/SellerServiceModelExtensions.cs similarity index 86% rename from src/ArtPlatform.API/Models/SellerService/SellerServiceModelExtensions.cs rename to src/comissions.app.api/Models/SellerService/SellerServiceModelExtensions.cs index f5166be..092c38c 100644 --- a/src/ArtPlatform.API/Models/SellerService/SellerServiceModelExtensions.cs +++ b/src/comissions.app.api/Models/SellerService/SellerServiceModelExtensions.cs @@ -1,9 +1,9 @@ -namespace ArtPlatform.API.Models.SellerService; +namespace comissions.app.api.Models.SellerService; public static class SellerServiceModelExtensions { - public static SellerServiceModel ToModel(this Database.Entities.SellerService sellerProfileRequest) + public static SellerServiceModel ToModel(this database.Entities.SellerService sellerProfileRequest) { double avgRating = 0; int reviewCount = 0; diff --git a/src/ArtPlatform.API/Models/SellerService/SellerServiceUpdateModel.cs b/src/comissions.app.api/Models/SellerService/SellerServiceUpdateModel.cs similarity index 75% rename from src/ArtPlatform.API/Models/SellerService/SellerServiceUpdateModel.cs rename to src/comissions.app.api/Models/SellerService/SellerServiceUpdateModel.cs index f6208ee..8b46e7b 100644 --- a/src/ArtPlatform.API/Models/SellerService/SellerServiceUpdateModel.cs +++ b/src/comissions.app.api/Models/SellerService/SellerServiceUpdateModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.SellerService; +namespace comissions.app.api.Models.SellerService; public class SellerServiceUpdateModel { diff --git a/src/ArtPlatform.API/Models/User/UserInfoModel.cs b/src/comissions.app.api/Models/User/UserInfoModel.cs similarity index 85% rename from src/ArtPlatform.API/Models/User/UserInfoModel.cs rename to src/comissions.app.api/Models/User/UserInfoModel.cs index 4dd9e02..5a425d2 100644 --- a/src/ArtPlatform.API/Models/User/UserInfoModel.cs +++ b/src/comissions.app.api/Models/User/UserInfoModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.User; +namespace comissions.app.api.Models.User; public class UserInfoModel { diff --git a/src/ArtPlatform.API/Models/User/UserInfoModelExtensions.cs b/src/comissions.app.api/Models/User/UserInfoModelExtensions.cs similarity index 63% rename from src/ArtPlatform.API/Models/User/UserInfoModelExtensions.cs rename to src/comissions.app.api/Models/User/UserInfoModelExtensions.cs index 97c2ca7..3eff83d 100644 --- a/src/ArtPlatform.API/Models/User/UserInfoModelExtensions.cs +++ b/src/comissions.app.api/Models/User/UserInfoModelExtensions.cs @@ -1,8 +1,8 @@ -namespace ArtPlatform.API.Models.User; +namespace comissions.app.api.Models.User; public static class UserInfoModelExtensions { - public static UserInfoModel ToModel(this Database.Entities.User user) + public static UserInfoModel ToModel(this database.Entities.User user) { return new() { @@ -12,7 +12,7 @@ public static class UserInfoModelExtensions Email = user.Email }; } - public static Database.Entities.User ToEntity(this UserInfoUpdateModel user, Database.Entities.User existingUser) + public static database.Entities.User ToEntity(this UserInfoUpdateModel user, database.Entities.User existingUser) { existingUser.DisplayName = user.DisplayName; existingUser.Biography = user.Biography; diff --git a/src/ArtPlatform.API/Models/User/UserInfoUpdateModel.cs b/src/comissions.app.api/Models/User/UserInfoUpdateModel.cs similarity index 78% rename from src/ArtPlatform.API/Models/User/UserInfoUpdateModel.cs rename to src/comissions.app.api/Models/User/UserInfoUpdateModel.cs index 5e65a53..66ae99a 100644 --- a/src/ArtPlatform.API/Models/User/UserInfoUpdateModel.cs +++ b/src/comissions.app.api/Models/User/UserInfoUpdateModel.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Models.User; +namespace comissions.app.api.Models.User; public class UserInfoUpdateModel { diff --git a/src/ArtPlatform.API/Program.cs b/src/comissions.app.api/Program.cs similarity index 97% rename from src/ArtPlatform.API/Program.cs rename to src/comissions.app.api/Program.cs index d5cafed..a725f8f 100644 --- a/src/ArtPlatform.API/Program.cs +++ b/src/comissions.app.api/Program.cs @@ -1,11 +1,12 @@ using System.Reflection; using System.Security.Claims; -using ArtPlatform.API.Middleware; -using ArtPlatform.API.Middleware.Authentication; -using ArtPlatform.API.Services.Payment; -using ArtPlatform.API.Services.Storage; +using comissions.app.api.Middleware; +using comissions.app.api.Middleware.Authentication; +using comissions.app.api.Services.Payment; +using comissions.app.api.Services.Storage; using ArtPlatform.Database; using Auth0.AspNetCore.Authentication; +using comissions.app.database; using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authorization; using Microsoft.Extensions.FileProviders; diff --git a/src/ArtPlatform.API/Properties/launchSettings.json b/src/comissions.app.api/Properties/launchSettings.json similarity index 100% rename from src/ArtPlatform.API/Properties/launchSettings.json rename to src/comissions.app.api/Properties/launchSettings.json diff --git a/src/ArtPlatform.API/Services/Payment/IPaymentService.cs b/src/comissions.app.api/Services/Payment/IPaymentService.cs similarity index 88% rename from src/ArtPlatform.API/Services/Payment/IPaymentService.cs rename to src/comissions.app.api/Services/Payment/IPaymentService.cs index 9ce4070..e5804cc 100644 --- a/src/ArtPlatform.API/Services/Payment/IPaymentService.cs +++ b/src/comissions.app.api/Services/Payment/IPaymentService.cs @@ -1,6 +1,6 @@ using ArtPlatform.Database.Entities; -namespace ArtPlatform.API.Services.Payment; +namespace comissions.app.api.Services.Payment; public interface IPaymentService { diff --git a/src/ArtPlatform.API/Services/Payment/StripePaymentServiceProvider.cs b/src/comissions.app.api/Services/Payment/StripePaymentServiceProvider.cs similarity index 99% rename from src/ArtPlatform.API/Services/Payment/StripePaymentServiceProvider.cs rename to src/comissions.app.api/Services/Payment/StripePaymentServiceProvider.cs index 06a890a..252a7c6 100644 --- a/src/ArtPlatform.API/Services/Payment/StripePaymentServiceProvider.cs +++ b/src/comissions.app.api/Services/Payment/StripePaymentServiceProvider.cs @@ -1,7 +1,7 @@ using ArtPlatform.Database.Entities; using Stripe; -namespace ArtPlatform.API.Services.Payment; +namespace comissions.app.api.Services.Payment; public class StripePaymentServiceProvider:IPaymentService { diff --git a/src/ArtPlatform.API/Services/Storage/IStorageService.cs b/src/comissions.app.api/Services/Storage/IStorageService.cs similarity index 79% rename from src/ArtPlatform.API/Services/Storage/IStorageService.cs rename to src/comissions.app.api/Services/Storage/IStorageService.cs index e44de28..905e4b6 100644 --- a/src/ArtPlatform.API/Services/Storage/IStorageService.cs +++ b/src/comissions.app.api/Services/Storage/IStorageService.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.API.Services.Storage; +namespace comissions.app.api.Services.Storage; public interface IStorageService { diff --git a/src/ArtPlatform.API/Services/Storage/ImgCdnStorageServiceProvider.cs b/src/comissions.app.api/Services/Storage/ImgCdnStorageServiceProvider.cs similarity index 97% rename from src/ArtPlatform.API/Services/Storage/ImgCdnStorageServiceProvider.cs rename to src/comissions.app.api/Services/Storage/ImgCdnStorageServiceProvider.cs index be8e58c..b92ddac 100644 --- a/src/ArtPlatform.API/Services/Storage/ImgCdnStorageServiceProvider.cs +++ b/src/comissions.app.api/Services/Storage/ImgCdnStorageServiceProvider.cs @@ -3,7 +3,7 @@ using System.Text.Json; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; -namespace ArtPlatform.API.Services.Storage +namespace comissions.app.api.Services.Storage { public class ImgCdnStorageServiceProvider : IStorageService { diff --git a/src/ArtPlatform.API/appsettings.Development.json b/src/comissions.app.api/appsettings.Development.json similarity index 100% rename from src/ArtPlatform.API/appsettings.Development.json rename to src/comissions.app.api/appsettings.Development.json diff --git a/src/ArtPlatform.API/appsettings.json b/src/comissions.app.api/appsettings.json similarity index 100% rename from src/ArtPlatform.API/appsettings.json rename to src/comissions.app.api/appsettings.json diff --git a/src/ArtPlatform.API/ArtPlatform.API.csproj b/src/comissions.app.api/comissions.app.api.csproj similarity index 93% rename from src/ArtPlatform.API/ArtPlatform.API.csproj rename to src/comissions.app.api/comissions.app.api.csproj index 21e1d93..0538edb 100644 --- a/src/ArtPlatform.API/ArtPlatform.API.csproj +++ b/src/comissions.app.api/comissions.app.api.csproj @@ -30,7 +30,7 @@ - + diff --git a/src/ArtPlatform.Database.Migrator/Program.cs b/src/comissions.app.database.migrator/Program.cs similarity index 100% rename from src/ArtPlatform.Database.Migrator/Program.cs rename to src/comissions.app.database.migrator/Program.cs diff --git a/src/ArtPlatform.Database.Migrator/ArtPlatform.Database.Migrator.csproj b/src/comissions.app.database.migrator/comissions.app.database.migrator.csproj similarity index 100% rename from src/ArtPlatform.Database.Migrator/ArtPlatform.Database.Migrator.csproj rename to src/comissions.app.database.migrator/comissions.app.database.migrator.csproj diff --git a/src/ArtPlatform.Database/ApplicationDatabaseConfigurationModel.cs b/src/comissions.app.database/ApplicationDatabaseConfigurationModel.cs similarity index 95% rename from src/ArtPlatform.Database/ApplicationDatabaseConfigurationModel.cs rename to src/comissions.app.database/ApplicationDatabaseConfigurationModel.cs index 654af2f..a72a6f2 100644 --- a/src/ArtPlatform.Database/ApplicationDatabaseConfigurationModel.cs +++ b/src/comissions.app.database/ApplicationDatabaseConfigurationModel.cs @@ -1,7 +1,7 @@ using Microsoft.Extensions.Configuration; -namespace ArtPlatform.Database; +namespace comissions.app.database; public class ApplicationDatabaseConfigurationModel { diff --git a/src/ArtPlatform.Database/ApplicationDbContext.cs b/src/comissions.app.database/ApplicationDbContext.cs similarity index 95% rename from src/ArtPlatform.Database/ApplicationDbContext.cs rename to src/comissions.app.database/ApplicationDbContext.cs index a8ccccb..3311571 100644 --- a/src/ArtPlatform.Database/ApplicationDbContext.cs +++ b/src/comissions.app.database/ApplicationDbContext.cs @@ -1,8 +1,8 @@ -using ArtPlatform.Database.Entities; +using comissions.app.database.Entities; using Microsoft.EntityFrameworkCore; using Npgsql; -namespace ArtPlatform.Database; +namespace comissions.app.database; public class ApplicationDbContext:DbContext { diff --git a/src/ArtPlatform.Database/Entities/SellerProfilePortfolioPiece.cs b/src/comissions.app.database/Entities/SellerProfilePortfolioPiece.cs similarity index 77% rename from src/ArtPlatform.Database/Entities/SellerProfilePortfolioPiece.cs rename to src/comissions.app.database/Entities/SellerProfilePortfolioPiece.cs index 2e2f889..0677bec 100644 --- a/src/ArtPlatform.Database/Entities/SellerProfilePortfolioPiece.cs +++ b/src/comissions.app.database/Entities/SellerProfilePortfolioPiece.cs @@ -1,10 +1,10 @@ -namespace ArtPlatform.Database.Entities; +namespace comissions.app.database.Entities; public class SellerProfilePortfolioPiece { public int Id { get; set; } public int SellerProfileId { get; set; } - public string? FileReference { get; set; } + public string FileReference { get; set; } public int? SellerServiceId { get; set; } public virtual SellerService SellerService { get; set; } = null!; public virtual UserSellerProfile SellerProfile { get; set; } = null!; diff --git a/src/ArtPlatform.Database/Entities/SellerProfileRequest.cs b/src/comissions.app.database/Entities/SellerProfileRequest.cs similarity index 87% rename from src/ArtPlatform.Database/Entities/SellerProfileRequest.cs rename to src/comissions.app.database/Entities/SellerProfileRequest.cs index 88fc79f..9d2df4b 100644 --- a/src/ArtPlatform.Database/Entities/SellerProfileRequest.cs +++ b/src/comissions.app.database/Entities/SellerProfileRequest.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.Database.Entities; +namespace comissions.app.database.Entities; public class SellerProfileRequest { diff --git a/src/ArtPlatform.Database/Entities/SellerService.cs b/src/comissions.app.database/Entities/SellerService.cs similarity index 93% rename from src/ArtPlatform.Database/Entities/SellerService.cs rename to src/comissions.app.database/Entities/SellerService.cs index a446729..06887ba 100644 --- a/src/ArtPlatform.Database/Entities/SellerService.cs +++ b/src/comissions.app.database/Entities/SellerService.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.Database.Entities; +namespace comissions.app.database.Entities; public class SellerService { diff --git a/src/ArtPlatform.Database/Entities/SellerServiceOrder.cs b/src/comissions.app.database/Entities/SellerServiceOrder.cs similarity index 91% rename from src/ArtPlatform.Database/Entities/SellerServiceOrder.cs rename to src/comissions.app.database/Entities/SellerServiceOrder.cs index 1bfb8f8..5b9b637 100644 --- a/src/ArtPlatform.Database/Entities/SellerServiceOrder.cs +++ b/src/comissions.app.database/Entities/SellerServiceOrder.cs @@ -1,6 +1,6 @@ -using ArtPlatform.Database.Enums; +using comissions.app.database.Enums; -namespace ArtPlatform.Database.Entities; +namespace comissions.app.database.Entities; public class SellerServiceOrder { diff --git a/src/ArtPlatform.Database/Entities/SellerServiceOrderMessage.cs b/src/comissions.app.database/Entities/SellerServiceOrderMessage.cs similarity index 91% rename from src/ArtPlatform.Database/Entities/SellerServiceOrderMessage.cs rename to src/comissions.app.database/Entities/SellerServiceOrderMessage.cs index 462a754..8ac716f 100644 --- a/src/ArtPlatform.Database/Entities/SellerServiceOrderMessage.cs +++ b/src/comissions.app.database/Entities/SellerServiceOrderMessage.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.Database.Entities; +namespace comissions.app.database.Entities; public class SellerServiceOrderMessage { diff --git a/src/ArtPlatform.Database/Entities/SellerServiceOrderMessageAttachment.cs b/src/comissions.app.database/Entities/SellerServiceOrderMessageAttachment.cs similarity index 87% rename from src/ArtPlatform.Database/Entities/SellerServiceOrderMessageAttachment.cs rename to src/comissions.app.database/Entities/SellerServiceOrderMessageAttachment.cs index 5b95634..259b381 100644 --- a/src/ArtPlatform.Database/Entities/SellerServiceOrderMessageAttachment.cs +++ b/src/comissions.app.database/Entities/SellerServiceOrderMessageAttachment.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.Database.Entities; +namespace comissions.app.database.Entities; public class SellerServiceOrderMessageAttachment { diff --git a/src/ArtPlatform.Database/Entities/SellerServiceOrderReview.cs b/src/comissions.app.database/Entities/SellerServiceOrderReview.cs similarity index 92% rename from src/ArtPlatform.Database/Entities/SellerServiceOrderReview.cs rename to src/comissions.app.database/Entities/SellerServiceOrderReview.cs index 68a5c0a..335173e 100644 --- a/src/ArtPlatform.Database/Entities/SellerServiceOrderReview.cs +++ b/src/comissions.app.database/Entities/SellerServiceOrderReview.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.Database.Entities; +namespace comissions.app.database.Entities; public class SellerServiceOrderReview { diff --git a/src/ArtPlatform.Database/Entities/User.cs b/src/comissions.app.database/Entities/User.cs similarity index 95% rename from src/ArtPlatform.Database/Entities/User.cs rename to src/comissions.app.database/Entities/User.cs index 26b8d42..fbecb73 100644 --- a/src/ArtPlatform.Database/Entities/User.cs +++ b/src/comissions.app.database/Entities/User.cs @@ -1,7 +1,7 @@ using System.Text.Json.Serialization; using Microsoft.EntityFrameworkCore; -namespace ArtPlatform.Database.Entities; +namespace comissions.app.database.Entities; [PrimaryKey(nameof(Id))] public record User diff --git a/src/ArtPlatform.Database/Entities/UserSellerProfile.cs b/src/comissions.app.database/Entities/UserSellerProfile.cs similarity index 95% rename from src/ArtPlatform.Database/Entities/UserSellerProfile.cs rename to src/comissions.app.database/Entities/UserSellerProfile.cs index 0124460..af867e9 100644 --- a/src/ArtPlatform.Database/Entities/UserSellerProfile.cs +++ b/src/comissions.app.database/Entities/UserSellerProfile.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations.Schema; -namespace ArtPlatform.Database.Entities; +namespace comissions.app.database.Entities; public record UserSellerProfile { @@ -12,13 +12,11 @@ public record UserSellerProfile public bool AgeRestricted { get; set; } public string? StripeAccountId { get; set; } public bool PrepaymentRequired { get; set; } = false; - public bool Suspended { get; set; } = false; public DateTime? SuspendedDate { get; set; } public DateTime? UnsuspendDate { get; set; } public string? SuspendedReason { get; set; } public string? SuspendAdminId { get; set; } - public virtual User User { get; set; } = null!; public virtual ICollection SellerServices { get; set; } = new List(); diff --git a/src/ArtPlatform.Database/Enums/EnumOrderStatus.cs b/src/comissions.app.database/Enums/EnumOrderStatus.cs similarity index 81% rename from src/ArtPlatform.Database/Enums/EnumOrderStatus.cs rename to src/comissions.app.database/Enums/EnumOrderStatus.cs index db9819c..b8d1ceb 100644 --- a/src/ArtPlatform.Database/Enums/EnumOrderStatus.cs +++ b/src/comissions.app.database/Enums/EnumOrderStatus.cs @@ -1,4 +1,4 @@ -namespace ArtPlatform.Database.Enums; +namespace comissions.app.database.Enums; public enum EnumOrderStatus { diff --git a/src/ArtPlatform.Database/Migrations/20240128214009_lmao.Designer.cs b/src/comissions.app.database/Migrations/20240129231515_0.0.1.Designer.cs similarity index 98% rename from src/ArtPlatform.Database/Migrations/20240128214009_lmao.Designer.cs rename to src/comissions.app.database/Migrations/20240129231515_0.0.1.Designer.cs index 891fedf..8f5961e 100644 --- a/src/ArtPlatform.Database/Migrations/20240128214009_lmao.Designer.cs +++ b/src/comissions.app.database/Migrations/20240129231515_0.0.1.Designer.cs @@ -1,7 +1,6 @@ // using System; using System.Collections.Generic; -using ArtPlatform.Database; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; @@ -10,11 +9,11 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable -namespace ArtPlatform.Database.Migrations +namespace comissions.app.database.Migrations { [DbContext(typeof(ApplicationDbContext))] - [Migration("20240128214009_lmao")] - partial class lmao + [Migration("20240129231515_0.0.1")] + partial class _001 { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -35,6 +34,7 @@ namespace ArtPlatform.Database.Migrations NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("FileReference") + .IsRequired() .HasColumnType("text"); b.Property("SellerProfileId") @@ -88,6 +88,9 @@ namespace ArtPlatform.Database.Migrations NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + b.Property("Archived") + .HasColumnType("boolean"); + b.Property("Description") .IsRequired() .HasColumnType("text"); diff --git a/src/ArtPlatform.Database/Migrations/20240127055416_Initial.cs b/src/comissions.app.database/Migrations/20240129231515_0.0.1.cs similarity index 72% rename from src/ArtPlatform.Database/Migrations/20240127055416_Initial.cs rename to src/comissions.app.database/Migrations/20240129231515_0.0.1.cs index 64344e5..b151620 100644 --- a/src/ArtPlatform.Database/Migrations/20240127055416_Initial.cs +++ b/src/comissions.app.database/Migrations/20240129231515_0.0.1.cs @@ -1,32 +1,18 @@ using System; +using System.Collections.Generic; using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable -namespace ArtPlatform.Database.Migrations +namespace comissions.app.database.Migrations { /// - public partial class Initial : Migration + public partial class _001 : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { - migrationBuilder.CreateTable( - name: "SellerSettings", - columns: table => new - { - Id = table.Column(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - Name = table.Column(type: "text", nullable: false), - Description = table.Column(type: "text", nullable: false), - DefaultValue = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_SellerSettings", x => x.Id); - }); - migrationBuilder.CreateTable( name: "Users", columns: table => new @@ -36,20 +22,44 @@ namespace ArtPlatform.Database.Migrations Biography = table.Column(type: "text", nullable: false), Email = table.Column(type: "text", nullable: false), UserSellerProfileId = table.Column(type: "integer", nullable: true), - FirstName = table.Column(type: "text", nullable: false), - LastName = table.Column(type: "text", nullable: false), - AddressCountry = table.Column(type: "text", nullable: false), - AddressCity = table.Column(type: "text", nullable: false), - AddressStreet = table.Column(type: "text", nullable: false), - AddressHouseNumber = table.Column(type: "text", nullable: false), - AddressPostalCode = table.Column(type: "text", nullable: false), - AddressRegion = table.Column(type: "text", nullable: false) + Banned = table.Column(type: "boolean", nullable: false), + BannedDate = table.Column(type: "timestamp with time zone", nullable: true), + UnbanDate = table.Column(type: "timestamp with time zone", nullable: true), + BannedReason = table.Column(type: "text", nullable: true), + BanAdminId = table.Column(type: "text", nullable: true), + Suspended = table.Column(type: "boolean", nullable: false), + SuspendedDate = table.Column(type: "timestamp with time zone", nullable: true), + UnsuspendDate = table.Column(type: "timestamp with time zone", nullable: true), + SuspendedReason = table.Column(type: "text", nullable: true), + SuspendAdminId = table.Column(type: "text", nullable: true) }, constraints: table => { table.PrimaryKey("PK_Users", x => x.Id); }); + migrationBuilder.CreateTable( + name: "SellerProfileRequests", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + UserId = table.Column(type: "text", nullable: false), + RequestDate = table.Column(type: "timestamp with time zone", nullable: false), + AcceptedDate = table.Column(type: "timestamp with time zone", nullable: true), + Accepted = table.Column(type: "boolean", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_SellerProfileRequests", x => x.Id); + table.ForeignKey( + name: "FK_SellerProfileRequests_Users_UserId", + column: x => x.UserId, + principalTable: "Users", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + migrationBuilder.CreateTable( name: "UserSellerProfiles", columns: table => new @@ -57,7 +67,16 @@ namespace ArtPlatform.Database.Migrations Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), UserId = table.Column(type: "text", nullable: false), - AgeRestricted = table.Column(type: "boolean", nullable: false) + Biography = table.Column(type: "text", nullable: false), + SocialMediaLinks = table.Column>(type: "text[]", nullable: false), + AgeRestricted = table.Column(type: "boolean", nullable: false), + StripeAccountId = table.Column(type: "text", nullable: true), + PrepaymentRequired = table.Column(type: "boolean", nullable: false), + Suspended = table.Column(type: "boolean", nullable: false), + SuspendedDate = table.Column(type: "timestamp with time zone", nullable: true), + UnsuspendDate = table.Column(type: "timestamp with time zone", nullable: true), + SuspendedReason = table.Column(type: "text", nullable: true), + SuspendAdminId = table.Column(type: "text", nullable: true) }, constraints: table => { @@ -71,27 +90,23 @@ namespace ArtPlatform.Database.Migrations }); migrationBuilder.CreateTable( - name: "SellerConfiguredSettings", + name: "SellerServices", columns: table => new { Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - UserSellerProfileId = table.Column(type: "integer", nullable: false), - UserSellerSettingId = table.Column(type: "integer", nullable: false), - SellerSettingId = table.Column(type: "integer", nullable: false) + SellerProfileId = table.Column(type: "integer", nullable: false), + Name = table.Column(type: "text", nullable: false), + Description = table.Column(type: "text", nullable: false), + Price = table.Column(type: "double precision", nullable: false), + Archived = table.Column(type: "boolean", nullable: false) }, constraints: table => { - table.PrimaryKey("PK_SellerConfiguredSettings", x => x.Id); + table.PrimaryKey("PK_SellerServices", x => x.Id); table.ForeignKey( - name: "FK_SellerConfiguredSettings_SellerSettings_SellerSettingId", - column: x => x.SellerSettingId, - principalTable: "SellerSettings", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_SellerConfiguredSettings_UserSellerProfiles_UserSellerProfi~", - column: x => x.UserSellerProfileId, + name: "FK_SellerServices_UserSellerProfiles_SellerProfileId", + column: x => x.SellerProfileId, principalTable: "UserSellerProfiles", principalColumn: "Id", onDelete: ReferentialAction.Cascade); @@ -104,39 +119,19 @@ namespace ArtPlatform.Database.Migrations Id = table.Column(type: "integer", nullable: false) .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), SellerProfileId = table.Column(type: "integer", nullable: false), - Name = table.Column(type: "text", nullable: false), - Description = table.Column(type: "text", nullable: false), - FileReference = table.Column(type: "text", nullable: true) + FileReference = table.Column(type: "text", nullable: false), + SellerServiceId = table.Column(type: "integer", nullable: true) }, constraints: table => { table.PrimaryKey("PK_SellerProfilePortfolioPieces", x => x.Id); table.ForeignKey( - name: "FK_SellerProfilePortfolioPieces_UserSellerProfiles_SellerProfi~", - column: x => x.SellerProfileId, - principalTable: "UserSellerProfiles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "SellerServices", - columns: table => new - { - Id = table.Column(type: "integer", nullable: false) - .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), - SellerProfileId = table.Column(type: "integer", nullable: false), - Name = table.Column(type: "text", nullable: false), - Description = table.Column(type: "text", nullable: false), - Price = table.Column(type: "numeric", nullable: false), - DepositRequired = table.Column(type: "boolean", nullable: false), - DepositAmount = table.Column(type: "numeric", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_SellerServices", x => x.Id); + name: "FK_SellerProfilePortfolioPieces_SellerServices_SellerServiceId", + column: x => x.SellerServiceId, + principalTable: "SellerServices", + principalColumn: "Id"); table.ForeignKey( - name: "FK_SellerServices_UserSellerProfiles_SellerProfileId", + name: "FK_SellerProfilePortfolioPieces_UserSellerProfiles_SellerProfi~", column: x => x.SellerProfileId, principalTable: "UserSellerProfiles", principalColumn: "Id", @@ -151,7 +146,13 @@ namespace ArtPlatform.Database.Migrations .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), BuyerId = table.Column(type: "text", nullable: false), SellerServiceId = table.Column(type: "integer", nullable: false), - Status = table.Column(type: "integer", nullable: false) + SellerId = table.Column(type: "integer", nullable: false), + Status = table.Column(type: "integer", nullable: false), + Price = table.Column(type: "double precision", nullable: false), + CreatedDate = table.Column(type: "timestamp with time zone", nullable: false), + TermsAcceptedDate = table.Column(type: "timestamp with time zone", nullable: true), + EndDate = table.Column(type: "timestamp with time zone", nullable: true), + PaymentUrl = table.Column(type: "text", nullable: true) }, constraints: table => { @@ -162,6 +163,12 @@ namespace ArtPlatform.Database.Migrations principalTable: "SellerServices", principalColumn: "Id", onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_SellerServiceOrders_UserSellerProfiles_SellerId", + column: x => x.SellerId, + principalTable: "UserSellerProfiles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_SellerServiceOrders_Users_BuyerId", column: x => x.BuyerId, @@ -206,6 +213,8 @@ namespace ArtPlatform.Database.Migrations .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), ReviewerId = table.Column(type: "text", nullable: false), SellerServiceOrderId = table.Column(type: "integer", nullable: false), + SellerServiceId = table.Column(type: "integer", nullable: false), + ReviewDate = table.Column(type: "timestamp with time zone", nullable: false), Review = table.Column(type: "text", nullable: true), Rating = table.Column(type: "integer", nullable: false) }, @@ -218,6 +227,12 @@ namespace ArtPlatform.Database.Migrations principalTable: "SellerServiceOrders", principalColumn: "Id", onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_SellerServiceOrderReviews_SellerServices_SellerServiceId", + column: x => x.SellerServiceId, + principalTable: "SellerServices", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "FK_SellerServiceOrderReviews_Users_ReviewerId", column: x => x.ReviewerId, @@ -246,21 +261,21 @@ namespace ArtPlatform.Database.Migrations onDelete: ReferentialAction.Cascade); }); - migrationBuilder.CreateIndex( - name: "IX_SellerConfiguredSettings_SellerSettingId", - table: "SellerConfiguredSettings", - column: "SellerSettingId"); - - migrationBuilder.CreateIndex( - name: "IX_SellerConfiguredSettings_UserSellerProfileId", - table: "SellerConfiguredSettings", - column: "UserSellerProfileId"); - migrationBuilder.CreateIndex( name: "IX_SellerProfilePortfolioPieces_SellerProfileId", table: "SellerProfilePortfolioPieces", column: "SellerProfileId"); + migrationBuilder.CreateIndex( + name: "IX_SellerProfilePortfolioPieces_SellerServiceId", + table: "SellerProfilePortfolioPieces", + column: "SellerServiceId"); + + migrationBuilder.CreateIndex( + name: "IX_SellerProfileRequests_UserId", + table: "SellerProfileRequests", + column: "UserId"); + migrationBuilder.CreateIndex( name: "IX_SellerServiceOrderMessageAttachments_SellerServiceOrderMess~", table: "SellerServiceOrderMessageAttachments", @@ -281,6 +296,11 @@ namespace ArtPlatform.Database.Migrations table: "SellerServiceOrderReviews", column: "ReviewerId"); + migrationBuilder.CreateIndex( + name: "IX_SellerServiceOrderReviews_SellerServiceId", + table: "SellerServiceOrderReviews", + column: "SellerServiceId"); + migrationBuilder.CreateIndex( name: "IX_SellerServiceOrderReviews_SellerServiceOrderId", table: "SellerServiceOrderReviews", @@ -291,6 +311,11 @@ namespace ArtPlatform.Database.Migrations table: "SellerServiceOrders", column: "BuyerId"); + migrationBuilder.CreateIndex( + name: "IX_SellerServiceOrders_SellerId", + table: "SellerServiceOrders", + column: "SellerId"); + migrationBuilder.CreateIndex( name: "IX_SellerServiceOrders_SellerServiceId", table: "SellerServiceOrders", @@ -312,10 +337,10 @@ namespace ArtPlatform.Database.Migrations protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( - name: "SellerConfiguredSettings"); + name: "SellerProfilePortfolioPieces"); migrationBuilder.DropTable( - name: "SellerProfilePortfolioPieces"); + name: "SellerProfileRequests"); migrationBuilder.DropTable( name: "SellerServiceOrderMessageAttachments"); @@ -323,9 +348,6 @@ namespace ArtPlatform.Database.Migrations migrationBuilder.DropTable( name: "SellerServiceOrderReviews"); - migrationBuilder.DropTable( - name: "SellerSettings"); - migrationBuilder.DropTable( name: "SellerServiceOrderMessages"); diff --git a/src/ArtPlatform.Database/Migrations/ApplicationDbContextModelSnapshot.cs b/src/comissions.app.database/Migrations/ApplicationDbContextModelSnapshot.cs similarity index 99% rename from src/ArtPlatform.Database/Migrations/ApplicationDbContextModelSnapshot.cs rename to src/comissions.app.database/Migrations/ApplicationDbContextModelSnapshot.cs index 9e69e3f..a7f5435 100644 --- a/src/ArtPlatform.Database/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/src/comissions.app.database/Migrations/ApplicationDbContextModelSnapshot.cs @@ -1,7 +1,6 @@ // using System; using System.Collections.Generic; -using ArtPlatform.Database; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -9,7 +8,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable -namespace ArtPlatform.Database.Migrations +namespace comissions.app.database.Migrations { [DbContext(typeof(ApplicationDbContext))] partial class ApplicationDbContextModelSnapshot : ModelSnapshot @@ -32,6 +31,7 @@ namespace ArtPlatform.Database.Migrations NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("FileReference") + .IsRequired() .HasColumnType("text"); b.Property("SellerProfileId") @@ -85,6 +85,9 @@ namespace ArtPlatform.Database.Migrations NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + b.Property("Archived") + .HasColumnType("boolean"); + b.Property("Description") .IsRequired() .HasColumnType("text"); diff --git a/src/ArtPlatform.Database/ArtPlatform.Database.csproj b/src/comissions.app.database/comissions.app.database.csproj similarity index 94% rename from src/ArtPlatform.Database/ArtPlatform.Database.csproj rename to src/comissions.app.database/comissions.app.database.csproj index 70133d2..8fc7715 100644 --- a/src/ArtPlatform.Database/ArtPlatform.Database.csproj +++ b/src/comissions.app.database/comissions.app.database.csproj @@ -4,6 +4,7 @@ net8.0 enable enable + ArtPlatform.Database diff --git a/src/ArtPlatform.sln b/src/comissions.app.sln similarity index 71% rename from src/ArtPlatform.sln rename to src/comissions.app.sln index 0fbcd55..87c2ad8 100644 --- a/src/ArtPlatform.sln +++ b/src/comissions.app.sln @@ -1,10 +1,10 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArtPlatform.Database.Migrator", "ArtPlatform.Database.Migrator\ArtPlatform.Database.Migrator.csproj", "{FD7E7FCB-2926-4FA6-BF52-84608461786D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "comissions.app.database.migrator", "comissions.app.database.migrator\comissions.app.database.migrator.csproj", "{FD7E7FCB-2926-4FA6-BF52-84608461786D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArtPlatform.API", "ArtPlatform.API\ArtPlatform.API.csproj", "{83F914D0-0C7A-47F7-A7D7-F9296AD00A97}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "comissions.app.api", "comissions.app.api\comissions.app.api.csproj", "{83F914D0-0C7A-47F7-A7D7-F9296AD00A97}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArtPlatform.Database", "ArtPlatform.Database\ArtPlatform.Database.csproj", "{0D3B41AA-4D1A-4DF2-A5BB-E8BA74B19422}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "comissions.app.database", "comissions.app.database\comissions.app.database.csproj", "{0D3B41AA-4D1A-4DF2-A5BB-E8BA74B19422}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/src/ui/.env.local.example b/src/ui/.env.local.example new file mode 100644 index 0000000..d27d0dd --- /dev/null +++ b/src/ui/.env.local.example @@ -0,0 +1,5 @@ +AUTH0_ISSUER_BASE_URL="https://" +AUTH0_CLIENT_ID= +AUTH0_CLIENT_SECRET= +AUTH0_BASE_URL="http://localhost:3000" +AUTH0_SECRET= \ No newline at end of file diff --git a/src/ui/.gitignore b/src/ui/.gitignore new file mode 100644 index 0000000..fd3dbb5 --- /dev/null +++ b/src/ui/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js +.yarn/install-state.gz + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/src/ui/README.md b/src/ui/README.md new file mode 100644 index 0000000..2ef7a5e --- /dev/null +++ b/src/ui/README.md @@ -0,0 +1,68 @@ +# Next.js and Auth0 Example + +This example shows how you can use `@auth0/nextjs-auth` to easily add authentication support to your Next.js application. It tries to cover a few topics: + +- Signing in +- Signing out +- Loading the user on the server side and adding it as part of SSR ([`pages/advanced/ssr-profile.tsx`](pages/advanced/ssr-profile.tsx)) +- Loading the user on the client side and using fast/cached SSR pages ([`pages/index.tsx`](pages/index.tsx)) +- Loading the user on the client side and checking authentication CSR pages ([`pages/profile.tsx`](pages/profile.tsx)) +- Loading the user on the client side by accessing API (Serverless function) CSR pages ([`pages/advanced/api-profile.tsx`](pages/advanced/api-profile.tsx)) +- Creates route handlers under the hood that perform different parts of the authentication flow ([`pages/auth/[...auth0].tsx`](pages/auth/[...auth0].tsx)) + +Read more: [https://auth0.com/blog/ultimate-guide-nextjs-authentication-auth0/](https://auth0.com/blog/ultimate-guide-nextjs-authentication-auth0/) + +## How to use + +Execute [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) with [npm](https://docs.npmjs.com/cli/init), [Yarn](https://yarnpkg.com/lang/en/docs/cli/create/), or [pnpm](https://pnpm.io) to bootstrap the example: + +```bash +npx create-next-app --example auth0 auth0-app +``` + +```bash +yarn create next-app --example auth0 auth0-app +``` + +```bash +pnpm create next-app --example auth0 auth0-app +``` + +## Configuring Auth0 + +1. Go to the [Auth0 dashboard](https://manage.auth0.com/) and create a new application of type _Regular Web Applications_ and make sure to configure the following +2. Go to the settings page of the application +3. Configure the following settings: + +- _Allowed Callback URLs_: Should be set to `http://localhost:3000/api/auth/callback` when testing locally or typically to `https://myapp.com/api/auth/callback` when deploying your application. +- _Allowed Logout URLs_: Should be set to `http://localhost:3000/` when testing locally or typically to `https://myapp.com/` when deploying your application. + +4. Save the settings + +### Set up environment variables + +To connect the app with Auth0, you'll need to add the settings from your Auth0 application as environment variables + +Copy the `.env.local.example` file in this directory to `.env.local` (which will be ignored by Git): + +```bash +cp .env.local.example .env.local +``` + +Then, open `.env.local` and add the missing environment variables: + +- `AUTH0_ISSUER_BASE_URL` - Can be found in the Auth0 dashboard under `settings`. (Should be prefixed with `https://`) +- `AUTH0_CLIENT_ID` - Can be found in the Auth0 dashboard under `settings`. +- `AUTH0_CLIENT_SECRET` - Can be found in the Auth0 dashboard under `settings`. +- `AUTH0_BASE_URL` - The base url of the application. +- `AUTH0_SECRET` - Has to be at least 32 characters. You can use [this generator](https://generate-secret.vercel.app/32) to generate a value. + +## Deploy on Vercel + +You can deploy this app to the cloud with [Vercel](https://vercel.com?utm_source=github&utm_medium=readme&utm_campaign=next-example) ([Documentation](https://nextjs.org/docs/deployment)). + +### Deploy Your Local Project + +To deploy your local project to Vercel, push it to GitHub/GitLab/Bitbucket and [import to Vercel](https://vercel.com/new?utm_source=github&utm_medium=readme&utm_campaign=next-example). + +**Important**: When you import your project on Vercel, make sure to click on **Environment Variables** and set them to match your `.env.local` file. diff --git a/src/ui/additional.d.ts b/src/ui/additional.d.ts new file mode 100644 index 0000000..0c1254b --- /dev/null +++ b/src/ui/additional.d.ts @@ -0,0 +1,7 @@ +export {}; + +declare global { + interface Window { + __user: any; + } +} diff --git a/src/ui/components/header.tsx b/src/ui/components/header.tsx new file mode 100644 index 0000000..69de824 --- /dev/null +++ b/src/ui/components/header.tsx @@ -0,0 +1,86 @@ +import Link from "next/link"; + +type HeaderProps = { + user?: any; + loading: boolean; +}; + +const Header = ({ user, loading }: HeaderProps) => { + return ( +
+ + + +
+ ); +}; + +export default Header; diff --git a/src/ui/components/layout.tsx b/src/ui/components/layout.tsx new file mode 100644 index 0000000..71999ee --- /dev/null +++ b/src/ui/components/layout.tsx @@ -0,0 +1,41 @@ +import Head from "next/head"; +import Header from "./header"; + +type LayoutProps = { + user?: any; + loading?: boolean; + children: React.ReactNode; +}; + +const Layout = ({ user, loading = false, children }: LayoutProps) => { + return ( + <> + + Next.js with Auth0 + + +
+ +
+
{children}
+
+ + + + + ); +}; + +export default Layout; diff --git a/src/ui/interfaces/index.ts b/src/ui/interfaces/index.ts new file mode 100644 index 0000000..558c056 --- /dev/null +++ b/src/ui/interfaces/index.ts @@ -0,0 +1,9 @@ +export type User = { + email: string; + email_verified: boolean; + name: string; + nickname: string; + picture: string; + sub: string; + updated_at: string; +}; diff --git a/src/ui/package-lock.json b/src/ui/package-lock.json new file mode 100644 index 0000000..000e520 --- /dev/null +++ b/src/ui/package-lock.json @@ -0,0 +1,669 @@ +{ + "name": "ui", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@auth0/nextjs-auth0": "^2.2.0", + "next": "latest", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/node": "^18.0.0", + "@types/react": "^18.0.14", + "@types/react-dom": "^18.0.5", + "typescript": "^4.7.4" + } + }, + "node_modules/@auth0/nextjs-auth0": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@auth0/nextjs-auth0/-/nextjs-auth0-2.7.0.tgz", + "integrity": "sha512-iaT+CCMptzvIhcxXYM8n3eTUgd5mexLtaHDBMYjle+gjjUKPEdIOTJcjebrSOsbW2FWAZMQrUOVXAcS/3ixyyQ==", + "dependencies": { + "@panva/hkdf": "^1.0.2", + "cookie": "^0.5.0", + "debug": "^4.3.4", + "http-errors": "^1.8.1", + "joi": "^17.6.0", + "jose": "^4.9.2", + "openid-client": "^5.2.1", + "tslib": "^2.4.0", + "url-join": "^4.0.1" + }, + "engines": { + "node": ">=12.19.0" + }, + "peerDependencies": { + "next": ">=10" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@next/env": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.1.0.tgz", + "integrity": "sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==" + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.0.tgz", + "integrity": "sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.0.tgz", + "integrity": "sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.0.tgz", + "integrity": "sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.0.tgz", + "integrity": "sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.0.tgz", + "integrity": "sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.0.tgz", + "integrity": "sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.0.tgz", + "integrity": "sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.0.tgz", + "integrity": "sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.0.tgz", + "integrity": "sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@panva/hkdf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.1.1.tgz", + "integrity": "sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@swc/helpers": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/node": { + "version": "18.19.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.10.tgz", + "integrity": "sha512-IZD8kAM02AW1HRDTPOlz3npFava678pr8Ie9Vp8uRhBROXAv8MXT2pCnGZZAKYdromsNQLHQcfWQ6EOatVLtqA==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.48", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", + "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.18", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", + "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "dev": true + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001581", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz", + "integrity": "sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/joi": { + "version": "17.12.1", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", + "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/jose": { + "version": "4.15.4", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.4.tgz", + "integrity": "sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/next": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/next/-/next-14.1.0.tgz", + "integrity": "sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==", + "dependencies": { + "@next/env": "14.1.0", + "@swc/helpers": "0.5.2", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.1.0", + "@next/swc-darwin-x64": "14.1.0", + "@next/swc-linux-arm64-gnu": "14.1.0", + "@next/swc-linux-arm64-musl": "14.1.0", + "@next/swc-linux-x64-gnu": "14.1.0", + "@next/swc-linux-x64-musl": "14.1.0", + "@next/swc-win32-arm64-msvc": "14.1.0", + "@next/swc-win32-ia32-msvc": "14.1.0", + "@next/swc-win32-x64-msvc": "14.1.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/oidc-token-hash": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz", + "integrity": "sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==", + "engines": { + "node": "^10.13.0 || >=12.0.0" + } + }, + "node_modules/openid-client": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.4.tgz", + "integrity": "sha512-T1h3B10BRPKfcObdBklX639tVz+xh34O7GjofqrqiAQdm7eHsQ00ih18x6wuJ/E6FxdtS2u3FmUGPDeEcMwzNA==", + "dependencies": { + "jose": "^4.15.4", + "lru-cache": "^6.0.0", + "object-hash": "^2.2.0", + "oidc-token-hash": "^5.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } +} diff --git a/src/ui/package.json b/src/ui/package.json new file mode 100644 index 0000000..780ce2f --- /dev/null +++ b/src/ui/package.json @@ -0,0 +1,20 @@ +{ + "private": true, + "scripts": { + "dev": "next", + "build": "next build", + "start": "next start" + }, + "dependencies": { + "@auth0/nextjs-auth0": "^2.2.0", + "next": "latest", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@types/node": "^18.0.0", + "@types/react": "^18.0.14", + "@types/react-dom": "^18.0.5", + "typescript": "^4.7.4" + } +} diff --git a/src/ui/pages/_app.tsx b/src/ui/pages/_app.tsx new file mode 100644 index 0000000..042efe8 --- /dev/null +++ b/src/ui/pages/_app.tsx @@ -0,0 +1,14 @@ +import { UserProvider } from "@auth0/nextjs-auth0/client"; + +export default function App({ Component, pageProps }) { + // optionally pass the 'user' prop from pages that require server-side + // rendering to prepopulate the 'useUser' hook. + + const { user } = pageProps; + + return ( + + + + ); +} diff --git a/src/ui/pages/about.tsx b/src/ui/pages/about.tsx new file mode 100644 index 0000000..930210c --- /dev/null +++ b/src/ui/pages/about.tsx @@ -0,0 +1,24 @@ +import { useUser } from "@auth0/nextjs-auth0/client"; +import Layout from "../components/layout"; + +const About = () => { + const { user, isLoading } = useUser(); + + return ( + +

About

+

+ This project shows different ways to display Profile info: using{" "} + Client rendered, Server rendered, and API rendered +

+

+ Navigating between this page and Home is always pretty fast. + However, when you navigate to the Server rendered profile page it + takes more time because it uses SSR to fetch the user and then to + display it +

+
+ ); +}; + +export default About; diff --git a/src/ui/pages/advanced/api-profile.tsx b/src/ui/pages/advanced/api-profile.tsx new file mode 100644 index 0000000..617e86e --- /dev/null +++ b/src/ui/pages/advanced/api-profile.tsx @@ -0,0 +1,37 @@ +import { useEffect, useState } from "react"; +import { useUser } from "@auth0/nextjs-auth0/client"; +import Layout from "../../components/layout"; + +const ApiProfile = () => { + const { user, isLoading } = useUser(); + + const [data, setData] = useState(null); + + useEffect(() => { + (async () => { + const res = await fetch("/api/protected-api"); + + const data = await res.json(); + + setData(data); + })(); + }, []); + + return ( + +

Profile

+ +
+

Public page (client rendered)

+

We are fetching data on the client-side :

+

By making request to '/api/protected-api' serverless function

+

so without a valid session cookie will fail

+

{JSON.stringify(data)}

+
+
+ ); +}; + +// Public route.(CSR) also accessing API from the client-side. +// data is not cached when redirecting between pages. +export default ApiProfile; diff --git a/src/ui/pages/advanced/ssr-profile.tsx b/src/ui/pages/advanced/ssr-profile.tsx new file mode 100644 index 0000000..e8f02ec --- /dev/null +++ b/src/ui/pages/advanced/ssr-profile.tsx @@ -0,0 +1,26 @@ +import { withPageAuthRequired } from "@auth0/nextjs-auth0"; +import Layout from "../../components/layout"; +import { User } from "../../interfaces"; + +type ProfileProps = { + user: User; +}; + +export default function Profile({ user }: ProfileProps) { + return ( + +

Profile

+ +
+

Profile (server rendered)

+ user picture +

nickname: {user.nickname}

+

name: {user.name}

+
+
+ ); +} + +// Protected route, checking authentication status before rendering the page.(SSR) +// It's slower than a static page with client side authentication +export const getServerSideProps = withPageAuthRequired(); diff --git a/src/ui/pages/api/auth/[...auth0].tsx b/src/ui/pages/api/auth/[...auth0].tsx new file mode 100644 index 0000000..5c189a0 --- /dev/null +++ b/src/ui/pages/api/auth/[...auth0].tsx @@ -0,0 +1,3 @@ +import { handleAuth } from "@auth0/nextjs-auth0"; + +export default handleAuth(); diff --git a/src/ui/pages/api/protected-api.ts b/src/ui/pages/api/protected-api.ts new file mode 100644 index 0000000..b33602c --- /dev/null +++ b/src/ui/pages/api/protected-api.ts @@ -0,0 +1,20 @@ +import { withApiAuthRequired, getSession } from "@auth0/nextjs-auth0"; + +// Serverless function +// Protected API, requests to '/api/protected' without a valid session cookie will fail + +async function handle(req, res) { + const { user } = await getSession(req, res); + + try { + res.status(200).json({ + session: "true", + id: user.sub, + nickname: user.nickname, + }); + } catch (e) { + res.status(500).json({ error: "Unable to fetch", description: e }); + } +} + +export default withApiAuthRequired(handle); diff --git a/src/ui/pages/index.tsx b/src/ui/pages/index.tsx new file mode 100644 index 0000000..4bc2f9f --- /dev/null +++ b/src/ui/pages/index.tsx @@ -0,0 +1,39 @@ +import { useUser } from "@auth0/nextjs-auth0/client"; +import Layout from "../components/layout"; + +const Home = () => { + const { user, isLoading } = useUser(); + + return ( + +

Next.js and Auth0 Example

+ + {isLoading &&

Loading login info...

} + + {!isLoading && !user && ( + <> +

+ To test the login click in Login +

+

+ Once you have logged in you should be able to navigate between + protected routes: client rendered, server rendered profile pages, + and Logout +

+ + )} + + {user && ( + <> +

Rendered user info on the client

+ user picture +

nickname: {user.nickname}

+

name: {user.name}

+ + )} +
+ ); +}; + +// fast/cached SSR page +export default Home; diff --git a/src/ui/pages/profile.tsx b/src/ui/pages/profile.tsx new file mode 100644 index 0000000..d9e295a --- /dev/null +++ b/src/ui/pages/profile.tsx @@ -0,0 +1,33 @@ +import { withPageAuthRequired } from "@auth0/nextjs-auth0/client"; +import Layout from "../components/layout"; +import { User } from "../interfaces"; + +type ProfileCardProps = { + user: User; +}; + +const ProfileCard = ({ user }: ProfileCardProps) => { + return ( + <> +

Profile

+ +
+

Profile (client rendered)

+ user picture +

nickname: {user.nickname}

+

name: {user.name}

+
+ + ); +}; + +const Profile = ({ user, isLoading }) => { + return ( + + {isLoading ? <>Loading... : } + + ); +}; + +// Protected route, checking user authentication client-side.(CSR) +export default withPageAuthRequired(Profile); diff --git a/src/ui/tsconfig.json b/src/ui/tsconfig.json new file mode 100644 index 0000000..ef98c53 --- /dev/null +++ b/src/ui/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true + }, + "include": ["next-env.d.ts", "additional.d.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +}