// using System; using IOL.GreatOffice.Api.Data.Database; using IOL.GreatOffice.Api.Models.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 IOL.GreatOffice.Api.Migrations { [DbContext(typeof(MainAppDatabase))] [Migration("20221214143556_AddUserDeletedBy")] partial class AddUserDeletedBy { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "7.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("CustomerCustomerGroup", b => { b.Property("CustomersId") .HasColumnType("uuid") .HasColumnName("customers_id"); b.Property("GroupsId") .HasColumnType("uuid") .HasColumnName("groups_id"); b.HasKey("CustomersId", "GroupsId") .HasName("pk_customer_customer_group"); b.HasIndex("GroupsId") .HasDatabaseName("ix_customer_customer_group_groups_id"); b.ToTable("customer_customer_group", (string)null); }); modelBuilder.Entity("CustomerProject", b => { b.Property("CustomersId") .HasColumnType("uuid") .HasColumnName("customers_id"); b.Property("ProjectsId") .HasColumnType("uuid") .HasColumnName("projects_id"); b.HasKey("CustomersId", "ProjectsId") .HasName("pk_customer_project"); b.HasIndex("ProjectsId") .HasDatabaseName("ix_customer_project_projects_id"); b.ToTable("customer_project", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.ApiAccessToken", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AllowCreate") .HasColumnType("boolean") .HasColumnName("allow_create"); b.Property("AllowDelete") .HasColumnType("boolean") .HasColumnName("allow_delete"); b.Property("AllowRead") .HasColumnType("boolean") .HasColumnName("allow_read"); b.Property("AllowUpdate") .HasColumnType("boolean") .HasColumnName("allow_update"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ExpiryDate") .HasColumnType("timestamp with time zone") .HasColumnName("expiry_date"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_api_access_tokens"); b.HasIndex("UserId") .HasDatabaseName("ix_api_access_tokens_user_id"); b.ToTable("api_access_tokens", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Customer", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("Address1") .HasColumnType("text") .HasColumnName("address1"); b.Property("Address2") .HasColumnType("text") .HasColumnName("address2"); b.Property("Country") .HasColumnType("text") .HasColumnName("country"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("Currency") .HasColumnType("text") .HasColumnName("currency"); b.Property("CustomerNumber") .HasColumnType("text") .HasColumnName("customer_number"); b.Property("DefaultReference") .HasColumnType("text") .HasColumnName("default_reference"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("Email") .HasColumnType("text") .HasColumnName("email"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("ORGNumber") .HasColumnType("text") .HasColumnName("org_number"); b.Property("OwnerId") .HasColumnType("uuid") .HasColumnName("owner_id"); b.Property("Phone") .HasColumnType("text") .HasColumnName("phone"); b.Property("PostalCity") .HasColumnType("text") .HasColumnName("postal_city"); b.Property("PostalCode") .HasColumnType("text") .HasColumnName("postal_code"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.Property("VATNumber") .HasColumnType("text") .HasColumnName("vat_number"); b.Property("Website") .HasColumnType("text") .HasColumnName("website"); b.HasKey("Id") .HasName("pk_customers"); b.HasIndex("OwnerId") .HasDatabaseName("ix_customers_owner_id"); b.HasIndex("TenantId") .HasDatabaseName("ix_customers_tenant_id"); b.HasIndex("UserId") .HasDatabaseName("ix_customers_user_id"); b.ToTable("customers", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.CustomerContact", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("CustomerId") .HasColumnType("uuid") .HasColumnName("customer_id"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("Email") .HasColumnType("text") .HasColumnName("email"); b.Property("FirstName") .HasColumnType("text") .HasColumnName("first_name"); b.Property("LastName") .HasColumnType("text") .HasColumnName("last_name"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("Note") .HasColumnType("text") .HasColumnName("note"); b.Property("Phone") .HasColumnType("text") .HasColumnName("phone"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.Property("WorkTitle") .HasColumnType("text") .HasColumnName("work_title"); b.HasKey("Id") .HasName("pk_customer_contacts"); b.HasIndex("CustomerId") .HasDatabaseName("ix_customer_contacts_customer_id"); b.HasIndex("TenantId") .HasDatabaseName("ix_customer_contacts_tenant_id"); b.HasIndex("UserId") .HasDatabaseName("ix_customer_contacts_user_id"); b.ToTable("customer_contacts", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.CustomerEvent", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("CustomerId") .HasColumnType("uuid") .HasColumnName("customer_id"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("Note") .HasColumnType("text") .HasColumnName("note"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("Title") .HasColumnType("text") .HasColumnName("title"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_customer_events"); b.HasIndex("CustomerId") .HasDatabaseName("ix_customer_events_customer_id"); b.HasIndex("TenantId") .HasDatabaseName("ix_customer_events_tenant_id"); b.HasIndex("UserId") .HasDatabaseName("ix_customer_events_user_id"); b.ToTable("customer_events", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.CustomerGroup", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_customer_groups"); b.HasIndex("TenantId") .HasDatabaseName("ix_customer_groups_tenant_id"); b.HasIndex("UserId") .HasDatabaseName("ix_customer_groups_user_id"); b.ToTable("customer_groups", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.PasswordResetRequest", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_password_reset_requests"); b.HasIndex("UserId") .HasDatabaseName("ix_password_reset_requests_user_id"); b.ToTable("password_reset_requests", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Project", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("Start") .HasColumnType("timestamp with time zone") .HasColumnName("start"); b.Property("Stop") .HasColumnType("timestamp with time zone") .HasColumnName("stop"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_projects"); b.HasIndex("TenantId") .HasDatabaseName("ix_projects_tenant_id"); b.HasIndex("UserId") .HasDatabaseName("ix_projects_user_id"); b.ToTable("projects", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.ProjectLabel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("Color") .HasColumnType("text") .HasColumnName("color"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("ProjectId") .HasColumnType("uuid") .HasColumnName("project_id"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.Property("Value") .HasColumnType("text") .HasColumnName("value"); b.HasKey("Id") .HasName("pk_project_labels"); b.HasIndex("ProjectId") .HasDatabaseName("ix_project_labels_project_id"); b.HasIndex("TenantId") .HasDatabaseName("ix_project_labels_tenant_id"); b.HasIndex("UserId") .HasDatabaseName("ix_project_labels_user_id"); b.ToTable("project_labels", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.ProjectMember", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ProjectId") .HasColumnType("uuid") .HasColumnName("project_id"); b.Property("Role") .HasColumnType("integer") .HasColumnName("role"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_project_members"); b.HasIndex("ProjectId") .HasDatabaseName("ix_project_members_project_id"); b.HasIndex("UserId") .HasDatabaseName("ix_project_members_user_id"); b.ToTable("project_members", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Tenant", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("ContactEmail") .HasColumnType("text") .HasColumnName("contact_email"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("MasterUserId") .HasColumnType("uuid") .HasColumnName("master_user_id"); b.Property("MasterUserPassword") .HasColumnType("text") .HasColumnName("master_user_password"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("OwningTenantId") .HasColumnType("uuid") .HasColumnName("owning_tenant_id"); b.Property("Slug") .HasColumnType("text") .HasColumnName("slug"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_tenants"); b.HasIndex("OwningTenantId") .HasDatabaseName("ix_tenants_owning_tenant_id"); b.HasIndex("UserId") .HasDatabaseName("ix_tenants_user_id"); b.ToTable("tenants", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Todo", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AssignedToId") .HasColumnType("uuid") .HasColumnName("assigned_to_id"); b.Property("ClosedAt") .HasColumnType("timestamp with time zone") .HasColumnName("closed_at"); b.Property("ClosedById") .HasColumnType("uuid") .HasColumnName("closed_by_id"); b.Property("CollectionId") .HasColumnType("uuid") .HasColumnName("collection_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("PublicId") .HasColumnType("text") .HasColumnName("public_id"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("Title") .HasColumnType("text") .HasColumnName("title"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_todos"); b.HasIndex("AssignedToId") .HasDatabaseName("ix_todos_assigned_to_id"); b.HasIndex("ClosedById") .HasDatabaseName("ix_todos_closed_by_id"); b.HasIndex("CollectionId") .HasDatabaseName("ix_todos_collection_id"); b.HasIndex("TenantId") .HasDatabaseName("ix_todos_tenant_id"); b.HasIndex("UserId") .HasDatabaseName("ix_todos_user_id"); b.ToTable("todos", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TodoCollection", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("ProjectId") .HasColumnType("uuid") .HasColumnName("project_id"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.Property("Visibility") .HasColumnType("integer") .HasColumnName("visibility"); b.HasKey("Id") .HasName("pk_todo_collections"); b.HasIndex("ProjectId") .HasDatabaseName("ix_todo_collections_project_id"); b.HasIndex("TenantId") .HasDatabaseName("ix_todo_collections_tenant_id"); b.HasIndex("UserId") .HasDatabaseName("ix_todo_collections_user_id"); b.ToTable("todo_collections", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TodoCollectionAccessControl", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CanBrowse") .HasColumnType("boolean") .HasColumnName("can_browse"); b.Property("CanComment") .HasColumnType("boolean") .HasColumnName("can_comment"); b.Property("CanEdit") .HasColumnType("boolean") .HasColumnName("can_edit"); b.Property("CanSubmit") .HasColumnType("boolean") .HasColumnName("can_submit"); b.Property("CollectionId") .HasColumnType("uuid") .HasColumnName("collection_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_todo_collection_access_controls"); b.HasIndex("CollectionId") .HasDatabaseName("ix_todo_collection_access_controls_collection_id"); b.HasIndex("UserId") .HasDatabaseName("ix_todo_collection_access_controls_user_id"); b.ToTable("todo_collection_access_controls", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TodoComment", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("ClosingStatement") .HasColumnType("integer") .HasColumnName("closing_statement"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("TodoId") .HasColumnType("uuid") .HasColumnName("todo_id"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.Property("Value") .HasColumnType("text") .HasColumnName("value"); b.HasKey("Id") .HasName("pk_todo_comments"); b.HasIndex("TenantId") .HasDatabaseName("ix_todo_comments_tenant_id"); b.HasIndex("TodoId") .HasDatabaseName("ix_todo_comments_todo_id"); b.HasIndex("UserId") .HasDatabaseName("ix_todo_comments_user_id"); b.ToTable("todo_comments", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TodoLabel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("Color") .HasColumnType("text") .HasColumnName("color"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedBy") .HasColumnType("uuid") .HasColumnName("created_by"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("ModifiedBy") .HasColumnType("uuid") .HasColumnName("modified_by"); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("TodoId") .HasColumnType("uuid") .HasColumnName("todo_id"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_todo_labels"); b.HasIndex("TenantId") .HasDatabaseName("ix_todo_labels_tenant_id"); b.HasIndex("TodoId") .HasDatabaseName("ix_todo_labels_todo_id"); b.HasIndex("UserId") .HasDatabaseName("ix_todo_labels_user_id"); b.ToTable("todo_labels", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("uuid") .HasColumnName("deleted_by"); b.Property("Email") .HasColumnType("text") .HasColumnName("email"); b.Property("EmailLastValidated") .HasColumnType("timestamp with time zone") .HasColumnName("email_last_validated"); b.Property("FirstName") .HasColumnType("text") .HasColumnName("first_name"); b.Property("LastName") .HasColumnType("text") .HasColumnName("last_name"); b.Property("ModifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("modified_at"); b.Property("Password") .HasColumnType("text") .HasColumnName("password"); b.Property("TenantId") .HasColumnType("uuid") .HasColumnName("tenant_id"); b.Property("Username") .HasColumnType("text") .HasColumnName("username"); b.HasKey("Id") .HasName("pk_users"); b.HasIndex("TenantId") .HasDatabaseName("ix_users_tenant_id"); b.ToTable("users", (string)null); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.ValidationEmail", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("EmailSentAt") .HasColumnType("timestamp with time zone") .HasColumnName("email_sent_at"); b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_validation_emails"); b.ToTable("validation_emails", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("FriendlyName") .HasColumnType("text") .HasColumnName("friendly_name"); b.Property("Xml") .HasColumnType("text") .HasColumnName("xml"); b.HasKey("Id") .HasName("pk_data_protection_keys"); b.ToTable("data_protection_keys", (string)null); }); modelBuilder.Entity("CustomerCustomerGroup", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Customer", null) .WithMany() .HasForeignKey("CustomersId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_customer_customer_group_customers_customers_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.CustomerGroup", null) .WithMany() .HasForeignKey("GroupsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_customer_customer_group_customer_groups_groups_id"); }); modelBuilder.Entity("CustomerProject", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Customer", null) .WithMany() .HasForeignKey("CustomersId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_customer_project_customers_customers_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.Project", null) .WithMany() .HasForeignKey("ProjectsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_customer_project_projects_projects_id"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.ApiAccessToken", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "User") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_api_access_tokens_users_user_id"); b.Navigation("User"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Customer", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "Owner") .WithMany() .HasForeignKey("OwnerId") .HasConstraintName("fk_customers_users_owner_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_customers_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_customers_users_user_id"); b.Navigation("Owner"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.CustomerContact", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Customer", "Customer") .WithMany("Contacts") .HasForeignKey("CustomerId") .HasConstraintName("fk_customer_contacts_customers_customer_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_customer_contacts_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_customer_contacts_users_user_id"); b.Navigation("Customer"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.CustomerEvent", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Customer", "Customer") .WithMany("Events") .HasForeignKey("CustomerId") .HasConstraintName("fk_customer_events_customers_customer_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_customer_events_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_customer_events_users_user_id"); b.Navigation("Customer"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.CustomerGroup", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_customer_groups_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_customer_groups_users_user_id"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.PasswordResetRequest", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_password_reset_requests_users_user_id"); b.Navigation("User"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Project", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_projects_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_projects_users_user_id"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.ProjectLabel", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Project", "Project") .WithMany("Labels") .HasForeignKey("ProjectId") .HasConstraintName("fk_project_labels_projects_project_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_project_labels_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_project_labels_users_user_id"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); b.Navigation("Project"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.ProjectMember", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Project", "Project") .WithMany("Members") .HasForeignKey("ProjectId") .HasConstraintName("fk_project_members_projects_project_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "User") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_project_members_users_user_id"); b.Navigation("Project"); b.Navigation("User"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Tenant", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("OwningTenantId") .HasConstraintName("fk_tenants_tenants_owning_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany("Tenants") .HasForeignKey("UserId") .HasConstraintName("fk_tenants_users_user_id"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Todo", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "AssignedTo") .WithMany() .HasForeignKey("AssignedToId") .HasConstraintName("fk_todos_users_assigned_to_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "ClosedBy") .WithMany() .HasForeignKey("ClosedById") .HasConstraintName("fk_todos_users_closed_by_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.TodoCollection", "Collection") .WithMany() .HasForeignKey("CollectionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_todos_todo_projects_collection_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_todos_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_todos_users_user_id"); b.Navigation("AssignedTo"); b.Navigation("ClosedBy"); b.Navigation("Collection"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TodoCollection", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Project", "Project") .WithMany() .HasForeignKey("ProjectId") .HasConstraintName("fk_todo_collections_projects_project_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_todo_collections_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_todo_collections_users_user_id"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); b.Navigation("Project"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TodoCollectionAccessControl", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.TodoCollection", "Collection") .WithMany("AccessControls") .HasForeignKey("CollectionId") .HasConstraintName("fk_todo_collection_access_controls_todo_collections_collection"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "User") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_todo_collection_access_controls_users_user_id"); b.Navigation("Collection"); b.Navigation("User"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TodoComment", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_todo_comments_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.Todo", "Todo") .WithMany("Comments") .HasForeignKey("TodoId") .HasConstraintName("fk_todo_comments_todos_todo_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_todo_comments_users_user_id"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); b.Navigation("Todo"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TodoLabel", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant") .WithMany() .HasForeignKey("TenantId") .HasConstraintName("fk_todo_labels_tenants_tenant_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.Todo", "Todo") .WithMany("Labels") .HasForeignKey("TodoId") .HasConstraintName("fk_todo_labels_todos_todo_id"); b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser") .WithMany() .HasForeignKey("UserId") .HasConstraintName("fk_todo_labels_users_user_id"); b.Navigation("OwningTenant"); b.Navigation("OwningUser"); b.Navigation("Todo"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.User", b => { b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", null) .WithMany("Users") .HasForeignKey("TenantId") .HasConstraintName("fk_users_tenants_tenant_id"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Customer", b => { b.Navigation("Contacts"); b.Navigation("Events"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Project", b => { b.Navigation("Labels"); b.Navigation("Members"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Tenant", b => { b.Navigation("Users"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Todo", b => { b.Navigation("Comments"); b.Navigation("Labels"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TodoCollection", b => { b.Navigation("AccessControls"); }); modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.User", b => { b.Navigation("Tenants"); }); #pragma warning restore 612, 618 } } }