From 82ade3c31fb17b662feec59e9e654ceb66edbb7a Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Wed, 21 Dec 2022 23:37:23 +0100 Subject: feat: Add initial schema and start login --- code/api/Migrations/AppDatabaseModelSnapshot.cs | 415 ++++++++++++++++++++++++ 1 file changed, 415 insertions(+) create mode 100644 code/api/Migrations/AppDatabaseModelSnapshot.cs (limited to 'code/api/Migrations/AppDatabaseModelSnapshot.cs') diff --git a/code/api/Migrations/AppDatabaseModelSnapshot.cs b/code/api/Migrations/AppDatabaseModelSnapshot.cs new file mode 100644 index 0000000..9f0ab71 --- /dev/null +++ b/code/api/Migrations/AppDatabaseModelSnapshot.cs @@ -0,0 +1,415 @@ +// +using System; +using I2R.Storage.Api.Database; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace I2R.Storage.Api.Migrations +{ + [DbContext(typeof(AppDatabase))] + partial class AppDatabaseModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.1") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.File", 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("FolderId") + .HasColumnType("uuid") + .HasColumnName("folder_id"); + + b.Property("IsBinned") + .HasColumnType("boolean") + .HasColumnName("is_binned"); + + b.Property("IsEncrypted") + .HasColumnType("boolean") + .HasColumnName("is_encrypted"); + + b.Property("LastDeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_deleted_at"); + + b.Property("LastDeletedBy") + .HasColumnType("uuid") + .HasColumnName("last_deleted_by"); + + b.Property("LastModifiedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_modified_at"); + + b.Property("LastModifiedBy") + .HasColumnType("uuid") + .HasColumnName("last_modified_by"); + + b.Property("MimeType") + .IsRequired() + .HasColumnType("text") + .HasColumnName("mime_type"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text") + .HasColumnName("name"); + + b.Property("OwningUserId") + .HasColumnType("uuid") + .HasColumnName("owning_user_id"); + + b.Property("SizeInBytes") + .HasColumnType("bigint") + .HasColumnName("size_in_bytes"); + + b.HasKey("Id") + .HasName("pk_files"); + + b.HasIndex("FolderId") + .HasDatabaseName("ix_files_folder_id"); + + b.ToTable("files", (string)null); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.Folder", 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("IsBinned") + .HasColumnType("boolean") + .HasColumnName("is_binned"); + + b.Property("IsEncrypted") + .HasColumnType("boolean") + .HasColumnName("is_encrypted"); + + b.Property("LastDeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_deleted_at"); + + b.Property("LastDeletedBy") + .HasColumnType("uuid") + .HasColumnName("last_deleted_by"); + + b.Property("LastModifiedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_modified_at"); + + b.Property("LastModifiedBy") + .HasColumnType("uuid") + .HasColumnName("last_modified_by"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text") + .HasColumnName("name"); + + b.Property("OwningUserId") + .HasColumnType("uuid") + .HasColumnName("owning_user_id"); + + b.HasKey("Id") + .HasName("pk_folders"); + + b.ToTable("folders", (string)null); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("id"); + + b.Property("CanRead") + .HasColumnType("boolean") + .HasColumnName("can_read"); + + b.Property("CanWrite") + .HasColumnType("boolean") + .HasColumnName("can_write"); + + b.Property("ContentId") + .HasColumnType("uuid") + .HasColumnName("content_id"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("created_at"); + + b.Property("CreatedBy") + .HasColumnType("uuid") + .HasColumnName("created_by"); + + b.Property("FileId") + .HasColumnType("uuid") + .HasColumnName("file_id"); + + b.Property("FolderId") + .HasColumnType("uuid") + .HasColumnName("folder_id"); + + b.Property("GroupId") + .HasColumnType("uuid") + .HasColumnName("group_id"); + + b.Property("IsFile") + .HasColumnType("boolean") + .HasColumnName("is_file"); + + b.Property("LastDeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_deleted_at"); + + b.Property("LastDeletedBy") + .HasColumnType("uuid") + .HasColumnName("last_deleted_by"); + + b.Property("LastModifiedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_modified_at"); + + b.Property("LastModifiedBy") + .HasColumnType("uuid") + .HasColumnName("last_modified_by"); + + b.Property("OwningUserId") + .HasColumnType("uuid") + .HasColumnName("owning_user_id"); + + b.HasKey("Id") + .HasName("pk_permissions"); + + b.HasIndex("FileId") + .HasDatabaseName("ix_permissions_file_id"); + + b.HasIndex("FolderId") + .HasDatabaseName("ix_permissions_folder_id"); + + b.HasIndex("GroupId") + .HasDatabaseName("ix_permissions_group_id"); + + b.ToTable("permissions", (string)null); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.PermissionGroup", 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("Description") + .IsRequired() + .HasColumnType("text") + .HasColumnName("description"); + + b.Property("LastDeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_deleted_at"); + + b.Property("LastDeletedBy") + .HasColumnType("uuid") + .HasColumnName("last_deleted_by"); + + b.Property("LastModifiedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_modified_at"); + + b.Property("LastModifiedBy") + .HasColumnType("uuid") + .HasColumnName("last_modified_by"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text") + .HasColumnName("name"); + + b.Property("OwningUserId") + .HasColumnType("uuid") + .HasColumnName("owning_user_id"); + + b.HasKey("Id") + .HasName("pk_permission_groups"); + + b.ToTable("permission_groups", (string)null); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.User", 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("FirstName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("first_name"); + + b.Property("LastDeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_deleted_at"); + + b.Property("LastDeletedBy") + .HasColumnType("uuid") + .HasColumnName("last_deleted_by"); + + b.Property("LastLoggedOn") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_logged_on"); + + b.Property("LastModifiedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_modified_at"); + + b.Property("LastModifiedBy") + .HasColumnType("uuid") + .HasColumnName("last_modified_by"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("last_name"); + + b.Property("OwningUserId") + .HasColumnType("uuid") + .HasColumnName("owning_user_id"); + + b.Property("Password") + .IsRequired() + .HasColumnType("text") + .HasColumnName("password"); + + b.Property("PermissionGroupId") + .HasColumnType("uuid") + .HasColumnName("permission_group_id"); + + b.Property("Role") + .HasColumnType("integer") + .HasColumnName("role"); + + b.Property("Username") + .IsRequired() + .HasColumnType("text") + .HasColumnName("username"); + + b.HasKey("Id") + .HasName("pk_users"); + + b.HasIndex("PermissionGroupId") + .HasDatabaseName("ix_users_permission_group_id"); + + b.ToTable("users", (string)null); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.File", b => + { + b.HasOne("I2R.Storage.Api.Database.Models.Folder", "Folder") + .WithMany("Files") + .HasForeignKey("FolderId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_files_folders_folder_id"); + + b.Navigation("Folder"); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.Permission", b => + { + b.HasOne("I2R.Storage.Api.Database.Models.File", null) + .WithMany("Permissions") + .HasForeignKey("FileId") + .HasConstraintName("fk_permissions_files_file_id"); + + b.HasOne("I2R.Storage.Api.Database.Models.Folder", null) + .WithMany("Permissions") + .HasForeignKey("FolderId") + .HasConstraintName("fk_permissions_folders_folder_id"); + + b.HasOne("I2R.Storage.Api.Database.Models.PermissionGroup", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("fk_permissions_permission_groups_group_id"); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.User", b => + { + b.HasOne("I2R.Storage.Api.Database.Models.PermissionGroup", null) + .WithMany("Users") + .HasForeignKey("PermissionGroupId") + .HasConstraintName("fk_users_permission_groups_permission_group_id"); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.File", b => + { + b.Navigation("Permissions"); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.Folder", b => + { + b.Navigation("Files"); + + b.Navigation("Permissions"); + }); + + modelBuilder.Entity("I2R.Storage.Api.Database.Models.PermissionGroup", b => + { + b.Navigation("Users"); + }); +#pragma warning restore 612, 618 + } + } +} -- cgit v1.3