diff options
Diffstat (limited to 'code/api/src/Migrations/AppDbContextModelSnapshot.cs')
| -rw-r--r-- | code/api/src/Migrations/AppDbContextModelSnapshot.cs | 891 |
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 } } |
