diff --git a/Makefile b/Makefile
index 0a0b213..455bf11 100644
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,7 @@ watch:
dotnet watch --project=src/isnd
test-push:
- isn push src/isn/bin/Debug/isn.0.1.3.nupkg
+ isn push src/isn/bin/Debug/isn.*.nupkg
clean-%: src/%
rm -rf $^/bin $^/obj
@@ -23,5 +23,10 @@ packs: pack-isn pack-isnd pack-isn.abst
clean: clean-isnd clean-isn clean-isn.abst
-
+server-update:
+ dotnet build -c Release
+ dotnet publish -c Release -f net7.0 src/isnd
+ sudo systemctl stop isnd
+ sudo cp -a src/isnd/bin/Release/net7.0/publish/* /srv/www/isnd
+ sudo systemctl start isnd
diff --git a/isndtest.session.sql b/isndtest.session.sql
new file mode 100644
index 0000000..2546b88
--- /dev/null
+++ b/isndtest.session.sql
@@ -0,0 +1,12 @@
+drop table "AspNetRoleClaims" ;
+drop table "AspNetUserRoles" ;
+drop table "AspNetRoles" ;
+drop table "AspNetUserClaims" ;
+drop table "AspNetUserTokens" ;
+drop table "PackageVersions" ;
+drop table "Packages" ;
+drop table "Commits" ;
+drop table "ApiKeys" ;
+drop table "AspNetUserLogins" ;
+drop table "AspNetUsers" ;
+drop table "__EFMigrationsHistory" ;
\ No newline at end of file
diff --git a/src/isn/Program.cs b/src/isn/Program.cs
index 70b0d8a..0c41d7a 100644
--- a/src/isn/Program.cs
+++ b/src/isn/Program.cs
@@ -25,7 +25,7 @@ namespace isn
}
}
static readonly OptionSet storeoptions = new OptionSet {
- { "s|source=", "use source", val => CurrentSource = CurrentSource ?? val },
+ { "s|source=", "use source", val => CurrentSource ??= val },
{ "h|help", "show this message and exit", h => shouldShowPushHelp = h != null },
};
@@ -61,8 +61,6 @@ namespace isn
private static bool shouldShowVersion;
private static bool shouldShowSourceHelp;
private static bool shouldShowPushHelp;
- private static string currentSource = null;
- private static bool storApiKey = false;
static Settings settings = null;
@@ -84,7 +82,7 @@ namespace isn
}
}
- public static string CurrentSource { get => currentSource; set => currentSource = value; }
+ public static string CurrentSource { get => Settings.CurrentSourceKey; set => Settings.CurrentSourceKey = value; }
static int Main(string[] args)
{
diff --git a/src/isn/Settings.cs b/src/isn/Settings.cs
index 2bd0def..e1c832d 100644
--- a/src/isn/Settings.cs
+++ b/src/isn/Settings.cs
@@ -6,13 +6,23 @@ namespace isn
{
public class SourceSettings
{
+ ///
+ /// Protected API Key
+ ///
+ ///
public string ApiKey { get; set; }
+
+ ///
+ /// Key alias
+ ///
+ ///
public string Alias { get; set; }
public string GetClearApiKey()
{
return Protector.UnProtect(ApiKey);
}
+
public void SetApiKey(string key)
{
ApiKey = Protector.Protect(key);
@@ -51,5 +61,18 @@ namespace isn
defSourceKey = value;
}
}
+
+ string currentSourceKey;
+
+ public string CurrentSourceKey
+ {
+ get {
+ return currentSourceKey;
+ }
+ set{
+ if (!Sources.ContainsKey(value)) throw new InvalidOperationException($"source is invalid ({value})");
+ currentSourceKey = value;
+ }
+ }
}
}
diff --git a/src/isn/commands/PushCommand.cs b/src/isn/commands/PushCommand.cs
index 20af127..e593a0a 100644
--- a/src/isn/commands/PushCommand.cs
+++ b/src/isn/commands/PushCommand.cs
@@ -8,15 +8,17 @@ using Newtonsoft.Json;
namespace isn
{
- public static class PushCommand
+ public class PushCommand
{
- static public PushReport Run(string pkg, string source, string apikey)
+ Settings settings;
+
+ public PushCommand(Settings settings)
+ {
+ this.settings = settings;
+ }
+
+ public PushReport Run(string pkg, string source, string apikey)
{
- if (source == null) source = Program.Settings.DefaultSourceKey;
- if (source == null) throw new InvalidOperationException("source is null");
- if (Program.Settings.Sources.Values.Any(s=>s.Alias==source))
- source = Program.Settings.Sources.First(s=>s.Value.Alias==source).Key;
- if (source==null) throw new InvalidOperationException("source is invalid");
var resources = SourceHelpers.GetServerResources(source);
if (resources.Resources == null)
@@ -38,7 +40,7 @@ namespace isn
try
{
Console.WriteLine("Connecting to "+ pubRes.Id);
- return client.UploadFilesToServer(new Uri(pubRes.Id), fi, apikey);
+ return client.UploadFilesToServer(new Uri(pubRes.Id), fi, settings.Sources[source].GetClearApiKey());
}
catch (HttpRequestException hrex)
{
diff --git a/src/isn/commands/push.cs b/src/isn/commands/push.cs
index 58daf08..4e84e0d 100644
--- a/src/isn/commands/push.cs
+++ b/src/isn/commands/push.cs
@@ -12,17 +12,16 @@ namespace isn
public static List PushPkg(IEnumerable pkgs)
{
List pushReports = new List();
+ var cmd = new PushCommand(Settings);
+
+ if (CurrentSource == null) throw new InvalidOperationException("source is null");
foreach (string pkg in pkgs)
{
- var report = PushCommand.Run(pkg, CurrentSource, apiKey);
+ var report = cmd.Run(pkg, CurrentSource, apiKey);
Console.WriteLine(report.ToDoc());
pushReports.Add(report);
}
- if (storApiKey)
- {
- EnsureKeyStored();
- }
return pushReports;
}
diff --git a/src/isn/commands/set-api-key.cs b/src/isn/commands/set-api-key.cs
index 7aecbf2..09ffca8 100644
--- a/src/isn/commands/set-api-key.cs
+++ b/src/isn/commands/set-api-key.cs
@@ -25,44 +25,11 @@ namespace isn
}
else
{
- apiKey = args[0];
- EnsureKeyStored();
+ Settings.Sources[Settings.CurrentSourceKey].SetApiKey(args[0]);
+ SaveConfig();
}
}
- public static void EnsureKeyStored()
- {
- if (CurrentSource == null)
- {
- if (Settings.DefaultSourceKey == null)
- return;
- CurrentSource = Settings.DefaultSourceKey;
- }
-
- if (Settings.Sources.ContainsKey(CurrentSource))
- {
- if (apiKey == null)
- {
- // Une suppression
- Settings.Sources.Remove(CurrentSource);
- if (Settings.DefaultSourceKey == CurrentSource) Settings.DefaultSourceKey = null;
- }
- else
- {
- // Une mise À jour
- Settings.Sources[CurrentSource].SetApiKey(apiKey);
- if (Settings.DefaultSourceKey == null) Settings.DefaultSourceKey = CurrentSource;
- }
- }
- else if (apiKey != null)
- {
- // une addition
- var setting = new SourceSettings ();
- setting.SetApiKey(apiKey);
- Settings.Sources.Add(CurrentSource, setting);
- }
- SaveConfig();
- }
public static void SaveConfig()
{
FileInfo cfgSettingIf = new FileInfo(_configFileName);
diff --git a/src/isn/isn.csproj b/src/isn/isn.csproj
index 2708c47..1add3bd 100644
--- a/src/isn/isn.csproj
+++ b/src/isn/isn.csproj
@@ -15,6 +15,7 @@
1.0.7+Branch.main.Sha.3695c1742965d93eba0ad851656cfaa3e44ba327
+
diff --git a/src/isnd/Controllers/ApiKeysController.cs b/src/isnd/Controllers/ApiKeysController.cs
index bbc2d21..968c924 100644
--- a/src/isnd/Controllers/ApiKeysController.cs
+++ b/src/isnd/Controllers/ApiKeysController.cs
@@ -65,7 +65,7 @@ namespace isnd.Controllers
return View();
}
ApiKey newKey = new ApiKey { UserId = userid, Name = model.Name,
- CreationDate = DateTime.Now };
+ CreationDate = DateTimeOffset.Now.ToUniversalTime() };
_ = dbContext.ApiKeys.Add(newKey);
_ = await dbContext.SaveChangesAsync();
return View("Details", new DetailModel { Name = newKey.Name,
diff --git a/src/isnd/Controllers/Packages/PackagesController.Put.cs b/src/isnd/Controllers/Packages/PackagesController.Put.cs
index 267926b..2c216ff 100644
--- a/src/isnd/Controllers/Packages/PackagesController.Put.cs
+++ b/src/isnd/Controllers/Packages/PackagesController.Put.cs
@@ -46,8 +46,9 @@ namespace isnd.Controllers
Commit commit = new Commit
{
Action = PackageAction.PublishPackage,
- TimeStamp = DateTime.Now
+ TimeStamp = DateTimeOffset.Now.ToUniversalTime()
};
+
dbContext.Commits.Add(commit);
foreach (IFormFile file in Request.Form.Files)
diff --git a/src/isnd/Data/ApiKeys/ApiKey.cs b/src/isnd/Data/ApiKeys/ApiKey.cs
index 517e93a..cc802c6 100644
--- a/src/isnd/Data/ApiKeys/ApiKey.cs
+++ b/src/isnd/Data/ApiKeys/ApiKey.cs
@@ -18,7 +18,7 @@ namespace isnd.Data.ApiKeys
public int ValidityPeriodInDays{ get; set; }
- public DateTime CreationDate { get; set; }
+ public DateTimeOffset CreationDate { get; set; }
public bool IsValid => CreationDate.AddDays(ValidityPeriodInDays) > DateTime.Now;
}
diff --git a/src/isnd/Data/Catalog/CatalogEntry.cs b/src/isnd/Data/Catalog/CatalogEntry.cs
index be8c858..f99964e 100644
--- a/src/isnd/Data/Catalog/CatalogEntry.cs
+++ b/src/isnd/Data/Catalog/CatalogEntry.cs
@@ -44,7 +44,7 @@ namespace isnd.Data.Catalog
public string CommitId { get; set; }
[JsonProperty("commitTimeStamp")]
- public DateTime CommitTimeStamp { get; set; }
+ public DateTimeOffset CommitTimeStamp { get; set; }
///
/// Authors
diff --git a/src/isnd/Data/Catalog/RegistrationPageIndex.cs b/src/isnd/Data/Catalog/RegistrationPageIndex.cs
index cd7a5f3..00b10c2 100644
--- a/src/isnd/Data/Catalog/RegistrationPageIndex.cs
+++ b/src/isnd/Data/Catalog/RegistrationPageIndex.cs
@@ -48,6 +48,6 @@ namespace isnd.Data.Catalog
public List Items { get; set; }
public string CommitId { get; set; }
- public DateTime CommitTimeStamp { get; internal set; }
+ public DateTimeOffset CommitTimeStamp { get; internal set; }
}
}
\ No newline at end of file
diff --git a/src/isnd/Data/Packages/Catalog/IObject.cs b/src/isnd/Data/Packages/Catalog/IObject.cs
index d003d98..2f063ae 100644
--- a/src/isnd/Data/Packages/Catalog/IObject.cs
+++ b/src/isnd/Data/Packages/Catalog/IObject.cs
@@ -13,6 +13,6 @@ namespace isnd.Interfaces
string CommitId { get; }
[JsonProperty("commitTimeStamp")]
- DateTime CommitTimeStamp { get; }
+ DateTimeOffset CommitTimeStamp { get; }
}
}
\ No newline at end of file
diff --git a/src/isnd/Data/Packages/Catalog/PackageRef.cs b/src/isnd/Data/Packages/Catalog/PackageRef.cs
index 4fb93ed..7af2bbc 100644
--- a/src/isnd/Data/Packages/Catalog/PackageRef.cs
+++ b/src/isnd/Data/Packages/Catalog/PackageRef.cs
@@ -47,6 +47,6 @@ namespace isnd.Data.Packages.Catalog
public virtual Commit LastCommit { get; set; }
[JsonProperty("commitTimeStamp")]
- public DateTime CommitTimeStamp { get; set; }
+ public DateTimeOffset CommitTimeStamp { get; set; }
}
}
\ No newline at end of file
diff --git a/src/isnd/Data/Packages/Catalog/Page.cs b/src/isnd/Data/Packages/Catalog/Page.cs
index f5e00e7..2a43f9a 100644
--- a/src/isnd/Data/Packages/Catalog/Page.cs
+++ b/src/isnd/Data/Packages/Catalog/Page.cs
@@ -16,6 +16,6 @@ namespace isnd.Data.Packages.Catalog
[JsonProperty("items")]
public virtual List Items { get; set; }
public string CommitId { get; set; }
- public DateTime CommitTimeStamp { get; set; }
+ public DateTimeOffset CommitTimeStamp { get; set; }
}
}
\ No newline at end of file
diff --git a/src/isnd/Data/Packages/Commit.cs b/src/isnd/Data/Packages/Commit.cs
index e024d11..a4a7851 100644
--- a/src/isnd/Data/Packages/Commit.cs
+++ b/src/isnd/Data/Packages/Commit.cs
@@ -21,7 +21,7 @@ namespace isnd.Data.Packages
public long Id { get; set; }
[Required][JsonIgnore]
- public DateTime TimeStamp{ get; set; }
+ public DateTimeOffset TimeStamp{ get; set; }
[Required]
public PackageAction Action { get; set; }
@@ -30,7 +30,7 @@ namespace isnd.Data.Packages
public string CommitId { get => Id.ToString(); }
[NotMapped]
- public DateTime CommitTimeStamp { get => TimeStamp; }
+ public DateTimeOffset CommitTimeStamp { get => TimeStamp; }
[ForeignKey("CommitNId")]
diff --git a/src/isnd/Data/Packages/Package.cs b/src/isnd/Data/Packages/Package.cs
index 24f4bf1..d376908 100644
--- a/src/isnd/Data/Packages/Package.cs
+++ b/src/isnd/Data/Packages/Package.cs
@@ -20,7 +20,7 @@ namespace isnd.Data.Packages
long CommitNId { get; set; }
string CommitId { get; }
Commit LatestVersion { get; set; }
- DateTime CommitTimeStamp { get; set; }
+ DateTimeOffset CommitTimeStamp { get; set; }
}
public class Package : IObject, IPackage
@@ -61,6 +61,6 @@ namespace isnd.Data.Packages
[ForeignKey("CommitNId")]
public virtual Commit LatestVersion { get; set; }
- public DateTime CommitTimeStamp { get; set; }
+ public DateTimeOffset CommitTimeStamp { get; set; }
}
}
\ No newline at end of file
diff --git a/src/isnd/Migrations/20210424155323_init.Designer.cs b/src/isnd/Migrations/20210424155323_init.Designer.cs
deleted file mode 100644
index 79c891f..0000000
--- a/src/isnd/Migrations/20210424155323_init.Designer.cs
+++ /dev/null
@@ -1,230 +0,0 @@
-//
-using System;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-using isnd.Data;
-
-namespace isndhost.Migrations
-{
- [DbContext(typeof(ApplicationDbContext))]
- [Migration("20210424155323_init")]
- partial class init
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn)
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 63);
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken();
-
- b.Property("Name")
- .HasMaxLength(256);
-
- b.Property("NormalizedName")
- .HasMaxLength(256);
-
- b.HasKey("Id");
-
- b.HasIndex("NormalizedName")
- .IsUnique()
- .HasName("RoleNameIndex");
-
- b.ToTable("AspNetRoles");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ClaimType");
-
- b.Property("ClaimValue");
-
- b.Property("RoleId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("RoleId");
-
- b.ToTable("AspNetRoleClaims");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ClaimType");
-
- b.Property("ClaimValue");
-
- b.Property("UserId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserClaims");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
- {
- b.Property("LoginProvider");
-
- b.Property("ProviderKey");
-
- b.Property("ProviderDisplayName");
-
- b.Property("UserId")
- .IsRequired();
-
- b.HasKey("LoginProvider", "ProviderKey");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserLogins");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
- {
- b.Property("UserId");
-
- b.Property("RoleId");
-
- b.HasKey("UserId", "RoleId");
-
- b.HasIndex("RoleId");
-
- b.ToTable("AspNetUserRoles");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
- {
- b.Property("UserId");
-
- b.Property("LoginProvider");
-
- b.Property("Name");
-
- b.Property("Value");
-
- b.HasKey("UserId", "LoginProvider", "Name");
-
- b.ToTable("AspNetUserTokens");
- });
-
- modelBuilder.Entity("isn.Data.ApplicationUser", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("AccessFailedCount");
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken();
-
- b.Property("Email")
- .HasMaxLength(256);
-
- b.Property("EmailConfirmed");
-
- b.Property("FullName");
-
- b.Property("LockoutEnabled");
-
- b.Property("LockoutEnd");
-
- b.Property("NormalizedEmail")
- .HasMaxLength(256);
-
- b.Property("NormalizedUserName")
- .HasMaxLength(256);
-
- b.Property("PasswordHash");
-
- b.Property("PhoneNumber");
-
- b.Property("PhoneNumberConfirmed");
-
- b.Property("SecurityStamp");
-
- b.Property("TwoFactorEnabled");
-
- b.Property("UserName")
- .HasMaxLength(256);
-
- b.HasKey("Id");
-
- b.HasIndex("NormalizedEmail")
- .HasName("EmailIndex");
-
- b.HasIndex("NormalizedUserName")
- .IsUnique()
- .HasName("UserNameIndex");
-
- b.ToTable("AspNetUsers");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
- {
- b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole")
- .WithMany()
- .HasForeignKey("RoleId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
- {
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
- {
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
- {
- b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole")
- .WithMany()
- .HasForeignKey("RoleId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
- {
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/src/isnd/Migrations/20210424155323_init.cs b/src/isnd/Migrations/20210424155323_init.cs
deleted file mode 100644
index 98fc269..0000000
--- a/src/isnd/Migrations/20210424155323_init.cs
+++ /dev/null
@@ -1,219 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-
-namespace isndhost.Migrations
-{
- public partial class init : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "AspNetRoles",
- columns: table => new
- {
- Id = table.Column(nullable: false),
- Name = table.Column(maxLength: 256, nullable: true),
- NormalizedName = table.Column(maxLength: 256, nullable: true),
- ConcurrencyStamp = table.Column(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetRoles", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUsers",
- columns: table => new
- {
- Id = table.Column(nullable: false),
- UserName = table.Column(maxLength: 256, nullable: true),
- NormalizedUserName = table.Column(maxLength: 256, nullable: true),
- Email = table.Column(maxLength: 256, nullable: true),
- NormalizedEmail = table.Column(maxLength: 256, nullable: true),
- EmailConfirmed = table.Column(nullable: false),
- PasswordHash = table.Column(nullable: true),
- SecurityStamp = table.Column(nullable: true),
- ConcurrencyStamp = table.Column(nullable: true),
- PhoneNumber = table.Column(nullable: true),
- PhoneNumberConfirmed = table.Column(nullable: false),
- TwoFactorEnabled = table.Column(nullable: false),
- LockoutEnd = table.Column(nullable: true),
- LockoutEnabled = table.Column(nullable: false),
- AccessFailedCount = table.Column(nullable: false),
- FullName = table.Column(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUsers", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetRoleClaims",
- columns: table => new
- {
- Id = table.Column(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
- RoleId = table.Column(nullable: false),
- ClaimType = table.Column(nullable: true),
- ClaimValue = table.Column(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id);
- table.ForeignKey(
- name: "FK_AspNetRoleClaims_AspNetRoles_RoleId",
- column: x => x.RoleId,
- principalTable: "AspNetRoles",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserClaims",
- columns: table => new
- {
- Id = table.Column(nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn),
- UserId = table.Column(nullable: false),
- ClaimType = table.Column(nullable: true),
- ClaimValue = table.Column(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserClaims", x => x.Id);
- table.ForeignKey(
- name: "FK_AspNetUserClaims_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserLogins",
- columns: table => new
- {
- LoginProvider = table.Column(nullable: false),
- ProviderKey = table.Column(nullable: false),
- ProviderDisplayName = table.Column(nullable: true),
- UserId = table.Column(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey });
- table.ForeignKey(
- name: "FK_AspNetUserLogins_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserRoles",
- columns: table => new
- {
- UserId = table.Column(nullable: false),
- RoleId = table.Column(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId });
- table.ForeignKey(
- name: "FK_AspNetUserRoles_AspNetRoles_RoleId",
- column: x => x.RoleId,
- principalTable: "AspNetRoles",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_AspNetUserRoles_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserTokens",
- columns: table => new
- {
- UserId = table.Column(nullable: false),
- LoginProvider = table.Column(nullable: false),
- Name = table.Column(nullable: false),
- Value = table.Column(nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
- table.ForeignKey(
- name: "FK_AspNetUserTokens_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetRoleClaims_RoleId",
- table: "AspNetRoleClaims",
- column: "RoleId");
-
- migrationBuilder.CreateIndex(
- name: "RoleNameIndex",
- table: "AspNetRoles",
- column: "NormalizedName",
- unique: true);
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUserClaims_UserId",
- table: "AspNetUserClaims",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUserLogins_UserId",
- table: "AspNetUserLogins",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUserRoles_RoleId",
- table: "AspNetUserRoles",
- column: "RoleId");
-
- migrationBuilder.CreateIndex(
- name: "EmailIndex",
- table: "AspNetUsers",
- column: "NormalizedEmail");
-
- migrationBuilder.CreateIndex(
- name: "UserNameIndex",
- table: "AspNetUsers",
- column: "NormalizedUserName",
- unique: true);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "AspNetRoleClaims");
-
- migrationBuilder.DropTable(
- name: "AspNetUserClaims");
-
- migrationBuilder.DropTable(
- name: "AspNetUserLogins");
-
- migrationBuilder.DropTable(
- name: "AspNetUserRoles");
-
- migrationBuilder.DropTable(
- name: "AspNetUserTokens");
-
- migrationBuilder.DropTable(
- name: "AspNetRoles");
-
- migrationBuilder.DropTable(
- name: "AspNetUsers");
- }
- }
-}
diff --git a/src/isnd/Migrations/20210502153508_api-keys.Designer.cs b/src/isnd/Migrations/20210502153508_api-keys.Designer.cs
deleted file mode 100644
index 05c0c44..0000000
--- a/src/isnd/Migrations/20210502153508_api-keys.Designer.cs
+++ /dev/null
@@ -1,253 +0,0 @@
-//
-using System;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-using isnd.Data;
-
-namespace isndhost.Migrations
-{
- [DbContext(typeof(ApplicationDbContext))]
- [Migration("20210502153508_api-keys")]
- partial class apikeys
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn)
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 63);
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken();
-
- b.Property("Name")
- .HasMaxLength(256);
-
- b.Property("NormalizedName")
- .HasMaxLength(256);
-
- b.HasKey("Id");
-
- b.HasIndex("NormalizedName")
- .IsUnique()
- .HasName("RoleNameIndex");
-
- b.ToTable("AspNetRoles");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ClaimType");
-
- b.Property("ClaimValue");
-
- b.Property("RoleId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("RoleId");
-
- b.ToTable("AspNetRoleClaims");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ClaimType");
-
- b.Property("ClaimValue");
-
- b.Property("UserId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserClaims");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
- {
- b.Property("LoginProvider");
-
- b.Property("ProviderKey");
-
- b.Property("ProviderDisplayName");
-
- b.Property("UserId")
- .IsRequired();
-
- b.HasKey("LoginProvider", "ProviderKey");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserLogins");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
- {
- b.Property("UserId");
-
- b.Property("RoleId");
-
- b.HasKey("UserId", "RoleId");
-
- b.HasIndex("RoleId");
-
- b.ToTable("AspNetUserRoles");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
- {
- b.Property("UserId");
-
- b.Property("LoginProvider");
-
- b.Property("Name");
-
- b.Property("Value");
-
- b.HasKey("UserId", "LoginProvider", "Name");
-
- b.ToTable("AspNetUserTokens");
- });
-
- modelBuilder.Entity("isn.Data.ApiKey", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("UserId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("UserId");
-
- b.ToTable("ApiKeys");
- });
-
- modelBuilder.Entity("isn.Data.ApplicationUser", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("AccessFailedCount");
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken();
-
- b.Property("Email")
- .HasMaxLength(256);
-
- b.Property("EmailConfirmed");
-
- b.Property("FullName");
-
- b.Property("LockoutEnabled");
-
- b.Property("LockoutEnd");
-
- b.Property("NormalizedEmail")
- .HasMaxLength(256);
-
- b.Property("NormalizedUserName")
- .HasMaxLength(256);
-
- b.Property("PasswordHash");
-
- b.Property("PhoneNumber");
-
- b.Property("PhoneNumberConfirmed");
-
- b.Property("SecurityStamp");
-
- b.Property("TwoFactorEnabled");
-
- b.Property("UserName")
- .HasMaxLength(256);
-
- b.HasKey("Id");
-
- b.HasIndex("NormalizedEmail")
- .HasName("EmailIndex");
-
- b.HasIndex("NormalizedUserName")
- .IsUnique()
- .HasName("UserNameIndex");
-
- b.ToTable("AspNetUsers");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
- {
- b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole")
- .WithMany()
- .HasForeignKey("RoleId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
- {
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
- {
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
- {
- b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole")
- .WithMany()
- .HasForeignKey("RoleId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
- {
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("isn.Data.ApiKey", b =>
- {
- b.HasOne("isn.Data.ApplicationUser", "User")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/src/isnd/Migrations/20210502153508_api-keys.cs b/src/isnd/Migrations/20210502153508_api-keys.cs
deleted file mode 100644
index 844a35a..0000000
--- a/src/isnd/Migrations/20210502153508_api-keys.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace isndhost.Migrations
-{
- public partial class apikeys : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "ApiKeys",
- columns: table => new
- {
- Id = table.Column(nullable: false),
- UserId = table.Column(nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_ApiKeys", x => x.Id);
- table.ForeignKey(
- name: "FK_ApiKeys_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_ApiKeys_UserId",
- table: "ApiKeys",
- column: "UserId");
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "ApiKeys");
- }
- }
-}
diff --git a/src/isnd/Migrations/20210508012908_ApkiKey.CreationDate.Designer.cs b/src/isnd/Migrations/20210508012908_ApkiKey.CreationDate.Designer.cs
deleted file mode 100644
index 36afbd2..0000000
--- a/src/isnd/Migrations/20210508012908_ApkiKey.CreationDate.Designer.cs
+++ /dev/null
@@ -1,259 +0,0 @@
-//
-using System;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-using isnd.Data;
-
-namespace isndhost.Migrations
-{
- [DbContext(typeof(ApplicationDbContext))]
- [Migration("20210508012908_ApkiKey.CreationDate")]
- partial class ApkiKeyCreationDate
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn)
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 63);
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken();
-
- b.Property("Name")
- .HasMaxLength(256);
-
- b.Property("NormalizedName")
- .HasMaxLength(256);
-
- b.HasKey("Id");
-
- b.HasIndex("NormalizedName")
- .IsUnique()
- .HasName("RoleNameIndex");
-
- b.ToTable("AspNetRoles");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ClaimType");
-
- b.Property("ClaimValue");
-
- b.Property("RoleId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("RoleId");
-
- b.ToTable("AspNetRoleClaims");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ClaimType");
-
- b.Property("ClaimValue");
-
- b.Property("UserId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserClaims");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
- {
- b.Property("LoginProvider");
-
- b.Property("ProviderKey");
-
- b.Property("ProviderDisplayName");
-
- b.Property("UserId")
- .IsRequired();
-
- b.HasKey("LoginProvider", "ProviderKey");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserLogins");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
- {
- b.Property("UserId");
-
- b.Property("RoleId");
-
- b.HasKey("UserId", "RoleId");
-
- b.HasIndex("RoleId");
-
- b.ToTable("AspNetUserRoles");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
- {
- b.Property("UserId");
-
- b.Property("LoginProvider");
-
- b.Property("Name");
-
- b.Property("Value");
-
- b.HasKey("UserId", "LoginProvider", "Name");
-
- b.ToTable("AspNetUserTokens");
- });
-
- modelBuilder.Entity("isn.Data.ApiKeys.ApiKey", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("CreationDate");
-
- b.Property("Name");
-
- b.Property("UserId")
- .IsRequired();
-
- b.Property("ValidityPeriodInDays");
-
- b.HasKey("Id");
-
- b.HasIndex("UserId");
-
- b.ToTable("ApiKeys");
- });
-
- modelBuilder.Entity("isn.Data.ApplicationUser", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("AccessFailedCount");
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken();
-
- b.Property("Email")
- .HasMaxLength(256);
-
- b.Property("EmailConfirmed");
-
- b.Property("FullName");
-
- b.Property("LockoutEnabled");
-
- b.Property("LockoutEnd");
-
- b.Property("NormalizedEmail")
- .HasMaxLength(256);
-
- b.Property("NormalizedUserName")
- .HasMaxLength(256);
-
- b.Property("PasswordHash");
-
- b.Property("PhoneNumber");
-
- b.Property("PhoneNumberConfirmed");
-
- b.Property("SecurityStamp");
-
- b.Property("TwoFactorEnabled");
-
- b.Property("UserName")
- .HasMaxLength(256);
-
- b.HasKey("Id");
-
- b.HasIndex("NormalizedEmail")
- .HasName("EmailIndex");
-
- b.HasIndex("NormalizedUserName")
- .IsUnique()
- .HasName("UserNameIndex");
-
- b.ToTable("AspNetUsers");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
- {
- b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole")
- .WithMany()
- .HasForeignKey("RoleId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
- {
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
- {
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
- {
- b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole")
- .WithMany()
- .HasForeignKey("RoleId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
- {
- b.HasOne("isn.Data.ApplicationUser")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-
- modelBuilder.Entity("isn.Data.ApiKeys.ApiKey", b =>
- {
- b.HasOne("isn.Data.ApplicationUser", "User")
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade);
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/src/isnd/Migrations/20210508012908_ApkiKey.CreationDate.cs b/src/isnd/Migrations/20210508012908_ApkiKey.CreationDate.cs
deleted file mode 100644
index 77420d9..0000000
--- a/src/isnd/Migrations/20210508012908_ApkiKey.CreationDate.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-namespace isndhost.Migrations
-{
- public partial class ApkiKeyCreationDate : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn(
- name: "CreationDate",
- table: "ApiKeys",
- nullable: false,
- defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified));
-
- migrationBuilder.AddColumn(
- name: "Name",
- table: "ApiKeys",
- nullable: true);
-
- migrationBuilder.AddColumn(
- name: "ValidityPeriodInDays",
- table: "ApiKeys",
- nullable: false,
- defaultValue: 0);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropColumn(
- name: "CreationDate",
- table: "ApiKeys");
-
- migrationBuilder.DropColumn(
- name: "Name",
- table: "ApiKeys");
-
- migrationBuilder.DropColumn(
- name: "ValidityPeriodInDays",
- table: "ApiKeys");
- }
- }
-}
diff --git a/src/isnd/Migrations/20210516060430_packages.Designer.cs b/src/isnd/Migrations/20210516060430_packages.Designer.cs
deleted file mode 100644
index a6cb091..0000000
--- a/src/isnd/Migrations/20210516060430_packages.Designer.cs
+++ /dev/null
@@ -1,316 +0,0 @@
-//
-using System;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-using isnd.Data;
-
-namespace isndhost.Migrations
-{
- [DbContext(typeof(ApplicationDbContext))]
- [Migration("20210516060430_packages")]
- partial class packages
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.SerialColumn)
- .HasAnnotation("ProductVersion", "2.2.6-servicing-10079")
- .HasAnnotation("Relational:MaxIdentifierLength", 63);
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken();
-
- b.Property("Name")
- .HasMaxLength(256);
-
- b.Property("NormalizedName")
- .HasMaxLength(256);
-
- b.HasKey("Id");
-
- b.HasIndex("NormalizedName")
- .IsUnique()
- .HasName("RoleNameIndex");
-
- b.ToTable("AspNetRoles");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ClaimType");
-
- b.Property("ClaimValue");
-
- b.Property("RoleId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("RoleId");
-
- b.ToTable("AspNetRoleClaims");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("ClaimType");
-
- b.Property("ClaimValue");
-
- b.Property("UserId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserClaims");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
- {
- b.Property("LoginProvider");
-
- b.Property("ProviderKey");
-
- b.Property("ProviderDisplayName");
-
- b.Property("UserId")
- .IsRequired();
-
- b.HasKey("LoginProvider", "ProviderKey");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserLogins");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
- {
- b.Property("UserId");
-
- b.Property("RoleId");
-
- b.HasKey("UserId", "RoleId");
-
- b.HasIndex("RoleId");
-
- b.ToTable("AspNetUserRoles");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
- {
- b.Property("UserId");
-
- b.Property("LoginProvider");
-
- b.Property("Name");
-
- b.Property("Value");
-
- b.HasKey("UserId", "LoginProvider", "Name");
-
- b.ToTable("AspNetUserTokens");
- });
-
- modelBuilder.Entity("isn.Data.ApiKeys.ApiKey", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("CreationDate");
-
- b.Property("Name");
-
- b.Property("UserId")
- .IsRequired();
-
- b.Property("ValidityPeriodInDays");
-
- b.HasKey("Id");
-
- b.HasIndex("UserId");
-
- b.ToTable("ApiKeys");
- });
-
- modelBuilder.Entity("isn.Data.ApplicationUser", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("AccessFailedCount");
-
- b.Property("ConcurrencyStamp")
- .IsConcurrencyToken();
-
- b.Property("Email")
- .HasMaxLength(256);
-
- b.Property("EmailConfirmed");
-
- b.Property("FullName");
-
- b.Property("LockoutEnabled");
-
- b.Property("LockoutEnd");
-
- b.Property("NormalizedEmail")
- .HasMaxLength(256);
-
- b.Property("NormalizedUserName")
- .HasMaxLength(256);
-
- b.Property("PasswordHash");
-
- b.Property("PhoneNumber");
-
- b.Property("PhoneNumberConfirmed");
-
- b.Property("SecurityStamp");
-
- b.Property("TwoFactorEnabled");
-
- b.Property("UserName")
- .HasMaxLength(256);
-
- b.HasKey("Id");
-
- b.HasIndex("NormalizedEmail")
- .HasName("EmailIndex");
-
- b.HasIndex("NormalizedUserName")
- .IsUnique()
- .HasName("UserNameIndex");
-
- b.ToTable("AspNetUsers");
- });
-
- modelBuilder.Entity("isn.Data.Package", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd();
-
- b.Property("Description");
-
- b.Property("OwnerId")
- .IsRequired();
-
- b.HasKey("Id");
-
- b.HasIndex("OwnerId");
-
- b.ToTable("Packages");
- });
-
- modelBuilder.Entity("isn.Data.PackageVersion", b =>
- {
- b.Property("FullString")
- .ValueGeneratedOnAdd()
- .HasMaxLength(32);
-
- b.Property