Firebase: model

This commit is contained in:
pavelbannov 2022-08-23 20:03:02 +03:00
parent 1ae7d3b11d
commit 632d7fbc41
9 changed files with 378 additions and 19 deletions

View File

@ -61,12 +61,8 @@ public static class FireBaseUserExtension
entity.ToTable("firebase_users");
entity.HasIndex(e => e.UserId)
entity.HasIndex(e => new { e.TenantId, e.UserId })
.HasDatabaseName("user_id");
entity.HasIndex(e => e.TenantId)
.HasDatabaseName("tenant_id");
entity.HasIndex(e => e.FirebaseDeviceToken)
.HasDatabaseName("firebase_device_token");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.TenantId).HasColumnName("tenant_id");
@ -74,16 +70,16 @@ public static class FireBaseUserExtension
entity.Property(e => e.UserId)
.HasColumnName("user_id")
.HasColumnType("varchar(38)")
.HasColumnType("varchar(36)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
.UseCollation("utf8_general_ci");
entity.Property(e => e.FirebaseDeviceToken)
.HasColumnName("firebase_device_token")
.HasColumnType("varchar(255)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci");
.UseCollation("utf8_general_ci");
entity.Property(e => e.Application)
.HasColumnName("application")
.HasColumnType("varchar(20)")
@ -100,14 +96,10 @@ public static class FireBaseUserExtension
entity.HasKey(e => e.Id)
.HasName("firebase_users_pkey");
entity.ToTable("firebase_users", "onlyoffice");
entity.ToTable("firebase_users", "onlyoffice");
entity.HasIndex(e => e.UserId)
entity.HasIndex(e => new { e.TenantId, e.UserId })
.HasDatabaseName("user_id");
entity.HasIndex(e => e.TenantId)
.HasDatabaseName("tenant_id");
entity.HasIndex(e => e.FirebaseDeviceToken)
.HasDatabaseName("firebase_device_token");
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.TenantId).HasColumnName("tenant_id");
@ -115,7 +107,7 @@ public static class FireBaseUserExtension
entity.Property(e => e.UserId)
.HasColumnName("user_id")
.HasMaxLength(38);
.HasMaxLength(36);
entity.Property(e => e.FirebaseDeviceToken)
.HasColumnName("firebase_device_token")

View File

@ -89,8 +89,8 @@ public class FirebaseDao
};
dbContext.Update(user);
dbContext.SaveChanges();
dbContext.SaveChanges();
return user;
}

View File

@ -58,6 +58,7 @@ builder.WebHost.ConfigureServices((hostContext, services) =>
services.AddBaseDbContext<FilesDbContext>();
services.AddBaseDbContext<NotifyDbContext>();
services.AddBaseDbContext<UrlShortenerFakeDbContext>();
services.AddBaseDbContext<FirebaseDbContext>();
});
var app = builder.Build();

View File

@ -0,0 +1,69 @@
// <auto-generated />
using System;
using ASC.Core.Common.EF.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace ASC.Migrations.MySql.Migrations.FirebaseDb
{
[DbContext(typeof(FirebaseDbContext))]
[Migration("20220823165923_FirebaseDbContextMigrate")]
partial class FirebaseDbContextMigrate
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ASC.Core.Common.EF.FireBaseUser", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("id");
b.Property<string>("Application")
.HasColumnType("varchar(20)")
.HasColumnName("application")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("FirebaseDeviceToken")
.HasColumnType("varchar(255)")
.HasColumnName("firebase_device_token")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<bool?>("IsSubscribed")
.HasColumnType("tinyint(1)")
.HasColumnName("is_subscribed");
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("varchar(36)")
.HasColumnName("user_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.HasKey("Id")
.HasName("PRIMARY");
b.HasIndex("TenantId", "UserId")
.HasDatabaseName("user_id");
b.ToTable("firebase_users", (string)null);
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,48 @@
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ASC.Migrations.MySql.Migrations.FirebaseDb
{
public partial class FirebaseDbContextMigrate : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterDatabase()
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateTable(
name: "firebase_users",
columns: table => new
{
id = table.Column<int>(type: "int", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
user_id = table.Column<string>(type: "varchar(36)", nullable: false, collation: "utf8_general_ci")
.Annotation("MySql:CharSet", "utf8"),
tenant_id = table.Column<int>(type: "int", nullable: false),
firebase_device_token = table.Column<string>(type: "varchar(255)", nullable: true, collation: "utf8_general_ci")
.Annotation("MySql:CharSet", "utf8"),
application = table.Column<string>(type: "varchar(20)", nullable: true, collation: "utf8_general_ci")
.Annotation("MySql:CharSet", "utf8"),
is_subscribed = table.Column<bool>(type: "tinyint(1)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PRIMARY", x => x.id);
})
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.CreateIndex(
name: "user_id",
table: "firebase_users",
columns: new[] { "tenant_id", "user_id" });
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "firebase_users");
}
}
}

View File

@ -0,0 +1,67 @@
// <auto-generated />
using System;
using ASC.Core.Common.EF.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace ASC.Migrations.MySql.Migrations.FirebaseDb
{
[DbContext(typeof(FirebaseDbContext))]
partial class FirebaseDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
modelBuilder.Entity("ASC.Core.Common.EF.FireBaseUser", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("int")
.HasColumnName("id");
b.Property<string>("Application")
.HasColumnType("varchar(20)")
.HasColumnName("application")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<string>("FirebaseDeviceToken")
.HasColumnType("varchar(255)")
.HasColumnName("firebase_device_token")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<bool?>("IsSubscribed")
.HasColumnType("tinyint(1)")
.HasColumnName("is_subscribed");
b.Property<int>("TenantId")
.HasColumnType("int")
.HasColumnName("tenant_id");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("varchar(36)")
.HasColumnName("user_id")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.HasKey("Id")
.HasName("PRIMARY");
b.HasIndex("TenantId", "UserId")
.HasDatabaseName("user_id");
b.ToTable("firebase_users", (string)null);
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,68 @@
// <auto-generated />
using System;
using ASC.Core.Common.EF.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace ASC.Migrations.PostgreSql.Migrations.FirebaseDb
{
[DbContext(typeof(FirebaseDbContext))]
[Migration("20220823165923_FirebaseDbContextMigrate")]
partial class FirebaseDbContextMigrate
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
.HasAnnotation("ProductVersion", "6.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
modelBuilder.Entity("ASC.Core.Common.EF.FireBaseUser", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Application")
.HasMaxLength(20)
.HasColumnType("character varying(20)")
.HasColumnName("application");
b.Property<string>("FirebaseDeviceToken")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("firebase_device_token");
b.Property<bool?>("IsSubscribed")
.HasColumnType("boolean")
.HasColumnName("is_subscribed");
b.Property<int>("TenantId")
.HasColumnType("integer")
.HasColumnName("tenant_id");
b.Property<Guid>("UserId")
.HasMaxLength(36)
.HasColumnType("uuid")
.HasColumnName("user_id");
b.HasKey("Id")
.HasName("firebase_users_pkey");
b.HasIndex("TenantId", "UserId")
.HasDatabaseName("user_id");
b.ToTable("firebase_users", "onlyoffice");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,48 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace ASC.Migrations.PostgreSql.Migrations.FirebaseDb
{
public partial class FirebaseDbContextMigrate : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.EnsureSchema(
name: "onlyoffice");
migrationBuilder.CreateTable(
name: "firebase_users",
schema: "onlyoffice",
columns: table => new
{
id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
user_id = table.Column<Guid>(type: "uuid", maxLength: 36, nullable: false),
tenant_id = table.Column<int>(type: "integer", nullable: false),
firebase_device_token = table.Column<string>(type: "character varying(255)", maxLength: 255, nullable: true),
application = table.Column<string>(type: "character varying(20)", maxLength: 20, nullable: true),
is_subscribed = table.Column<bool>(type: "boolean", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("firebase_users_pkey", x => x.id);
});
migrationBuilder.CreateIndex(
name: "user_id",
schema: "onlyoffice",
table: "firebase_users",
columns: new[] { "tenant_id", "user_id" });
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "firebase_users",
schema: "onlyoffice");
}
}
}

View File

@ -0,0 +1,66 @@
// <auto-generated />
using System;
using ASC.Core.Common.EF.Context;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace ASC.Migrations.PostgreSql.Migrations.FirebaseDb
{
[DbContext(typeof(FirebaseDbContext))]
partial class FirebaseDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
.HasAnnotation("ProductVersion", "6.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
modelBuilder.Entity("ASC.Core.Common.EF.FireBaseUser", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasColumnName("id")
.HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
b.Property<string>("Application")
.HasMaxLength(20)
.HasColumnType("character varying(20)")
.HasColumnName("application");
b.Property<string>("FirebaseDeviceToken")
.HasMaxLength(255)
.HasColumnType("character varying(255)")
.HasColumnName("firebase_device_token");
b.Property<bool?>("IsSubscribed")
.HasColumnType("boolean")
.HasColumnName("is_subscribed");
b.Property<int>("TenantId")
.HasColumnType("integer")
.HasColumnName("tenant_id");
b.Property<Guid>("UserId")
.HasMaxLength(36)
.HasColumnType("uuid")
.HasColumnName("user_id");
b.HasKey("Id")
.HasName("firebase_users_pkey");
b.HasIndex("TenantId", "UserId")
.HasDatabaseName("user_id");
b.ToTable("firebase_users", "onlyoffice");
});
#pragma warning restore 612, 618
}
}
}