//
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("20221031165813_TodoAndOwnerNavigations")]
partial class TodoAndOwnerNavigations
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.10")
.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.ForgotPasswordRequest", 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_forgot_password_requests");
b.HasIndex("UserId")
.HasDatabaseName("ix_forgot_password_requests_user_id");
b.ToTable("forgot_password_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("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.TimeCategory", 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("UserId")
.HasColumnType("uuid")
.HasColumnName("user_id");
b.HasKey("Id")
.HasName("pk_time_categories");
b.HasIndex("TenantId")
.HasDatabaseName("ix_time_categories_tenant_id");
b.HasIndex("UserId")
.HasDatabaseName("ix_time_categories_user_id");
b.ToTable("time_categories", (string)null);
});
modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TimeEntry", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid")
.HasColumnName("id");
b.Property("CategoryId")
.HasColumnType("uuid")
.HasColumnName("category_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("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_time_entries");
b.HasIndex("CategoryId")
.HasDatabaseName("ix_time_entries_category_id");
b.HasIndex("TenantId")
.HasDatabaseName("ix_time_entries_tenant_id");
b.HasIndex("UserId")
.HasDatabaseName("ix_time_entries_user_id");
b.ToTable("time_entries", (string)null);
});
modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TimeLabel", 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("TimeEntryId")
.HasColumnType("uuid")
.HasColumnName("time_entry_id");
b.Property("UserId")
.HasColumnType("uuid")
.HasColumnName("user_id");
b.HasKey("Id")
.HasName("pk_time_labels");
b.HasIndex("TenantId")
.HasDatabaseName("ix_time_labels_tenant_id");
b.HasIndex("TimeEntryId")
.HasDatabaseName("ix_time_labels_time_entry_id");
b.HasIndex("UserId")
.HasDatabaseName("ix_time_labels_user_id");
b.ToTable("time_labels", (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("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("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("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b =>
{
b.Property