diff --git a/MareSynchronosServer/MareSynchronosServer/Migrations/20220816170426_SetMaxLimitForStrings.Designer.cs b/MareSynchronosServer/MareSynchronosServer/Migrations/20220816170426_SetMaxLimitForStrings.Designer.cs
new file mode 100644
index 0000000..6852d4e
--- /dev/null
+++ b/MareSynchronosServer/MareSynchronosServer/Migrations/20220816170426_SetMaxLimitForStrings.Designer.cs
@@ -0,0 +1,302 @@
+//
+using System;
+using MareSynchronosServer.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace MareSynchronosServer.Migrations
+{
+ [DbContext(typeof(MareDbContext))]
+ [Migration("20220816170426_SetMaxLimitForStrings")]
+ partial class SetMaxLimitForStrings
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "6.0.8")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("MareSynchronosServer.Models.Auth", b =>
+ {
+ b.Property("HashedKey")
+ .HasMaxLength(64)
+ .HasColumnType("character varying(64)")
+ .HasColumnName("hashed_key");
+
+ b.Property("UserUID")
+ .HasColumnType("character varying(10)")
+ .HasColumnName("user_uid");
+
+ b.HasKey("HashedKey")
+ .HasName("pk_auth");
+
+ b.HasIndex("UserUID")
+ .HasDatabaseName("ix_auth_user_uid");
+
+ b.ToTable("auth", (string)null);
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.Banned", b =>
+ {
+ b.Property("CharacterIdentification")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("character_identification");
+
+ b.Property("Reason")
+ .HasColumnType("text")
+ .HasColumnName("reason");
+
+ b.Property("Timestamp")
+ .IsConcurrencyToken()
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("bytea")
+ .HasColumnName("timestamp");
+
+ b.HasKey("CharacterIdentification")
+ .HasName("pk_banned_users");
+
+ b.ToTable("banned_users", (string)null);
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.BannedRegistrations", b =>
+ {
+ b.Property("DiscordIdOrLodestoneAuth")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("discord_id_or_lodestone_auth");
+
+ b.HasKey("DiscordIdOrLodestoneAuth")
+ .HasName("pk_banned_registrations");
+
+ b.ToTable("banned_registrations", (string)null);
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.ClientPair", b =>
+ {
+ b.Property("UserUID")
+ .HasMaxLength(10)
+ .HasColumnType("character varying(10)")
+ .HasColumnName("user_uid");
+
+ b.Property("OtherUserUID")
+ .HasMaxLength(10)
+ .HasColumnType("character varying(10)")
+ .HasColumnName("other_user_uid");
+
+ b.Property("AllowReceivingMessages")
+ .HasColumnType("boolean")
+ .HasColumnName("allow_receiving_messages");
+
+ b.Property("IsPaused")
+ .HasColumnType("boolean")
+ .HasColumnName("is_paused");
+
+ b.Property("Timestamp")
+ .IsConcurrencyToken()
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("bytea")
+ .HasColumnName("timestamp");
+
+ b.HasKey("UserUID", "OtherUserUID")
+ .HasName("pk_client_pairs");
+
+ b.HasIndex("OtherUserUID")
+ .HasDatabaseName("ix_client_pairs_other_user_uid");
+
+ b.HasIndex("UserUID")
+ .HasDatabaseName("ix_client_pairs_user_uid");
+
+ b.ToTable("client_pairs", (string)null);
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.FileCache", b =>
+ {
+ b.Property("Hash")
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("hash");
+
+ b.Property("Timestamp")
+ .IsConcurrencyToken()
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("bytea")
+ .HasColumnName("timestamp");
+
+ b.Property("Uploaded")
+ .HasColumnType("boolean")
+ .HasColumnName("uploaded");
+
+ b.Property("UploaderUID")
+ .HasMaxLength(10)
+ .HasColumnType("character varying(10)")
+ .HasColumnName("uploader_uid");
+
+ b.HasKey("Hash")
+ .HasName("pk_file_caches");
+
+ b.HasIndex("UploaderUID")
+ .HasDatabaseName("ix_file_caches_uploader_uid");
+
+ b.ToTable("file_caches", (string)null);
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.ForbiddenUploadEntry", b =>
+ {
+ b.Property("Hash")
+ .HasMaxLength(40)
+ .HasColumnType("character varying(40)")
+ .HasColumnName("hash");
+
+ b.Property("ForbiddenBy")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("forbidden_by");
+
+ b.Property("Timestamp")
+ .IsConcurrencyToken()
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("bytea")
+ .HasColumnName("timestamp");
+
+ b.HasKey("Hash")
+ .HasName("pk_forbidden_upload_entries");
+
+ b.ToTable("forbidden_upload_entries", (string)null);
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.LodeStoneAuth", b =>
+ {
+ b.Property("DiscordId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("numeric(20,0)")
+ .HasColumnName("discord_id");
+
+ b.Property("HashedLodestoneId")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("hashed_lodestone_id");
+
+ b.Property("LodestoneAuthString")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("lodestone_auth_string");
+
+ b.Property("StartedAt")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("started_at");
+
+ b.Property("UserUID")
+ .HasColumnType("character varying(10)")
+ .HasColumnName("user_uid");
+
+ b.HasKey("DiscordId")
+ .HasName("pk_lodestone_auth");
+
+ b.HasIndex("UserUID")
+ .HasDatabaseName("ix_lodestone_auth_user_uid");
+
+ b.ToTable("lodestone_auth", (string)null);
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.User", b =>
+ {
+ b.Property("UID")
+ .HasMaxLength(10)
+ .HasColumnType("character varying(10)")
+ .HasColumnName("uid");
+
+ b.Property("CharacterIdentification")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
+ .HasColumnName("character_identification");
+
+ b.Property("IsAdmin")
+ .HasColumnType("boolean")
+ .HasColumnName("is_admin");
+
+ b.Property("IsModerator")
+ .HasColumnType("boolean")
+ .HasColumnName("is_moderator");
+
+ b.Property("LastLoggedIn")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("last_logged_in");
+
+ b.Property("Timestamp")
+ .IsConcurrencyToken()
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("bytea")
+ .HasColumnName("timestamp");
+
+ b.HasKey("UID")
+ .HasName("pk_users");
+
+ b.HasIndex("CharacterIdentification")
+ .HasDatabaseName("ix_users_character_identification");
+
+ b.ToTable("users", (string)null);
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.Auth", b =>
+ {
+ b.HasOne("MareSynchronosServer.Models.User", "User")
+ .WithMany()
+ .HasForeignKey("UserUID")
+ .HasConstraintName("fk_auth_users_user_temp_id");
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.ClientPair", b =>
+ {
+ b.HasOne("MareSynchronosServer.Models.User", "OtherUser")
+ .WithMany()
+ .HasForeignKey("OtherUserUID")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired()
+ .HasConstraintName("fk_client_pairs_users_other_user_temp_id1");
+
+ b.HasOne("MareSynchronosServer.Models.User", "User")
+ .WithMany()
+ .HasForeignKey("UserUID")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired()
+ .HasConstraintName("fk_client_pairs_users_user_temp_id2");
+
+ b.Navigation("OtherUser");
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.FileCache", b =>
+ {
+ b.HasOne("MareSynchronosServer.Models.User", "Uploader")
+ .WithMany()
+ .HasForeignKey("UploaderUID")
+ .HasConstraintName("fk_file_caches_users_uploader_uid");
+
+ b.Navigation("Uploader");
+ });
+
+ modelBuilder.Entity("MareSynchronosServer.Models.LodeStoneAuth", b =>
+ {
+ b.HasOne("MareSynchronosServer.Models.User", "User")
+ .WithMany()
+ .HasForeignKey("UserUID")
+ .HasConstraintName("fk_lodestone_auth_users_user_uid");
+
+ b.Navigation("User");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/MareSynchronosServer/MareSynchronosServer/Migrations/20220816170426_SetMaxLimitForStrings.cs b/MareSynchronosServer/MareSynchronosServer/Migrations/20220816170426_SetMaxLimitForStrings.cs
new file mode 100644
index 0000000..a6cbde0
--- /dev/null
+++ b/MareSynchronosServer/MareSynchronosServer/Migrations/20220816170426_SetMaxLimitForStrings.cs
@@ -0,0 +1,131 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace MareSynchronosServer.Migrations
+{
+ public partial class SetMaxLimitForStrings : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AlterColumn(
+ name: "character_identification",
+ table: "users",
+ type: "character varying(100)",
+ maxLength: 100,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "text",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "lodestone_auth_string",
+ table: "lodestone_auth",
+ type: "character varying(100)",
+ maxLength: 100,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "text",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "hashed_lodestone_id",
+ table: "lodestone_auth",
+ type: "character varying(100)",
+ maxLength: 100,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "text",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "forbidden_by",
+ table: "forbidden_upload_entries",
+ type: "character varying(100)",
+ maxLength: 100,
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "text",
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "character_identification",
+ table: "banned_users",
+ type: "character varying(100)",
+ maxLength: 100,
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "text");
+
+ migrationBuilder.AlterColumn(
+ name: "discord_id_or_lodestone_auth",
+ table: "banned_registrations",
+ type: "character varying(100)",
+ maxLength: 100,
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "text");
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AlterColumn(
+ name: "character_identification",
+ table: "users",
+ type: "text",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "character varying(100)",
+ oldMaxLength: 100,
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "lodestone_auth_string",
+ table: "lodestone_auth",
+ type: "text",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "character varying(100)",
+ oldMaxLength: 100,
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "hashed_lodestone_id",
+ table: "lodestone_auth",
+ type: "text",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "character varying(100)",
+ oldMaxLength: 100,
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "forbidden_by",
+ table: "forbidden_upload_entries",
+ type: "text",
+ nullable: true,
+ oldClrType: typeof(string),
+ oldType: "character varying(100)",
+ oldMaxLength: 100,
+ oldNullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "character_identification",
+ table: "banned_users",
+ type: "text",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "character varying(100)",
+ oldMaxLength: 100);
+
+ migrationBuilder.AlterColumn(
+ name: "discord_id_or_lodestone_auth",
+ table: "banned_registrations",
+ type: "text",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "character varying(100)",
+ oldMaxLength: 100);
+ }
+ }
+}
diff --git a/MareSynchronosServer/MareSynchronosServer/Migrations/MareDbContextModelSnapshot.cs b/MareSynchronosServer/MareSynchronosServer/Migrations/MareDbContextModelSnapshot.cs
index ea90d28..0e6cb67 100644
--- a/MareSynchronosServer/MareSynchronosServer/Migrations/MareDbContextModelSnapshot.cs
+++ b/MareSynchronosServer/MareSynchronosServer/Migrations/MareDbContextModelSnapshot.cs
@@ -17,7 +17,7 @@ namespace MareSynchronosServer.Migrations
{
#pragma warning disable 612, 618
modelBuilder
- .HasAnnotation("ProductVersion", "6.0.6")
+ .HasAnnotation("ProductVersion", "6.0.8")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -45,7 +45,8 @@ namespace MareSynchronosServer.Migrations
modelBuilder.Entity("MareSynchronosServer.Models.Banned", b =>
{
b.Property("CharacterIdentification")
- .HasColumnType("text")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
.HasColumnName("character_identification");
b.Property("Reason")
@@ -67,7 +68,8 @@ namespace MareSynchronosServer.Migrations
modelBuilder.Entity("MareSynchronosServer.Models.BannedRegistrations", b =>
{
b.Property("DiscordIdOrLodestoneAuth")
- .HasColumnType("text")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
.HasColumnName("discord_id_or_lodestone_auth");
b.HasKey("DiscordIdOrLodestoneAuth")
@@ -132,6 +134,7 @@ namespace MareSynchronosServer.Migrations
.HasColumnName("uploaded");
b.Property("UploaderUID")
+ .HasMaxLength(10)
.HasColumnType("character varying(10)")
.HasColumnName("uploader_uid");
@@ -152,7 +155,8 @@ namespace MareSynchronosServer.Migrations
.HasColumnName("hash");
b.Property("ForbiddenBy")
- .HasColumnType("text")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
.HasColumnName("forbidden_by");
b.Property("Timestamp")
@@ -175,11 +179,13 @@ namespace MareSynchronosServer.Migrations
.HasColumnName("discord_id");
b.Property("HashedLodestoneId")
- .HasColumnType("text")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
.HasColumnName("hashed_lodestone_id");
b.Property("LodestoneAuthString")
- .HasColumnType("text")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
.HasColumnName("lodestone_auth_string");
b.Property("StartedAt")
@@ -207,7 +213,8 @@ namespace MareSynchronosServer.Migrations
.HasColumnName("uid");
b.Property("CharacterIdentification")
- .HasColumnType("text")
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)")
.HasColumnName("character_identification");
b.Property("IsAdmin")
diff --git a/MareSynchronosServer/MareSynchronosServer/Models/Banned.cs b/MareSynchronosServer/MareSynchronosServer/Models/Banned.cs
index 32b3405..63d3958 100644
--- a/MareSynchronosServer/MareSynchronosServer/Models/Banned.cs
+++ b/MareSynchronosServer/MareSynchronosServer/Models/Banned.cs
@@ -5,6 +5,7 @@ namespace MareSynchronosServer.Models
public class Banned
{
[Key]
+ [MaxLength(100)]
public string CharacterIdentification { get; set; }
public string Reason { get; set; }
[Timestamp]
diff --git a/MareSynchronosServer/MareSynchronosServer/Models/BannedRegistrations.cs b/MareSynchronosServer/MareSynchronosServer/Models/BannedRegistrations.cs
index ca107a7..f811399 100644
--- a/MareSynchronosServer/MareSynchronosServer/Models/BannedRegistrations.cs
+++ b/MareSynchronosServer/MareSynchronosServer/Models/BannedRegistrations.cs
@@ -5,6 +5,7 @@ namespace MareSynchronosServer.Models
public class BannedRegistrations
{
[Key]
+ [MaxLength(100)]
public string DiscordIdOrLodestoneAuth { get; set; }
}
}
diff --git a/MareSynchronosServer/MareSynchronosServer/Models/FileCache.cs b/MareSynchronosServer/MareSynchronosServer/Models/FileCache.cs
index da48560..d84f2a6 100644
--- a/MareSynchronosServer/MareSynchronosServer/Models/FileCache.cs
+++ b/MareSynchronosServer/MareSynchronosServer/Models/FileCache.cs
@@ -7,6 +7,7 @@ namespace MareSynchronosServer.Models
[Key]
[MaxLength(40)]
public string Hash { get; set; }
+ [MaxLength(10)]
public string UploaderUID { get; set; }
public User Uploader { get; set; }
public bool Uploaded { get; set; }
diff --git a/MareSynchronosServer/MareSynchronosServer/Models/ForbiddenUploadEntry.cs b/MareSynchronosServer/MareSynchronosServer/Models/ForbiddenUploadEntry.cs
index bc0c34d..cf3e4ae 100644
--- a/MareSynchronosServer/MareSynchronosServer/Models/ForbiddenUploadEntry.cs
+++ b/MareSynchronosServer/MareSynchronosServer/Models/ForbiddenUploadEntry.cs
@@ -7,6 +7,7 @@ namespace MareSynchronosServer.Models
[Key]
[MaxLength(40)]
public string Hash { get; set; }
+ [MaxLength(100)]
public string ForbiddenBy { get; set; }
[Timestamp]
public byte[] Timestamp { get; set; }
diff --git a/MareSynchronosServer/MareSynchronosServer/Models/LodeStoneAuth.cs b/MareSynchronosServer/MareSynchronosServer/Models/LodeStoneAuth.cs
index af2c1ba..976a52d 100644
--- a/MareSynchronosServer/MareSynchronosServer/Models/LodeStoneAuth.cs
+++ b/MareSynchronosServer/MareSynchronosServer/Models/LodeStoneAuth.cs
@@ -7,7 +7,9 @@ namespace MareSynchronosServer.Models
{
[Key]
public ulong DiscordId { get; set; }
+ [MaxLength(100)]
public string HashedLodestoneId { get; set; }
+ [MaxLength(100)]
public string? LodestoneAuthString { get; set; }
public User? User { get; set; }
public DateTime? StartedAt { get; set; }
diff --git a/MareSynchronosServer/MareSynchronosServer/Models/User.cs b/MareSynchronosServer/MareSynchronosServer/Models/User.cs
index 38b1a24..ff4fcd2 100644
--- a/MareSynchronosServer/MareSynchronosServer/Models/User.cs
+++ b/MareSynchronosServer/MareSynchronosServer/Models/User.cs
@@ -8,6 +8,7 @@ namespace MareSynchronosServer.Models
[Key]
[MaxLength(10)]
public string UID { get; set; }
+ [MaxLength(100)]
public string CharacterIdentification { get; set; }
[Timestamp]
public byte[] Timestamp { get; set; }