fix urlShortener

This commit is contained in:
Anton Suhorukov 2023-09-19 19:42:01 +03:00
parent 7aff59b652
commit f6c1406cea
5 changed files with 17 additions and 7275 deletions

View File

@ -28,7 +28,7 @@
namespace ASC.Core.Common.EF.Model;
public class ShortLink
{
public long Id { get; set; }
public ulong Id { get; set; }
public int TenantId { get; set; }
public string Short { get; set; }
public string Link { get; set; }
@ -66,13 +66,11 @@ public static class ShortLinksExtension
.HasDatabaseName("tenant_id");
entity.Property(e => e.Id)
.HasColumnName("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint(19)");
.HasColumnName("id");
entity.Property(e => e.Short)
.HasColumnName("short")
.HasColumnType("varchar(15)")
.HasColumnType("char(15)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci")
.IsRequired(false);
@ -80,7 +78,8 @@ public static class ShortLinksExtension
entity.Property(e => e.TenantId)
.IsRequired()
.HasColumnName("tenant_id")
.HasColumnType("int(10)");
.HasColumnType("int(10)")
.HasDefaultValue("-1");
entity.Property(e => e.Link)
.HasColumnName("link")
@ -108,13 +107,11 @@ public static class ShortLinksExtension
.HasDatabaseName("tenant_id");
entity.Property(e => e.Id)
.HasColumnName("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint(19)");
.HasColumnName("id");
entity.Property(e => e.Short)
.HasColumnName("short")
.HasColumnType("varchar(15)")
.HasColumnType("char(15)")
.HasCharSet("utf8")
.UseCollation("utf8_general_ci")
.IsRequired(false);
@ -128,7 +125,8 @@ public static class ShortLinksExtension
entity.Property(e => e.TenantId)
.IsRequired()
.HasColumnName("tenant_id")
.HasColumnType("int(10)");
.HasColumnType("int(10)")
.HasDefaultValue("-1");
});
}
}

View File

@ -1,76 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace ASC.Migrations.MySql.SaaS.Migrations
{
/// <inheritdoc />
public partial class MigrationContext_Upgrade4 : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<string>(
name: "short",
table: "short_links",
type: "varchar(15)",
nullable: true,
collation: "utf8_general_ci",
oldClrType: typeof(string),
oldType: "varchar(12)",
oldNullable: true,
oldCollation: "utf8_general_ci")
.Annotation("MySql:CharSet", "utf8")
.OldAnnotation("MySql:CharSet", "utf8");
migrationBuilder.AddColumn<int>(
name: "tenant_id",
table: "short_links",
type: "int(10)",
nullable: false,
defaultValue: 0);
migrationBuilder.CreateIndex(
name: "tenant_id",
table: "short_links",
column: "tenant_id");
migrationBuilder.AddForeignKey(
name: "FK_short_links_tenants_tenants_tenant_id",
table: "short_links",
column: "tenant_id",
principalTable: "tenants_tenants",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_short_links_tenants_tenants_tenant_id",
table: "short_links");
migrationBuilder.DropIndex(
name: "tenant_id",
table: "short_links");
migrationBuilder.DropColumn(
name: "tenant_id",
table: "short_links");
migrationBuilder.AlterColumn<string>(
name: "short",
table: "short_links",
type: "varchar(12)",
nullable: true,
collation: "utf8_general_ci",
oldClrType: typeof(string),
oldType: "varchar(15)",
oldNullable: true,
oldCollation: "utf8_general_ci")
.Annotation("MySql:CharSet", "utf8")
.OldAnnotation("MySql:CharSet", "utf8");
}
}
}

View File

@ -4648,9 +4648,9 @@ namespace ASC.Migrations.MySql.SaaS.Migrations
modelBuilder.Entity("ASC.Core.Common.EF.Model.ShortLink", b =>
{
b.Property<long>("Id")
b.Property<ulong>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint(19)")
.HasColumnType("bigint unsigned")
.HasColumnName("id");
b.Property<string>("Link")
@ -4659,13 +4659,15 @@ namespace ASC.Migrations.MySql.SaaS.Migrations
.UseCollation("utf8_bin");
b.Property<string>("Short")
.HasColumnType("varchar(15)")
.HasColumnType("char(15)")
.HasColumnName("short")
.UseCollation("utf8_general_ci")
.HasAnnotation("MySql:CharSet", "utf8");
b.Property<int>("TenantId")
.ValueGeneratedOnAdd()
.HasColumnType("int(10)")
.HasDefaultValue(-1)
.HasColumnName("tenant_id");
b.HasKey("Id")

View File

@ -151,12 +151,12 @@ public static class ShortUrl
return result;
}
public static long Decode(string str)
public static ulong Decode(string str)
{
long num = 0;
ulong num = 0;
for (var i = 0; i < str.Length; i++)
{
num = num * _base + Alphabet.IndexOf(str.ElementAt(i));
num = num * (ulong)(_base + Alphabet.IndexOf(str.ElementAt(i)));
}
return num;
}