aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Migrations/AppDbContextModelSnapshot.cs
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-10-31 18:16:38 +0100
committerivarlovlie <git@ivarlovlie.no>2022-10-31 18:16:38 +0100
commitf0cea15a4f85b47bf13b6db392f4ff97449d53c2 (patch)
tree98c0b408394970eb930e53968f153e66043a3044 /code/api/src/Migrations/AppDbContextModelSnapshot.cs
parent0725e4f7cf4c6f723264b6d461b91c660d144cb7 (diff)
downloadgreatoffice-f0cea15a4f85b47bf13b6db392f4ff97449d53c2.tar.xz
greatoffice-f0cea15a4f85b47bf13b6db392f4ff97449d53c2.zip
feat: More models and schema changes
Diffstat (limited to 'code/api/src/Migrations/AppDbContextModelSnapshot.cs')
-rw-r--r--code/api/src/Migrations/AppDbContextModelSnapshot.cs891
1 files changed, 803 insertions, 88 deletions
diff --git a/code/api/src/Migrations/AppDbContextModelSnapshot.cs b/code/api/src/Migrations/AppDbContextModelSnapshot.cs
index 7a534ad..f2031c1 100644
--- a/code/api/src/Migrations/AppDbContextModelSnapshot.cs
+++ b/code/api/src/Migrations/AppDbContextModelSnapshot.cs
@@ -139,9 +139,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<string>("Currency")
.HasColumnType("text")
@@ -163,9 +163,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<string>("Description")
.HasColumnType("text")
@@ -179,9 +179,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<string>("Name")
.HasColumnType("text")
@@ -191,6 +191,10 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("text")
.HasColumnName("org_number");
+ b.Property<Guid?>("OwnerId")
+ .HasColumnType("uuid")
+ .HasColumnName("owner_id");
+
b.Property<string>("Phone")
.HasColumnType("text")
.HasColumnName("phone");
@@ -222,6 +226,12 @@ namespace IOL.GreatOffice.Api.Migrations
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");
@@ -239,9 +249,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<Guid?>("CustomerId")
.HasColumnType("uuid")
@@ -255,9 +265,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<string>("Email")
.HasColumnType("text")
@@ -275,9 +285,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<string>("Note")
.HasColumnType("text")
@@ -305,6 +315,12 @@ namespace IOL.GreatOffice.Api.Migrations
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);
});
@@ -319,9 +335,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<Guid?>("CustomerId")
.HasColumnType("uuid")
@@ -335,17 +351,17 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<DateTime?>("ModifiedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<string>("Note")
.HasColumnType("text")
@@ -369,6 +385,12 @@ namespace IOL.GreatOffice.Api.Migrations
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);
});
@@ -383,9 +405,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<bool>("Deleted")
.HasColumnType("boolean")
@@ -395,17 +417,17 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<DateTime?>("ModifiedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<string>("Name")
.HasColumnType("text")
@@ -422,6 +444,12 @@ namespace IOL.GreatOffice.Api.Migrations
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);
});
@@ -460,9 +488,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<bool>("Deleted")
.HasColumnType("boolean")
@@ -472,9 +500,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<string>("Description")
.HasColumnType("text")
@@ -484,9 +512,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<string>("Name")
.HasColumnType("text")
@@ -511,6 +539,12 @@ namespace IOL.GreatOffice.Api.Migrations
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);
});
@@ -529,9 +563,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<bool>("Deleted")
.HasColumnType("boolean")
@@ -541,17 +575,17 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<DateTime?>("ModifiedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<Guid?>("ProjectId")
.HasColumnType("uuid")
@@ -575,6 +609,12 @@ namespace IOL.GreatOffice.Api.Migrations
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);
});
@@ -640,9 +680,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<bool>("Deleted")
.HasColumnType("boolean")
@@ -652,9 +692,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<string>("Description")
.HasColumnType("text")
@@ -672,14 +712,18 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<string>("Name")
.HasColumnType("text")
.HasColumnName("name");
+ b.Property<Guid?>("OwningTenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("owning_tenant_id");
+
b.Property<Guid?>("TenantId")
.HasColumnType("uuid")
.HasColumnName("tenant_id");
@@ -691,6 +735,12 @@ namespace IOL.GreatOffice.Api.Migrations
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);
});
@@ -709,9 +759,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<bool>("Deleted")
.HasColumnType("boolean")
@@ -721,17 +771,17 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<DateTime?>("ModifiedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<string>("Name")
.HasColumnType("text")
@@ -748,6 +798,12 @@ namespace IOL.GreatOffice.Api.Migrations
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);
});
@@ -766,9 +822,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<bool>("Deleted")
.HasColumnType("boolean")
@@ -778,9 +834,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<string>("Description")
.HasColumnType("text")
@@ -790,9 +846,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<DateTime>("Start")
.HasColumnType("timestamp with time zone")
@@ -816,6 +872,12 @@ namespace IOL.GreatOffice.Api.Migrations
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);
});
@@ -834,9 +896,9 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("created_at");
- b.Property<Guid?>("CreatedById")
+ b.Property<Guid?>("CreatedBy")
.HasColumnType("uuid")
- .HasColumnName("created_by_id");
+ .HasColumnName("created_by");
b.Property<bool>("Deleted")
.HasColumnType("boolean")
@@ -846,17 +908,17 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("timestamp with time zone")
.HasColumnName("deleted_at");
- b.Property<Guid?>("DeletedById")
+ b.Property<Guid?>("DeletedBy")
.HasColumnType("uuid")
- .HasColumnName("deleted_by_id");
+ .HasColumnName("deleted_by");
b.Property<DateTime?>("ModifiedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("modified_at");
- b.Property<Guid?>("ModifiedById")
+ b.Property<Guid?>("ModifiedBy")
.HasColumnType("uuid")
- .HasColumnName("modified_by_id");
+ .HasColumnName("modified_by");
b.Property<string>("Name")
.HasColumnType("text")
@@ -877,12 +939,383 @@ namespace IOL.GreatOffice.Api.Migrations
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<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property<Guid?>("AssignedToId")
+ .HasColumnType("uuid")
+ .HasColumnName("assigned_to_id");
+
+ b.Property<DateTime?>("ClosedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("closed_at");
+
+ b.Property<Guid?>("ClosedById")
+ .HasColumnType("uuid")
+ .HasColumnName("closed_by_id");
+
+ b.Property<Guid>("CollectionId")
+ .HasColumnType("uuid")
+ .HasColumnName("collection_id");
+
+ b.Property<DateTime>("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property<Guid?>("CreatedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("created_by");
+
+ b.Property<bool>("Deleted")
+ .HasColumnType("boolean")
+ .HasColumnName("deleted");
+
+ b.Property<DateTime?>("DeletedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("deleted_at");
+
+ b.Property<Guid?>("DeletedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("deleted_by");
+
+ b.Property<string>("Description")
+ .HasColumnType("text")
+ .HasColumnName("description");
+
+ b.Property<DateTime?>("ModifiedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("modified_at");
+
+ b.Property<Guid?>("ModifiedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("modified_by");
+
+ b.Property<string>("PublicId")
+ .HasColumnType("text")
+ .HasColumnName("public_id");
+
+ b.Property<Guid?>("TenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("tenant_id");
+
+ b.Property<string>("Title")
+ .HasColumnType("text")
+ .HasColumnName("title");
+
+ b.Property<Guid?>("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<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property<DateTime>("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property<Guid?>("CreatedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("created_by");
+
+ b.Property<bool>("Deleted")
+ .HasColumnType("boolean")
+ .HasColumnName("deleted");
+
+ b.Property<DateTime?>("DeletedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("deleted_at");
+
+ b.Property<Guid?>("DeletedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("deleted_by");
+
+ b.Property<string>("Description")
+ .HasColumnType("text")
+ .HasColumnName("description");
+
+ b.Property<DateTime?>("ModifiedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("modified_at");
+
+ b.Property<Guid?>("ModifiedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("modified_by");
+
+ b.Property<string>("Name")
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.Property<Guid?>("ProjectId")
+ .HasColumnType("uuid")
+ .HasColumnName("project_id");
+
+ b.Property<Guid?>("TenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("tenant_id");
+
+ b.Property<Guid?>("UserId")
+ .HasColumnType("uuid")
+ .HasColumnName("user_id");
+
+ b.Property<int>("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<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property<bool>("CanBrowse")
+ .HasColumnType("boolean")
+ .HasColumnName("can_browse");
+
+ b.Property<bool>("CanComment")
+ .HasColumnType("boolean")
+ .HasColumnName("can_comment");
+
+ b.Property<bool>("CanEdit")
+ .HasColumnType("boolean")
+ .HasColumnName("can_edit");
+
+ b.Property<bool>("CanSubmit")
+ .HasColumnType("boolean")
+ .HasColumnName("can_submit");
+
+ b.Property<Guid?>("CollectionId")
+ .HasColumnType("uuid")
+ .HasColumnName("collection_id");
+
+ b.Property<DateTime>("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property<bool>("Deleted")
+ .HasColumnType("boolean")
+ .HasColumnName("deleted");
+
+ b.Property<DateTime?>("DeletedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("deleted_at");
+
+ b.Property<DateTime?>("ModifiedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("modified_at");
+
+ b.Property<Guid?>("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<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property<int?>("ClosingStatement")
+ .HasColumnType("integer")
+ .HasColumnName("closing_statement");
+
+ b.Property<DateTime>("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property<Guid?>("CreatedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("created_by");
+
+ b.Property<bool>("Deleted")
+ .HasColumnType("boolean")
+ .HasColumnName("deleted");
+
+ b.Property<DateTime?>("DeletedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("deleted_at");
+
+ b.Property<Guid?>("DeletedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("deleted_by");
+
+ b.Property<DateTime?>("ModifiedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("modified_at");
+
+ b.Property<Guid?>("ModifiedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("modified_by");
+
+ b.Property<Guid?>("TenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("tenant_id");
+
+ b.Property<Guid?>("TodoId")
+ .HasColumnType("uuid")
+ .HasColumnName("todo_id");
+
+ b.Property<Guid?>("UserId")
+ .HasColumnType("uuid")
+ .HasColumnName("user_id");
+
+ b.Property<string>("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<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property<string>("Color")
+ .HasColumnType("text")
+ .HasColumnName("color");
+
+ b.Property<DateTime>("CreatedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created_at");
+
+ b.Property<Guid?>("CreatedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("created_by");
+
+ b.Property<bool>("Deleted")
+ .HasColumnType("boolean")
+ .HasColumnName("deleted");
+
+ b.Property<DateTime?>("DeletedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("deleted_at");
+
+ b.Property<Guid?>("DeletedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("deleted_by");
+
+ b.Property<DateTime?>("ModifiedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("modified_at");
+
+ b.Property<Guid?>("ModifiedBy")
+ .HasColumnType("uuid")
+ .HasColumnName("modified_by");
+
+ b.Property<string>("Name")
+ .HasColumnType("text")
+ .HasColumnName("name");
+
+ b.Property<Guid?>("TenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("tenant_id");
+
+ b.Property<Guid?>("TodoId")
+ .HasColumnType("uuid")
+ .HasColumnName("todo_id");
+
+ b.Property<Guid?>("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<Guid>("Id")
@@ -922,6 +1355,10 @@ namespace IOL.GreatOffice.Api.Migrations
.HasColumnType("text")
.HasColumnName("password");
+ b.Property<Guid?>("TenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("tenant_id");
+
b.Property<string>("Username")
.HasColumnType("text")
.HasColumnName("username");
@@ -929,6 +1366,9 @@ namespace IOL.GreatOffice.Api.Migrations
b.HasKey("Id")
.HasName("pk_users");
+ b.HasIndex("TenantId")
+ .HasDatabaseName("ix_users_tenant_id");
+
b.ToTable("users", (string)null);
});
@@ -955,25 +1395,6 @@ namespace IOL.GreatOffice.Api.Migrations
b.ToTable("data_protection_keys", (string)null);
});
- modelBuilder.Entity("TenantUser", b =>
- {
- b.Property<Guid>("TenantsId")
- .HasColumnType("uuid")
- .HasColumnName("tenants_id");
-
- b.Property<Guid>("UsersId")
- .HasColumnType("uuid")
- .HasColumnName("users_id");
-
- b.HasKey("TenantsId", "UsersId")
- .HasName("pk_tenant_user");
-
- b.HasIndex("UsersId")
- .HasDatabaseName("ix_tenant_user_users_id");
-
- b.ToTable("tenant_user", (string)null);
- });
-
modelBuilder.Entity("CustomerCustomerGroup", b =>
{
b.HasOne("IOL.GreatOffice.Api.Data.Database.Customer", null)
@@ -1022,10 +1443,24 @@ namespace IOL.GreatOffice.Api.Migrations
{
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 =>
@@ -1035,7 +1470,21 @@ namespace IOL.GreatOffice.Api.Migrations
.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 =>
@@ -1045,7 +1494,38 @@ namespace IOL.GreatOffice.Api.Migrations
.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.ForgotPasswordRequest", b =>
@@ -1060,6 +1540,23 @@ namespace IOL.GreatOffice.Api.Migrations
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")
@@ -1067,6 +1564,20 @@ namespace IOL.GreatOffice.Api.Migrations
.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");
});
@@ -1087,6 +1598,40 @@ namespace IOL.GreatOffice.Api.Migrations
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.TimeCategory", b =>
+ {
+ b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant")
+ .WithMany()
+ .HasForeignKey("TenantId")
+ .HasConstraintName("fk_time_categories_tenants_tenant_id");
+
+ b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser")
+ .WithMany()
+ .HasForeignKey("UserId")
+ .HasConstraintName("fk_time_categories_users_user_id");
+
+ b.Navigation("OwningTenant");
+
+ b.Navigation("OwningUser");
+ });
+
modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TimeEntry", b =>
{
b.HasOne("IOL.GreatOffice.Api.Data.Database.TimeCategory", "Category")
@@ -1094,32 +1639,180 @@ namespace IOL.GreatOffice.Api.Migrations
.HasForeignKey("CategoryId")
.HasConstraintName("fk_time_entries_time_categories_category_id");
+ b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant")
+ .WithMany()
+ .HasForeignKey("TenantId")
+ .HasConstraintName("fk_time_entries_tenants_tenant_id");
+
+ b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser")
+ .WithMany()
+ .HasForeignKey("UserId")
+ .HasConstraintName("fk_time_entries_users_user_id");
+
b.Navigation("Category");
+
+ b.Navigation("OwningTenant");
+
+ b.Navigation("OwningUser");
});
modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TimeLabel", b =>
{
+ b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", "OwningTenant")
+ .WithMany()
+ .HasForeignKey("TenantId")
+ .HasConstraintName("fk_time_labels_tenants_tenant_id");
+
b.HasOne("IOL.GreatOffice.Api.Data.Database.TimeEntry", null)
.WithMany("Labels")
.HasForeignKey("TimeEntryId")
.HasConstraintName("fk_time_labels_time_entries_time_entry_id");
+
+ b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "OwningUser")
+ .WithMany()
+ .HasForeignKey("UserId")
+ .HasConstraintName("fk_time_labels_users_user_id");
+
+ b.Navigation("OwningTenant");
+
+ b.Navigation("OwningUser");
});
- modelBuilder.Entity("TenantUser", b =>
+ modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Todo", b =>
{
- b.HasOne("IOL.GreatOffice.Api.Data.Database.Tenant", null)
+ b.HasOne("IOL.GreatOffice.Api.Data.Database.User", "AssignedTo")
.WithMany()
- .HasForeignKey("TenantsId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("fk_tenant_user_tenants_tenants_id");
+ .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.User", null)
+ b.HasOne("IOL.GreatOffice.Api.Data.Database.TodoCollection", "Collection")
.WithMany()
- .HasForeignKey("UsersId")
+ .HasForeignKey("CollectionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
- .HasConstraintName("fk_tenant_user_users_users_id");
+ .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 =>
@@ -1136,10 +1829,32 @@ namespace IOL.GreatOffice.Api.Migrations
b.Navigation("Members");
});
+ modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.Tenant", b =>
+ {
+ b.Navigation("Users");
+ });
+
modelBuilder.Entity("IOL.GreatOffice.Api.Data.Database.TimeEntry", b =>
{
b.Navigation("Labels");
});
+
+ 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
}
}