Hard Reset I guess

This commit is contained in:
Lani Aung
2024-02-11 21:30:36 -07:00
parent 2a1449ff2f
commit a8d3afd2a8
19 changed files with 376 additions and 2463 deletions
+3 -4
View File
@@ -7,8 +7,8 @@ using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace fxl.codes.kisekae.Controllers namespace fxl.codes.kisekae.Controllers;
{
public class HomeController : Controller public class HomeController : Controller
{ {
private readonly DatabaseService _databaseService; private readonly DatabaseService _databaseService;
@@ -35,7 +35,7 @@ namespace fxl.codes.kisekae.Controllers
_databaseService.StoreToDatabase(file); _databaseService.StoreToDatabase(file);
return View(); return Redirect("~/");
} }
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
@@ -44,4 +44,3 @@ namespace fxl.codes.kisekae.Controllers
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
} }
} }
}
-367
View File
@@ -1,367 +0,0 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using fxl.codes.kisekae;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
[DbContext(typeof(KisekaeContext))]
[Migration("20211120044959_Startup")]
partial class Startup
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ConfigurationId");
b.ToTable("Action");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<int>("OffsetX")
.HasColumnType("integer");
b.Property<int>("OffsetY")
.HasColumnType("integer");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("CelId")
.HasColumnType("integer");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<int>("Fix")
.HasColumnType("integer");
b.Property<int>("Mark")
.HasColumnType("integer");
b.Property<int>("PaletteGroup")
.HasColumnType("integer");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.Property<int>("Sets")
.HasColumnType("integer");
b.Property<int>("Transparency")
.HasColumnType("integer");
b.Property<int>("X")
.HasColumnType("integer");
b.Property<int>("Y")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("CelId");
b.HasIndex("ConfigurationId");
b.HasIndex("PaletteId");
b.ToTable("CelConfigs");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("BorderIndex")
.HasColumnType("integer");
b.Property<string>("Data")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Configurations");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("CheckSum")
.HasColumnType("text");
b.Property<string>("FileName")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("KisekaeSets");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("Group")
.HasColumnType("integer");
b.Property<string>("Hex")
.HasColumnType("text");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("PaletteId");
b.ToTable("PaletteColors");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Render", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("CelId")
.HasColumnType("integer");
b.Property<byte[]>("Image")
.HasColumnType("bytea");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("CelId");
b.HasIndex("PaletteId");
b.ToTable("Renders");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Configuration", null)
.WithMany("Actions")
.HasForeignKey("ConfigurationId");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Cels")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Cel", "Cel")
.WithMany()
.HasForeignKey("CelId");
b.HasOne("fxl.codes.kisekae.Entities.Configuration", "Configuration")
.WithMany("Cels")
.HasForeignKey("ConfigurationId");
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany()
.HasForeignKey("PaletteId");
b.Navigation("Cel");
b.Navigation("Configuration");
b.Navigation("Palette");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Configurations")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Palettes")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany("Colors")
.HasForeignKey("PaletteId");
b.Navigation("Palette");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Render", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Cel", "Cel")
.WithMany()
.HasForeignKey("CelId");
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany()
.HasForeignKey("PaletteId");
b.Navigation("Cel");
b.Navigation("Palette");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Navigation("Actions");
b.Navigation("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Navigation("Cels");
b.Navigation("Configurations");
b.Navigation("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Navigation("Colors");
});
#pragma warning restore 612, 618
}
}
}
-372
View File
@@ -1,372 +0,0 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using fxl.codes.kisekae;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
[DbContext(typeof(KisekaeContext))]
[Migration("20211120052043_Renders")]
partial class Renders
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ConfigurationId");
b.ToTable("Action");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<int>("OffsetX")
.HasColumnType("integer");
b.Property<int>("OffsetY")
.HasColumnType("integer");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("CelId")
.HasColumnType("integer");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<int>("Fix")
.HasColumnType("integer");
b.Property<int>("Mark")
.HasColumnType("integer");
b.Property<int>("PaletteGroup")
.HasColumnType("integer");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.Property<int>("Sets")
.HasColumnType("integer");
b.Property<int>("Transparency")
.HasColumnType("integer");
b.Property<int>("X")
.HasColumnType("integer");
b.Property<int>("Y")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("CelId");
b.HasIndex("ConfigurationId");
b.HasIndex("PaletteId");
b.ToTable("CelConfigs");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("BorderIndex")
.HasColumnType("integer");
b.Property<string>("Data")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Configurations");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("CheckSum")
.HasColumnType("text");
b.Property<string>("FileName")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("KisekaeSets");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("Group")
.HasColumnType("integer");
b.Property<string>("Hex")
.HasColumnType("text");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("PaletteId");
b.ToTable("PaletteColors");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Render", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("CelId")
.HasColumnType("integer");
b.Property<byte[]>("Image")
.HasColumnType("bytea");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("CelId");
b.HasIndex("PaletteId");
b.ToTable("Renders");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Configuration", null)
.WithMany("Actions")
.HasForeignKey("ConfigurationId");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Cels")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Cel", "Cel")
.WithMany()
.HasForeignKey("CelId");
b.HasOne("fxl.codes.kisekae.Entities.Configuration", "Configuration")
.WithMany("Cels")
.HasForeignKey("ConfigurationId");
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany()
.HasForeignKey("PaletteId");
b.Navigation("Cel");
b.Navigation("Configuration");
b.Navigation("Palette");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Configurations")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Palettes")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany("Colors")
.HasForeignKey("PaletteId");
b.Navigation("Palette");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Render", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Cel", "Cel")
.WithMany("Renders")
.HasForeignKey("CelId");
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany()
.HasForeignKey("PaletteId");
b.Navigation("Cel");
b.Navigation("Palette");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.Navigation("Renders");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Navigation("Actions");
b.Navigation("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Navigation("Cels");
b.Navigation("Configurations");
b.Navigation("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Navigation("Colors");
});
#pragma warning restore 612, 618
}
}
}
-19
View File
@@ -1,19 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
public partial class Renders : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
}
protected override void Down(MigrationBuilder migrationBuilder)
{
}
}
}
-353
View File
@@ -1,353 +0,0 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using fxl.codes.kisekae;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
[DbContext(typeof(KisekaeContext))]
[Migration("20211120054914_RendersP2")]
partial class RendersP2
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ConfigurationId");
b.ToTable("Action");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<int>("OffsetX")
.HasColumnType("integer");
b.Property<int>("OffsetY")
.HasColumnType("integer");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("CelId")
.HasColumnType("integer");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<int>("Fix")
.HasColumnType("integer");
b.Property<int>("Mark")
.HasColumnType("integer");
b.Property<int>("PaletteGroup")
.HasColumnType("integer");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.Property<int?>("RenderId")
.HasColumnType("integer");
b.Property<int>("Sets")
.HasColumnType("integer");
b.Property<int>("Transparency")
.HasColumnType("integer");
b.Property<int>("X")
.HasColumnType("integer");
b.Property<int>("Y")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("CelId");
b.HasIndex("ConfigurationId");
b.HasIndex("PaletteId");
b.HasIndex("RenderId");
b.ToTable("CelConfigs");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("BorderIndex")
.HasColumnType("integer");
b.Property<string>("Data")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Configurations");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("CheckSum")
.HasColumnType("text");
b.Property<string>("FileName")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("KisekaeSets");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("Group")
.HasColumnType("integer");
b.Property<string>("Hex")
.HasColumnType("text");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("PaletteId");
b.ToTable("PaletteColors");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Render", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<byte[]>("Image")
.HasColumnType("bytea");
b.HasKey("Id");
b.ToTable("Renders");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Configuration", null)
.WithMany("Actions")
.HasForeignKey("ConfigurationId");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Cels")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Cel", "Cel")
.WithMany()
.HasForeignKey("CelId");
b.HasOne("fxl.codes.kisekae.Entities.Configuration", "Configuration")
.WithMany("Cels")
.HasForeignKey("ConfigurationId");
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany()
.HasForeignKey("PaletteId");
b.HasOne("fxl.codes.kisekae.Entities.Render", "Render")
.WithMany()
.HasForeignKey("RenderId");
b.Navigation("Cel");
b.Navigation("Configuration");
b.Navigation("Palette");
b.Navigation("Render");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Configurations")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Palettes")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany("Colors")
.HasForeignKey("PaletteId");
b.Navigation("Palette");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Navigation("Actions");
b.Navigation("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Navigation("Cels");
b.Navigation("Configurations");
b.Navigation("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Navigation("Colors");
});
#pragma warning restore 612, 618
}
}
}
-105
View File
@@ -1,105 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
public partial class RendersP2 : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_Renders_Cels_CelId",
table: "Renders");
migrationBuilder.DropForeignKey(
name: "FK_Renders_Palettes_PaletteId",
table: "Renders");
migrationBuilder.DropIndex(
name: "IX_Renders_CelId",
table: "Renders");
migrationBuilder.DropIndex(
name: "IX_Renders_PaletteId",
table: "Renders");
migrationBuilder.DropColumn(
name: "CelId",
table: "Renders");
migrationBuilder.DropColumn(
name: "PaletteId",
table: "Renders");
migrationBuilder.AddColumn<int>(
name: "RenderId",
table: "CelConfigs",
type: "integer",
nullable: true);
migrationBuilder.CreateIndex(
name: "IX_CelConfigs_RenderId",
table: "CelConfigs",
column: "RenderId");
migrationBuilder.AddForeignKey(
name: "FK_CelConfigs_Renders_RenderId",
table: "CelConfigs",
column: "RenderId",
principalTable: "Renders",
principalColumn: "Id");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_CelConfigs_Renders_RenderId",
table: "CelConfigs");
migrationBuilder.DropIndex(
name: "IX_CelConfigs_RenderId",
table: "CelConfigs");
migrationBuilder.DropColumn(
name: "RenderId",
table: "CelConfigs");
migrationBuilder.AddColumn<int>(
name: "CelId",
table: "Renders",
type: "integer",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "PaletteId",
table: "Renders",
type: "integer",
nullable: true);
migrationBuilder.CreateIndex(
name: "IX_Renders_CelId",
table: "Renders",
column: "CelId");
migrationBuilder.CreateIndex(
name: "IX_Renders_PaletteId",
table: "Renders",
column: "PaletteId");
migrationBuilder.AddForeignKey(
name: "FK_Renders_Cels_CelId",
table: "Renders",
column: "CelId",
principalTable: "Cels",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_Renders_Palettes_PaletteId",
table: "Renders",
column: "PaletteId",
principalTable: "Palettes",
principalColumn: "Id");
}
}
}
-353
View File
@@ -1,353 +0,0 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using fxl.codes.kisekae;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
[DbContext(typeof(KisekaeContext))]
[Migration("20211120201836_UseBackgroundHex")]
partial class UseBackgroundHex
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ConfigurationId");
b.ToTable("Action");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<int>("OffsetX")
.HasColumnType("integer");
b.Property<int>("OffsetY")
.HasColumnType("integer");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("CelId")
.HasColumnType("integer");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<int>("Fix")
.HasColumnType("integer");
b.Property<int>("Mark")
.HasColumnType("integer");
b.Property<int>("PaletteGroup")
.HasColumnType("integer");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.Property<int?>("RenderId")
.HasColumnType("integer");
b.Property<int>("Sets")
.HasColumnType("integer");
b.Property<int>("Transparency")
.HasColumnType("integer");
b.Property<int>("X")
.HasColumnType("integer");
b.Property<int>("Y")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("CelId");
b.HasIndex("ConfigurationId");
b.HasIndex("PaletteId");
b.HasIndex("RenderId");
b.ToTable("CelConfigs");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("BackgroundColorHex")
.HasColumnType("text");
b.Property<string>("Data")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Configurations");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("CheckSum")
.HasColumnType("text");
b.Property<string>("FileName")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("KisekaeSets");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("Group")
.HasColumnType("integer");
b.Property<string>("Hex")
.HasColumnType("text");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("PaletteId");
b.ToTable("PaletteColors");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Render", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<byte[]>("Image")
.HasColumnType("bytea");
b.HasKey("Id");
b.ToTable("Renders");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Configuration", null)
.WithMany("Actions")
.HasForeignKey("ConfigurationId");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Cels")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Cel", "Cel")
.WithMany()
.HasForeignKey("CelId");
b.HasOne("fxl.codes.kisekae.Entities.Configuration", "Configuration")
.WithMany("Cels")
.HasForeignKey("ConfigurationId");
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany()
.HasForeignKey("PaletteId");
b.HasOne("fxl.codes.kisekae.Entities.Render", "Render")
.WithMany()
.HasForeignKey("RenderId");
b.Navigation("Cel");
b.Navigation("Configuration");
b.Navigation("Palette");
b.Navigation("Render");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Configurations")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Palettes")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany("Colors")
.HasForeignKey("PaletteId");
b.Navigation("Palette");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Navigation("Actions");
b.Navigation("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Navigation("Cels");
b.Navigation("Configurations");
b.Navigation("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Navigation("Colors");
});
#pragma warning restore 612, 618
}
}
}
@@ -1,36 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
public partial class UseBackgroundHex : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "BorderIndex",
table: "Configurations");
migrationBuilder.AddColumn<string>(
name: "BackgroundColorHex",
table: "Configurations",
type: "text",
nullable: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "BackgroundColorHex",
table: "Configurations");
migrationBuilder.AddColumn<int>(
name: "BorderIndex",
table: "Configurations",
type: "integer",
nullable: false,
defaultValue: 0);
}
}
}
-386
View File
@@ -1,386 +0,0 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using fxl.codes.kisekae;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
[DbContext(typeof(KisekaeContext))]
[Migration("20211121011039_Positions")]
partial class Positions
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("ConfigurationId");
b.ToTable("Action");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<int>("OffsetX")
.HasColumnType("integer");
b.Property<int>("OffsetY")
.HasColumnType("integer");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("CelId")
.HasColumnType("integer");
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<int?>("ConfigurationId")
.HasColumnType("integer");
b.Property<int>("Fix")
.HasColumnType("integer");
b.Property<int>("Mark")
.HasColumnType("integer");
b.Property<int>("PaletteGroup")
.HasColumnType("integer");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.Property<int?>("RenderId")
.HasColumnType("integer");
b.Property<int>("Sets")
.HasColumnType("integer");
b.Property<int>("Transparency")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("CelId");
b.HasIndex("ConfigurationId");
b.HasIndex("PaletteId");
b.HasIndex("RenderId");
b.ToTable("CelConfigs");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelPosition", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int?>("CelConfigId")
.HasColumnType("integer");
b.Property<int>("Set")
.HasColumnType("integer");
b.Property<int>("X")
.HasColumnType("integer");
b.Property<int>("Y")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("CelConfigId");
b.ToTable("CelPosition");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("BackgroundColorHex")
.HasColumnType("text");
b.Property<string>("Data")
.HasColumnType("text");
b.Property<int>("Height")
.HasColumnType("integer");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<int>("Width")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Configurations");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("CheckSum")
.HasColumnType("text");
b.Property<string>("FileName")
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("KisekaeSets");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<string>("Comment")
.HasColumnType("text");
b.Property<byte[]>("Data")
.HasColumnType("bytea");
b.Property<string>("FileName")
.HasColumnType("text");
b.Property<int?>("KisekaeId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("KisekaeId");
b.ToTable("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<int>("Group")
.HasColumnType("integer");
b.Property<string>("Hex")
.HasColumnType("text");
b.Property<int?>("PaletteId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("PaletteId");
b.ToTable("PaletteColors");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Render", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
b.Property<byte[]>("Image")
.HasColumnType("bytea");
b.HasKey("Id");
b.ToTable("Renders");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Action", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Configuration", null)
.WithMany("Actions")
.HasForeignKey("ConfigurationId");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Cel", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Cels")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Cel", "Cel")
.WithMany()
.HasForeignKey("CelId");
b.HasOne("fxl.codes.kisekae.Entities.Configuration", "Configuration")
.WithMany("Cels")
.HasForeignKey("ConfigurationId");
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany()
.HasForeignKey("PaletteId");
b.HasOne("fxl.codes.kisekae.Entities.Render", "Render")
.WithMany()
.HasForeignKey("RenderId");
b.Navigation("Cel");
b.Navigation("Configuration");
b.Navigation("Palette");
b.Navigation("Render");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelPosition", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.CelConfig", null)
.WithMany("Positions")
.HasForeignKey("CelConfigId");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Configurations")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Kisekae", "Kisekae")
.WithMany("Palettes")
.HasForeignKey("KisekaeId");
b.Navigation("Kisekae");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.PaletteColor", b =>
{
b.HasOne("fxl.codes.kisekae.Entities.Palette", "Palette")
.WithMany("Colors")
.HasForeignKey("PaletteId");
b.Navigation("Palette");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.CelConfig", b =>
{
b.Navigation("Positions");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Configuration", b =>
{
b.Navigation("Actions");
b.Navigation("Cels");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Kisekae", b =>
{
b.Navigation("Cels");
b.Navigation("Configurations");
b.Navigation("Palettes");
});
modelBuilder.Entity("fxl.codes.kisekae.Entities.Palette", b =>
{
b.Navigation("Colors");
});
#pragma warning restore 612, 618
}
}
}
-67
View File
@@ -1,67 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
public partial class Positions : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "X",
table: "CelConfigs");
migrationBuilder.DropColumn(
name: "Y",
table: "CelConfigs");
migrationBuilder.CreateTable(
name: "CelPosition",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Set = table.Column<int>(type: "integer", nullable: false),
X = table.Column<int>(type: "integer", nullable: false),
Y = table.Column<int>(type: "integer", nullable: false),
CelConfigId = table.Column<int>(type: "integer", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_CelPosition", x => x.Id);
table.ForeignKey(
name: "FK_CelPosition_CelConfigs_CelConfigId",
column: x => x.CelConfigId,
principalTable: "CelConfigs",
principalColumn: "Id");
});
migrationBuilder.CreateIndex(
name: "IX_CelPosition_CelConfigId",
table: "CelPosition",
column: "CelConfigId");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "CelPosition");
migrationBuilder.AddColumn<int>(
name: "X",
table: "CelConfigs",
type: "integer",
nullable: false,
defaultValue: 0);
migrationBuilder.AddColumn<int>(
name: "Y",
table: "CelConfigs",
type: "integer",
nullable: false,
defaultValue: 0);
}
}
}
-36
View File
@@ -1,36 +0,0 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace fxl.codes.kisekae.Migrations
{
public partial class SimplifySets : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Comment",
table: "Palettes");
migrationBuilder.DropColumn(
name: "Sets",
table: "CelConfigs");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "Comment",
table: "Palettes",
type: "text",
nullable: true);
migrationBuilder.AddColumn<int>(
name: "Sets",
table: "CelConfigs",
type: "integer",
nullable: false,
defaultValue: 0);
}
}
}
@@ -12,14 +12,15 @@ using fxl.codes.kisekae;
namespace fxl.codes.kisekae.Migrations namespace fxl.codes.kisekae.Migrations
{ {
[DbContext(typeof(KisekaeContext))] [DbContext(typeof(KisekaeContext))]
[Migration("20211122002625_SimplifySets")] [Migration("20240212041548_init")]
partial class SimplifySets partial class init
{ {
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder) protected override void BuildTargetModel(ModelBuilder modelBuilder)
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder
.HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("ProductVersion", "8.0.1")
.HasAnnotation("Relational:MaxIdentifierLength", 63); .HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -1,13 +1,14 @@
using System; using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable #nullable disable
namespace fxl.codes.kisekae.Migrations namespace fxl.codes.kisekae.Migrations
{ {
public partial class Startup : Migration /// <inheritdoc />
public partial class init : Migration
{ {
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder) protected override void Up(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
@@ -24,6 +25,19 @@ namespace fxl.codes.kisekae.Migrations
table.PrimaryKey("PK_KisekaeSets", x => x.Id); table.PrimaryKey("PK_KisekaeSets", x => x.Id);
}); });
migrationBuilder.CreateTable(
name: "Renders",
columns: table => new
{
Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
Image = table.Column<byte[]>(type: "bytea", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Renders", x => x.Id);
});
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Cels", name: "Cels",
columns: table => new columns: table => new
@@ -59,7 +73,7 @@ namespace fxl.codes.kisekae.Migrations
Data = table.Column<string>(type: "text", nullable: true), Data = table.Column<string>(type: "text", nullable: true),
Height = table.Column<int>(type: "integer", nullable: false), Height = table.Column<int>(type: "integer", nullable: false),
Width = table.Column<int>(type: "integer", nullable: false), Width = table.Column<int>(type: "integer", nullable: false),
BorderIndex = table.Column<int>(type: "integer", nullable: false) BackgroundColorHex = table.Column<string>(type: "text", nullable: true)
}, },
constraints: table => constraints: table =>
{ {
@@ -79,7 +93,6 @@ namespace fxl.codes.kisekae.Migrations
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
KisekaeId = table.Column<int>(type: "integer", nullable: true), KisekaeId = table.Column<int>(type: "integer", nullable: true),
FileName = table.Column<string>(type: "text", nullable: true), FileName = table.Column<string>(type: "text", nullable: true),
Comment = table.Column<string>(type: "text", nullable: true),
Data = table.Column<byte[]>(type: "bytea", nullable: true) Data = table.Column<byte[]>(type: "bytea", nullable: true)
}, },
constraints: table => constraints: table =>
@@ -124,10 +137,8 @@ namespace fxl.codes.kisekae.Migrations
PaletteId = table.Column<int>(type: "integer", nullable: true), PaletteId = table.Column<int>(type: "integer", nullable: true),
PaletteGroup = table.Column<int>(type: "integer", nullable: false), PaletteGroup = table.Column<int>(type: "integer", nullable: false),
Comment = table.Column<string>(type: "text", nullable: true), Comment = table.Column<string>(type: "text", nullable: true),
X = table.Column<int>(type: "integer", nullable: false),
Y = table.Column<int>(type: "integer", nullable: false),
Transparency = table.Column<int>(type: "integer", nullable: false), Transparency = table.Column<int>(type: "integer", nullable: false),
Sets = table.Column<int>(type: "integer", nullable: false) RenderId = table.Column<int>(type: "integer", nullable: true)
}, },
constraints: table => constraints: table =>
{ {
@@ -147,6 +158,11 @@ namespace fxl.codes.kisekae.Migrations
column: x => x.PaletteId, column: x => x.PaletteId,
principalTable: "Palettes", principalTable: "Palettes",
principalColumn: "Id"); principalColumn: "Id");
table.ForeignKey(
name: "FK_CelConfigs_Renders_RenderId",
column: x => x.RenderId,
principalTable: "Renders",
principalColumn: "Id");
}); });
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
@@ -170,27 +186,23 @@ namespace fxl.codes.kisekae.Migrations
}); });
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Renders", name: "CelPosition",
columns: table => new columns: table => new
{ {
Id = table.Column<int>(type: "integer", nullable: false) Id = table.Column<int>(type: "integer", nullable: false)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
CelId = table.Column<int>(type: "integer", nullable: true), Set = table.Column<int>(type: "integer", nullable: false),
PaletteId = table.Column<int>(type: "integer", nullable: true), X = table.Column<int>(type: "integer", nullable: false),
Image = table.Column<byte[]>(type: "bytea", nullable: true) Y = table.Column<int>(type: "integer", nullable: false),
CelConfigId = table.Column<int>(type: "integer", nullable: true)
}, },
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_Renders", x => x.Id); table.PrimaryKey("PK_CelPosition", x => x.Id);
table.ForeignKey( table.ForeignKey(
name: "FK_Renders_Cels_CelId", name: "FK_CelPosition_CelConfigs_CelConfigId",
column: x => x.CelId, column: x => x.CelConfigId,
principalTable: "Cels", principalTable: "CelConfigs",
principalColumn: "Id");
table.ForeignKey(
name: "FK_Renders_Palettes_PaletteId",
column: x => x.PaletteId,
principalTable: "Palettes",
principalColumn: "Id"); principalColumn: "Id");
}); });
@@ -214,6 +226,16 @@ namespace fxl.codes.kisekae.Migrations
table: "CelConfigs", table: "CelConfigs",
column: "PaletteId"); column: "PaletteId");
migrationBuilder.CreateIndex(
name: "IX_CelConfigs_RenderId",
table: "CelConfigs",
column: "RenderId");
migrationBuilder.CreateIndex(
name: "IX_CelPosition_CelConfigId",
table: "CelPosition",
column: "CelConfigId");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Cels_KisekaeId", name: "IX_Cels_KisekaeId",
table: "Cels", table: "Cels",
@@ -233,41 +255,35 @@ namespace fxl.codes.kisekae.Migrations
name: "IX_Palettes_KisekaeId", name: "IX_Palettes_KisekaeId",
table: "Palettes", table: "Palettes",
column: "KisekaeId"); column: "KisekaeId");
migrationBuilder.CreateIndex(
name: "IX_Renders_CelId",
table: "Renders",
column: "CelId");
migrationBuilder.CreateIndex(
name: "IX_Renders_PaletteId",
table: "Renders",
column: "PaletteId");
} }
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder) protected override void Down(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Action"); name: "Action");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "CelConfigs"); name: "CelPosition");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "PaletteColors"); name: "PaletteColors");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Renders"); name: "CelConfigs");
migrationBuilder.DropTable(
name: "Configurations");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Cels"); name: "Cels");
migrationBuilder.DropTable(
name: "Configurations");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Palettes"); name: "Palettes");
migrationBuilder.DropTable(
name: "Renders");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "KisekaeSets"); name: "KisekaeSets");
} }
+1 -1
View File
@@ -17,7 +17,7 @@ namespace fxl.codes.kisekae.Migrations
{ {
#pragma warning disable 612, 618 #pragma warning disable 612, 618
modelBuilder modelBuilder
.HasAnnotation("ProductVersion", "6.0.0") .HasAnnotation("ProductVersion", "8.0.1")
.HasAnnotation("Relational:MaxIdentifierLength", 63); .HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+6 -7
View File
@@ -20,11 +20,6 @@ export class PlaySpace {
}); });
this.canvas.setZoom(this.canvas.width / model.width); this.canvas.setZoom(this.canvas.width / model.width);
this.canvas.on("mouse:down", event => {
if (!event.target) return;
console.log(event.target);
});
} }
async selectSet(set?: number) { async selectSet(set?: number) {
@@ -68,9 +63,13 @@ export class PlaySpace {
for (let key in groups) { for (let key in groups) {
const group = groups[key]; const group = groups[key];
const length = group.length; const length = group.length;
if (length < 2) continue;
const top = group.pop(); const top = group.pop();
if (length < 2) {
top.set({hoverCursor: "move"});
continue;
}
if (!top.selectable) continue; if (!top.selectable) continue;
top.set({hoverCursor: "move"}); top.set({hoverCursor: "move"});
+4 -4
View File
@@ -6,8 +6,8 @@ using System.Text.RegularExpressions;
using fxl.codes.kisekae.Entities; using fxl.codes.kisekae.Entities;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace fxl.codes.kisekae.Services namespace fxl.codes.kisekae.Services;
{
public class ConfigurationReaderService public class ConfigurationReaderService
{ {
private const string CelRegex = @"#(?<Mark>\d*)\.?(?<Fix>\d*)\s*(?<FileName>[\w\d\-]*\.[cCeElL]*)\s*\*?" private const string CelRegex = @"#(?<Mark>\d*)\.?(?<Fix>\d*)\s*(?<FileName>[\w\d\-]*\.[cCeElL]*)\s*\*?"
@@ -132,11 +132,12 @@ namespace fxl.codes.kisekae.Services
private static void SetInitialPositions(Configuration dto, string positions) private static void SetInitialPositions(Configuration dto, string positions)
{ {
positions = Regex.Replace(positions, "[\\s]+", "|");
var sets = positions.Split('$', StringSplitOptions.RemoveEmptyEntries); var sets = positions.Split('$', StringSplitOptions.RemoveEmptyEntries);
for (var index = 0; index < sets.Length; index++) for (var index = 0; index < sets.Length; index++)
{ {
var set = sets[index]; var set = sets[index];
var value = set.Split(' ', StringSplitOptions.RemoveEmptyEntries); var value = set.Split('|', StringSplitOptions.RemoveEmptyEntries);
var paletteGroup = int.Parse(value[0]); var paletteGroup = int.Parse(value[0]);
for (var innerIndex = 1; innerIndex < value.Length; innerIndex++) for (var innerIndex = 1; innerIndex < value.Length; innerIndex++)
@@ -160,4 +161,3 @@ namespace fxl.codes.kisekae.Services
} }
} }
} }
}
+15 -19
View File
@@ -11,8 +11,8 @@ using Microsoft.Extensions.Logging;
using SixLabors.ImageSharp; using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.PixelFormats;
namespace fxl.codes.kisekae.Services namespace fxl.codes.kisekae.Services;
{
public class FileParserService public class FileParserService
{ {
private static readonly byte[] KissHeader = "KiSS"u8.ToArray(); private static readonly byte[] KissHeader = "KiSS"u8.ToArray();
@@ -29,8 +29,8 @@ namespace fxl.codes.kisekae.Services
public void UnzipLzh(IFormFile file, MemoryStream memoryStream = null) public void UnzipLzh(IFormFile file, MemoryStream memoryStream = null)
{ {
if (_storage.FileExists(file.FileName)) _storage.DeleteFile(file.FileName); if (!_storage.FileExists(file.FileName))
{
using var writer = _storage.CreateFile(file.FileName); using var writer = _storage.CreateFile(file.FileName);
if (memoryStream != null) if (memoryStream != null)
@@ -40,6 +40,7 @@ namespace fxl.codes.kisekae.Services
writer.Flush(); writer.Flush();
writer.Close(); writer.Close();
}
var root = _storage.GetType() var root = _storage.GetType()
.GetProperty("RootDirectory", BindingFlags.Instance | BindingFlags.NonPublic)? .GetProperty("RootDirectory", BindingFlags.Instance | BindingFlags.NonPublic)?
@@ -47,13 +48,7 @@ namespace fxl.codes.kisekae.Services
.ToString() ?? ""; .ToString() ?? "";
var directory = Path.GetFileNameWithoutExtension(file.FileName); var directory = Path.GetFileNameWithoutExtension(file.FileName);
if (_storage.DirectoryExists(directory)) if (_storage.DirectoryExists(directory)) return;
{
var allFiles = _storage.GetFileNames(Path.Combine(directory, "*"));
foreach (var existingFile in allFiles) _storage.DeleteFile(Path.Combine(directory, existingFile));
_storage.DeleteDirectory(directory);
}
_storage.CreateDirectory(directory); _storage.CreateDirectory(directory);
var process = new Process var process = new Process
@@ -72,8 +67,6 @@ namespace fxl.codes.kisekae.Services
while (!process.StandardOutput.EndOfStream) _logger.LogTrace(process.StandardOutput.ReadLine()); while (!process.StandardOutput.EndOfStream) _logger.LogTrace(process.StandardOutput.ReadLine());
process.WaitForExit(); process.WaitForExit();
_storage.DeleteFile(file.FileName);
} }
public Color[] ParsePalette(Palette palette, out int groups, out int colorsPerGroup) public Color[] ParsePalette(Palette palette, out int groups, out int colorsPerGroup)
@@ -161,19 +154,23 @@ namespace fxl.codes.kisekae.Services
var values = GetValues(bytes, pixelBits); var values = GetValues(bytes, pixelBits);
using var bitmap = new Image<Rgba32>(width, height); using var bitmap = new Image<Rgba32>(width, height);
var index = 0; bitmap.ProcessPixelRows(processor =>
for (var row = 0; row < height; row++)
{ {
for (var column = 0; column < width; column++) var index = 0;
for (var y = 0; y < processor.Height; y++)
{
var row = processor.GetRowSpan(y);
for (var x = 0; x < row.Length; x++)
{ {
var value = values[index]; var value = values[index];
bitmap[row, column] = value == 0 || value >= palette.Colors.Count ? Transparent : Color.ParseHex(palette.Colors[value].Hex); var isTransparent = value == 0 || value >= palette.Colors.Count;
row[x] = isTransparent ? Transparent : Color.ParseHex(palette.Colors[value].Hex);
index++; index++;
} }
if (width % 2 != 0 && pixelBits == 4) index++; if (width % 2 != 0 && pixelBits == 4) index++;
} }
});
using var memory = new MemoryStream(); using var memory = new MemoryStream();
bitmap.SaveAsGif(memory); bitmap.SaveAsGif(memory);
@@ -202,4 +199,3 @@ namespace fxl.codes.kisekae.Services
return values; return values;
} }
} }
}
+1 -5
View File
@@ -7,6 +7,7 @@
<form enctype="multipart/form-data" method="post" asp-action="Upload" id="file_upload"> <form enctype="multipart/form-data" method="post" asp-action="Upload" id="file_upload">
<fieldset> <fieldset>
<input type="file" name="file" multiple accept=".lzh"> <input type="file" name="file" multiple accept=".lzh">
<input type="submit" value="Upload">
</fieldset> </fieldset>
</form> </form>
@@ -26,8 +27,3 @@
</li> </li>
} }
</ul> </ul>
@section Scripts
{
}
+1 -1
View File
File diff suppressed because one or more lines are too long