new app server and database + added hub and controller of user profile

This commit is contained in:
Artemy
2025-11-04 11:41:06 +07:00
parent 1d442d037c
commit a5a5fc4758
62 changed files with 1760 additions and 2543 deletions
@@ -3,8 +3,8 @@ using System;
using Govor.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
@@ -18,34 +18,34 @@ namespace Govor.Data.Migrations
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.6")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
.HasAnnotation("Relational:MaxIdentifierLength", 63);
MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("Govor.Core.Models.ChatGroup", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<string>("Description")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("varchar(500)");
.HasColumnType("character varying(500)");
b.Property<Guid>("ImageId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<bool>("IsChannel")
.HasColumnType("tinyint(1)");
.HasColumnType("boolean");
b.Property<bool>("IsPrivate")
.HasColumnType("tinyint(1)");
.HasColumnType("boolean");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("varchar(100)");
.HasColumnType("character varying(100)");
b.HasKey("Id");
@@ -56,16 +56,16 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("AddresseeId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("RequesterId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<int>("Status")
.HasColumnType("int");
.HasColumnType("integer");
b.HasKey("Id");
@@ -80,13 +80,13 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("GroupId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("UserId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");
@@ -99,32 +99,32 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.IsRequired()
.HasMaxLength(500)
.HasColumnType("varchar(500)");
.HasColumnType("character varying(500)");
b.Property<DateTime>("EndDate")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<Guid>("GroupId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<string>("InvitationCode")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("varchar(200)");
.HasColumnType("character varying(200)");
b.Property<int>("MaxParticipants")
.HasColumnType("int");
.HasColumnType("integer");
b.Property<Guid>("UserMakerId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");
@@ -139,22 +139,22 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("GroupId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid?>("InvitationId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<bool>("IsBanned")
.HasColumnType("tinyint(1)");
.HasColumnType("boolean");
b.Property<DateTime>("MemberSince")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<Guid>("UserId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");
@@ -169,30 +169,30 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<string>("Code")
.IsRequired()
.HasColumnType("longtext");
.HasColumnType("text");
b.Property<DateTime>("DateCreated")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("longtext");
.HasColumnType("text");
b.Property<DateTime>("EndDate")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<bool>("IsActive")
.HasColumnType("tinyint(1)");
.HasColumnType("boolean");
b.Property<bool>("IsAdmin")
.HasColumnType("tinyint(1)");
.HasColumnType("boolean");
b.Property<int>("MaxParticipants")
.HasColumnType("int");
.HasColumnType("integer");
b.HasKey("Id");
@@ -203,26 +203,32 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<DateTime>("DateCreated")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<string>("MediaType")
.IsRequired()
.HasColumnType("longtext");
.HasColumnType("text");
b.Property<string>("MineType")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("varchar(128)");
.HasColumnType("character varying(128)");
b.Property<Guid?>("OwnerId")
.HasColumnType("uuid");
b.Property<int>("OwnerType")
.HasColumnType("integer");
b.Property<Guid>("UploaderId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<string>("Url")
.IsRequired()
.HasColumnType("longtext");
.HasColumnType("text");
b.HasKey("Id");
@@ -233,13 +239,13 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("MediaFileId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("MessageId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");
@@ -254,38 +260,38 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid?>("ChatGroupId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<DateTime?>("EditedAt")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<string>("EncryptedContent")
.IsRequired()
.HasColumnType("longtext");
.HasColumnType("text");
b.Property<bool>("IsEdited")
.HasColumnType("tinyint(1)");
.HasColumnType("boolean");
b.Property<Guid?>("PrivateChatId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("RecipientId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<int>("RecipientType")
.HasColumnType("int");
.HasColumnType("integer");
b.Property<Guid?>("ReplyToMessageId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("SenderId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<DateTime>("SentAt")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
@@ -300,21 +306,21 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("MessageId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<DateTime>("ReactedAt")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<string>("ReactionCode")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("varchar(64)");
.HasColumnType("character varying(64)");
b.Property<Guid>("UserId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");
@@ -330,16 +336,16 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("MessageId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("UserId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<DateTime>("ViewedAt")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
@@ -353,13 +359,13 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("UserAId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("UserBId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");
@@ -369,7 +375,7 @@ namespace Govor.Data.Migrations
modelBuilder.Entity("Govor.Core.Models.Users.Admin", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("UserId");
@@ -380,22 +386,22 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<bool>("IsUsed")
.ValueGeneratedOnAdd()
.HasColumnType("tinyint(1)")
.HasColumnType("boolean")
.HasDefaultValue(false);
b.Property<byte[]>("PublicKey")
.IsRequired()
.HasColumnType("longblob");
.HasColumnType("bytea");
b.Property<DateTime>("UploadedAt")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<Guid>("UserCryptoSessionId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");
@@ -410,18 +416,18 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<byte[]>("PublicSignedPreKey")
.IsRequired()
.HasColumnType("longblob");
.HasColumnType("bytea");
b.Property<byte[]>("SignedPreKeySignature")
.IsRequired()
.HasColumnType("longblob");
.HasColumnType("bytea");
b.Property<Guid>("UserCryptoSessionId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");
@@ -435,14 +441,14 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<byte[]>("PublicIdentityKey")
.IsRequired()
.HasColumnType("longblob");
.HasColumnType("bytea");
b.Property<Guid>("UserSessionId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");
@@ -456,31 +462,31 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<DateOnly>("CreatedOn")
.HasColumnType("date");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("longtext");
.HasColumnType("text");
b.Property<Guid>("IconId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<Guid>("InviteId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<string>("PasswordHash")
.IsRequired()
.HasColumnType("longtext");
.HasColumnType("text");
b.Property<string>("Username")
.IsRequired()
.HasColumnType("longtext");
.HasColumnType("text");
b.Property<DateTime>("WasOnline")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
@@ -493,28 +499,28 @@ namespace Govor.Data.Migrations
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.Property<DateTime>("CreatedAt")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<string>("DeviceInfo")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("varchar(256)");
.HasColumnType("character varying(256)");
b.Property<DateTime>("ExpiresAt")
.HasColumnType("datetime(6)");
.HasColumnType("timestamp with time zone");
b.Property<bool>("IsRevoked")
.HasColumnType("tinyint(1)");
.HasColumnType("boolean");
b.Property<string>("RefreshToken")
.IsRequired()
.HasColumnType("longtext");
.HasColumnType("text");
b.Property<Guid>("UserId")
.HasColumnType("char(36)");
.HasColumnType("uuid");
b.HasKey("Id");