From b164516d98b2724bed5f78e2c214512825333bff Mon Sep 17 00:00:00 2001
From: Karpenko Alex <81957232+AleksKSoftware@users.noreply.github.com>
Date: Thu, 1 Feb 2024 18:44:49 +0100
Subject: [PATCH] Removed JobId columns (#364)
* Removed JobId columns in the tables: ChannelOperationRequest, Nodes, WalletWithdrawalRequest.
* Update src/Pages/Nodes.razor
Co-authored-by: Rodrigo <39995243+RodriFS@users.noreply.github.com>
---------
Co-authored-by: Rodrigo <39995243+RodriFS@users.noreply.github.com>
---
src/Data/Models/ChannelOperationRequest.cs | 5 -
src/Data/Models/Node.cs | 5 -
src/Data/Models/WalletWithdrawalRequest.cs | 5 -
src/Data/Repositories/ChannelRepository.cs | 3 -
src/Jobs/MonitorChannelsJob.cs | 4 +-
src/Jobs/NodeSubscriptorJob.cs | 1 -
...240123130535_RemoveJobIdColumn.Designer.cs | 1261 +++++++++++++++++
.../20240123130535_RemoveJobIdColumn.cs | 66 +
.../ApplicationDbContextModelSnapshot.cs | 14 +-
src/Pages/ChannelRequests.razor | 3 -
src/Pages/Nodes.razor | 4 -
src/Pages/Wallets.razor | 2 -
src/Pages/Withdrawals.razor | 2 -
src/Rpc/NodeGuardService.cs | 7 +-
14 files changed, 1332 insertions(+), 50 deletions(-)
create mode 100644 src/Migrations/20240123130535_RemoveJobIdColumn.Designer.cs
create mode 100644 src/Migrations/20240123130535_RemoveJobIdColumn.cs
diff --git a/src/Data/Models/ChannelOperationRequest.cs b/src/Data/Models/ChannelOperationRequest.cs
index a96b0544..17e8e226 100644
--- a/src/Data/Models/ChannelOperationRequest.cs
+++ b/src/Data/Models/ChannelOperationRequest.cs
@@ -150,11 +150,6 @@ public decimal Amount
[NotMapped]
public int NumberOfSignaturesCollected => ChannelOperationRequestPsbts == null ? 0 : ChannelOperationRequestPsbts.Count(x => !x.IsFinalisedPSBT && !x.IsTemplatePSBT && !x.IsInternalWalletPSBT);
- ///
- /// This is the JobId provided by Quartz of the job executing this request.
- ///
- public string? JobId { get; set; }
-
///
/// This indicates if the user requested a changeless operation by selecting UTXOs
///
diff --git a/src/Data/Models/Node.cs b/src/Data/Models/Node.cs
index 2a8ae58d..957ebc12 100644
--- a/src/Data/Models/Node.cs
+++ b/src/Data/Models/Node.cs
@@ -68,11 +68,6 @@ public class Node : Entity
public ICollection ChannelOperationRequestsAsDestination { get; set; }
public ICollection Users { get; set; }
-
- ///
- /// This is the JobId provided by Quartz of the job running the subscription to get the info of the node.
- ///
- public string? JobId { get; set; }
#endregion Relationships
}
diff --git a/src/Data/Models/WalletWithdrawalRequest.cs b/src/Data/Models/WalletWithdrawalRequest.cs
index bdc1bd4a..72ec8e84 100644
--- a/src/Data/Models/WalletWithdrawalRequest.cs
+++ b/src/Data/Models/WalletWithdrawalRequest.cs
@@ -110,11 +110,6 @@ public class WalletWithdrawalRequest : Entity, IEquatable
!x.IsTemplatePSBT && !x.IsFinalisedPSBT && !x.IsInternalWalletPSBT);
- ///
- /// This is the JobId provided by Quartz of the job executing this request.
- ///
- public string? JobId { get; set; }
-
///
/// This indicates if the user requested a changeless operation by selecting UTXOs
///
diff --git a/src/Data/Repositories/ChannelRepository.cs b/src/Data/Repositories/ChannelRepository.cs
index 8b635acb..e64bda12 100644
--- a/src/Data/Repositories/ChannelRepository.cs
+++ b/src/Data/Repositories/ChannelRepository.cs
@@ -165,9 +165,6 @@ public async Task> GetAll()
var job = RetriableJob.Create(map, closeRequest.Id.ToString(), retryList);
await scheduler.ScheduleJob(job.Job, job.Trigger);
- // TODO: Check job id
- closeRequest.JobId = job.Job.Key.ToString();
-
var jobUpdateResult = _channelOperationRequestRepository.Update(closeRequest);
if (!jobUpdateResult.Item1)
{
diff --git a/src/Jobs/MonitorChannelsJob.cs b/src/Jobs/MonitorChannelsJob.cs
index 0f8117de..86906610 100644
--- a/src/Jobs/MonitorChannelsJob.cs
+++ b/src/Jobs/MonitorChannelsJob.cs
@@ -35,12 +35,10 @@ public async Task Execute(IJobExecutionContext context)
var job = SimpleJob.Create(map, managedNode.Id.ToString());
await scheduler.ScheduleJob(job.Job, job.Trigger);
- var jobId = job.Job.Key.ToString();
- managedNode.JobId = jobId;
var jobUpateResult = _nodeRepository.Update(managedNode);
if (!jobUpateResult.Item1)
{
- _logger.LogWarning("Couldn't update Node {NodeId} with JobId {JobId}", managedNode.Id, jobId);
+ _logger.LogWarning("Couldn't update Node {NodeId}", managedNode.Id);
}
}
}
diff --git a/src/Jobs/NodeSubscriptorJob.cs b/src/Jobs/NodeSubscriptorJob.cs
index c013c36c..0e96c9e0 100644
--- a/src/Jobs/NodeSubscriptorJob.cs
+++ b/src/Jobs/NodeSubscriptorJob.cs
@@ -36,7 +36,6 @@ public async Task Execute(IJobExecutionContext context)
var job = SimpleJob.Create(map, managedNode.Id.ToString());
await scheduler.ScheduleJob(job.Job, job.Trigger);
- managedNode.JobId = job.Job.Key.ToString();
var jobUpateResult = _nodeRepository.Update(managedNode);
}
}
diff --git a/src/Migrations/20240123130535_RemoveJobIdColumn.Designer.cs b/src/Migrations/20240123130535_RemoveJobIdColumn.Designer.cs
new file mode 100644
index 00000000..0b42be77
--- /dev/null
+++ b/src/Migrations/20240123130535_RemoveJobIdColumn.Designer.cs
@@ -0,0 +1,1261 @@
+//
+using System;
+using System.Collections.Generic;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using NodeGuard.Data;
+using NodeGuard.Helpers;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace NodeGuard.Migrations
+{
+ [DbContext(typeof(ApplicationDbContext))]
+ [Migration("20240123130535_RemoveJobIdColumn")]
+ partial class RemoveJobIdColumn
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.0")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("ApplicationUserNode", b =>
+ {
+ b.Property("NodesId")
+ .HasColumnType("integer");
+
+ b.Property("UsersId")
+ .HasColumnType("text");
+
+ b.HasKey("NodesId", "UsersId");
+
+ b.HasIndex("UsersId");
+
+ b.ToTable("ApplicationUserNode");
+ });
+
+ modelBuilder.Entity("ChannelOperationRequestFMUTXO", b =>
+ {
+ b.Property("ChannelOperationRequestsId")
+ .HasColumnType("integer");
+
+ b.Property("UtxosId")
+ .HasColumnType("integer");
+
+ b.HasKey("ChannelOperationRequestsId", "UtxosId");
+
+ b.HasIndex("UtxosId");
+
+ b.ToTable("ChannelOperationRequestFMUTXO");
+ });
+
+ modelBuilder.Entity("FMUTXOWalletWithdrawalRequest", b =>
+ {
+ b.Property("UTXOsId")
+ .HasColumnType("integer");
+
+ b.Property("WalletWithdrawalRequestsId")
+ .HasColumnType("integer");
+
+ b.HasKey("UTXOsId", "WalletWithdrawalRequestsId");
+
+ b.HasIndex("WalletWithdrawalRequestsId");
+
+ b.ToTable("FMUTXOWalletWithdrawalRequest");
+ });
+
+ modelBuilder.Entity("KeyWallet", b =>
+ {
+ b.Property("KeysId")
+ .HasColumnType("integer");
+
+ b.Property("WalletsId")
+ .HasColumnType("integer");
+
+ b.HasKey("KeysId", "WalletsId");
+
+ b.HasIndex("WalletsId");
+
+ b.ToTable("KeyWallet");
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasColumnType("text");
+
+ b.Property("Name")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("NormalizedName")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedName")
+ .IsUnique()
+ .HasDatabaseName("RoleNameIndex");
+
+ b.ToTable("AspNetRoles", (string)null);
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ClaimType")
+ .HasColumnType("text");
+
+ b.Property("ClaimValue")
+ .HasColumnType("text");
+
+ b.Property("RoleId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RoleId");
+
+ b.ToTable("AspNetRoleClaims", (string)null);
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text");
+
+ b.Property("AccessFailedCount")
+ .HasColumnType("integer");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasColumnType("text");
+
+ b.Property("Discriminator")
+ .IsRequired()
+ .HasMaxLength(21)
+ .HasColumnType("character varying(21)");
+
+ b.Property("Email")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("EmailConfirmed")
+ .HasColumnType("boolean");
+
+ b.Property("LockoutEnabled")
+ .HasColumnType("boolean");
+
+ b.Property("LockoutEnd")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("NormalizedEmail")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("NormalizedUserName")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("PasswordHash")
+ .HasColumnType("text");
+
+ b.Property("PhoneNumber")
+ .HasColumnType("text");
+
+ b.Property("PhoneNumberConfirmed")
+ .HasColumnType("boolean");
+
+ b.Property("SecurityStamp")
+ .HasColumnType("text");
+
+ b.Property("TwoFactorEnabled")
+ .HasColumnType("boolean");
+
+ b.Property("UserName")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedEmail")
+ .HasDatabaseName("EmailIndex");
+
+ b.HasIndex("NormalizedUserName")
+ .IsUnique()
+ .HasDatabaseName("UserNameIndex");
+
+ b.ToTable("AspNetUsers", (string)null);
+
+ b.HasDiscriminator("Discriminator").HasValue("IdentityUser");
+
+ b.UseTphMappingStrategy();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ClaimType")
+ .HasColumnType("text");
+
+ b.Property("ClaimValue")
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("AspNetUserClaims", (string)null);
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
+ {
+ b.Property("LoginProvider")
+ .HasMaxLength(128)
+ .HasColumnType("character varying(128)");
+
+ b.Property("ProviderKey")
+ .HasMaxLength(128)
+ .HasColumnType("character varying(128)");
+
+ b.Property("ProviderDisplayName")
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("LoginProvider", "ProviderKey");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("AspNetUserLogins", (string)null);
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("text");
+
+ b.Property("RoleId")
+ .HasColumnType("text");
+
+ b.HasKey("UserId", "RoleId");
+
+ b.HasIndex("RoleId");
+
+ b.ToTable("AspNetUserRoles", (string)null);
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("text");
+
+ b.Property("LoginProvider")
+ .HasMaxLength(128)
+ .HasColumnType("character varying(128)");
+
+ b.Property("Name")
+ .HasMaxLength(128)
+ .HasColumnType("character varying(128)");
+
+ b.Property("Value")
+ .HasColumnType("text");
+
+ b.HasKey("UserId", "LoginProvider", "Name");
+
+ b.ToTable("AspNetUserTokens", (string)null);
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.APIToken", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("CreatorId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("ExpirationDate")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("IsBlocked")
+ .HasColumnType("boolean");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("TokenHash")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CreatorId");
+
+ b.ToTable("ApiTokens");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Channel", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("BtcCloseAddress")
+ .HasColumnType("text");
+
+ b.Property("ChanId")
+ .HasColumnType("numeric(20,0)");
+
+ b.Property("CreatedByNodeGuard")
+ .HasColumnType("boolean");
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("DestinationNodeId")
+ .HasColumnType("integer");
+
+ b.Property("FundingTx")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("FundingTxOutputIndex")
+ .HasColumnType("bigint");
+
+ b.Property("IsAutomatedLiquidityEnabled")
+ .HasColumnType("boolean");
+
+ b.Property("IsPrivate")
+ .HasColumnType("boolean");
+
+ b.Property("SatsAmount")
+ .HasColumnType("bigint");
+
+ b.Property("SourceNodeId")
+ .HasColumnType("integer");
+
+ b.Property("Status")
+ .HasColumnType("integer");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DestinationNodeId");
+
+ b.HasIndex("SourceNodeId");
+
+ b.ToTable("Channels");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.ChannelOperationRequest", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("AmountCryptoUnit")
+ .HasColumnType("integer");
+
+ b.Property("Changeless")
+ .HasColumnType("boolean");
+
+ b.Property("ChannelId")
+ .HasColumnType("integer");
+
+ b.Property("ClosingReason")
+ .HasColumnType("text");
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Description")
+ .HasColumnType("text");
+
+ b.Property("DestNodeId")
+ .HasColumnType("integer");
+
+ b.Property("FeeRate")
+ .HasColumnType("numeric");
+
+ b.Property("IsChannelPrivate")
+ .HasColumnType("boolean");
+
+ b.Property("MempoolRecommendedFeesType")
+ .HasColumnType("integer");
+
+ b.Property("RequestType")
+ .HasColumnType("integer");
+
+ b.Property("SatsAmount")
+ .HasColumnType("bigint");
+
+ b.Property("SourceNodeId")
+ .HasColumnType("integer");
+
+ b.Property("Status")
+ .HasColumnType("integer");
+
+ b.Property>("StatusLogs")
+ .HasColumnType("jsonb");
+
+ b.Property("TxId")
+ .HasColumnType("text");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("UserId")
+ .HasColumnType("text");
+
+ b.Property("WalletId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ChannelId");
+
+ b.HasIndex("DestNodeId");
+
+ b.HasIndex("SourceNodeId");
+
+ b.HasIndex("UserId");
+
+ b.HasIndex("WalletId");
+
+ b.ToTable("ChannelOperationRequests");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.ChannelOperationRequestPSBT", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ChannelOperationRequestId")
+ .HasColumnType("integer");
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("IsFinalisedPSBT")
+ .HasColumnType("boolean");
+
+ b.Property("IsInternalWalletPSBT")
+ .HasColumnType("boolean");
+
+ b.Property("IsTemplatePSBT")
+ .HasColumnType("boolean");
+
+ b.Property("PSBT")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("UserSignerId")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ChannelOperationRequestId");
+
+ b.HasIndex("UserSignerId");
+
+ b.ToTable("ChannelOperationRequestPSBTs");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.FMUTXO", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("OutputIndex")
+ .HasColumnType("bigint");
+
+ b.Property("SatsAmount")
+ .HasColumnType("bigint");
+
+ b.Property("TxId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("Id");
+
+ b.ToTable("FMUTXOs");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.InternalWallet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("DerivationPath")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("MasterFingerprint")
+ .HasColumnType("text");
+
+ b.Property("MnemonicString")
+ .HasColumnType("text");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("XPUB")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("InternalWallets");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Key", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Description")
+ .HasColumnType("text");
+
+ b.Property("InternalWalletId")
+ .HasColumnType("integer");
+
+ b.Property("IsArchived")
+ .HasColumnType("boolean");
+
+ b.Property("IsBIP39ImportedKey")
+ .HasColumnType("boolean");
+
+ b.Property("IsCompromised")
+ .HasColumnType("boolean");
+
+ b.Property("MasterFingerprint")
+ .HasColumnType("text");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("Path")
+ .HasColumnType("text");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("UserId")
+ .HasColumnType("text");
+
+ b.Property("XPUB")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("InternalWalletId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("Keys");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.LiquidityRule", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ChannelId")
+ .HasColumnType("integer");
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("IsReverseSwapWalletRule")
+ .HasColumnType("boolean");
+
+ b.Property("MinimumLocalBalance")
+ .HasColumnType("numeric");
+
+ b.Property("MinimumRemoteBalance")
+ .HasColumnType("numeric");
+
+ b.Property("NodeId")
+ .HasColumnType("integer");
+
+ b.Property("RebalanceTarget")
+ .HasColumnType("numeric");
+
+ b.Property("ReverseSwapAddress")
+ .HasColumnType("text");
+
+ b.Property("ReverseSwapWalletId")
+ .HasColumnType("integer");
+
+ b.Property("SwapWalletId")
+ .HasColumnType("integer");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ChannelId")
+ .IsUnique();
+
+ b.HasIndex("NodeId");
+
+ b.HasIndex("ReverseSwapWalletId");
+
+ b.HasIndex("SwapWalletId");
+
+ b.ToTable("LiquidityRules");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Node", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("AutosweepEnabled")
+ .HasColumnType("boolean");
+
+ b.Property("ChannelAdminMacaroon")
+ .HasColumnType("text");
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Description")
+ .HasColumnType("text");
+
+ b.Property("Endpoint")
+ .HasColumnType("text");
+
+ b.Property("IsNodeDisabled")
+ .HasColumnType("boolean");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("PubKey")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("ReturningFundsWalletId")
+ .HasColumnType("integer");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PubKey")
+ .IsUnique();
+
+ b.HasIndex("ReturningFundsWalletId");
+
+ b.ToTable("Nodes");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Wallet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("BIP39Seedphrase")
+ .HasColumnType("text");
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Description")
+ .HasColumnType("text");
+
+ b.Property("ImportedOutputDescriptor")
+ .HasColumnType("text");
+
+ b.Property("InternalWalletId")
+ .HasColumnType("integer");
+
+ b.Property("InternalWalletMasterFingerprint")
+ .HasColumnType("text");
+
+ b.Property("InternalWalletSubDerivationPath")
+ .HasColumnType("text");
+
+ b.Property("IsArchived")
+ .HasColumnType("boolean");
+
+ b.Property("IsBIP39Imported")
+ .HasColumnType("boolean");
+
+ b.Property("IsCompromised")
+ .HasColumnType("boolean");
+
+ b.Property("IsFinalised")
+ .HasColumnType("boolean");
+
+ b.Property("IsHotWallet")
+ .HasColumnType("boolean");
+
+ b.Property("IsUnSortedMultiSig")
+ .HasColumnType("boolean");
+
+ b.Property("MofN")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("ReferenceId")
+ .HasColumnType("text");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("WalletAddressType")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("InternalWalletId");
+
+ b.HasIndex("InternalWalletSubDerivationPath", "InternalWalletMasterFingerprint")
+ .IsUnique();
+
+ b.ToTable("Wallets");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.WalletWithdrawalRequest", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Amount")
+ .HasColumnType("numeric");
+
+ b.Property("Changeless")
+ .HasColumnType("boolean");
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("CustomFeeRate")
+ .HasColumnType("numeric");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("DestinationAddress")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("MempoolRecommendedFeesType")
+ .HasColumnType("integer");
+
+ b.Property("RejectCancelDescription")
+ .HasColumnType("text");
+
+ b.Property("RequestMetadata")
+ .HasColumnType("text");
+
+ b.Property("Status")
+ .HasColumnType("integer");
+
+ b.Property("TxId")
+ .HasColumnType("text");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("UserRequestorId")
+ .HasColumnType("text");
+
+ b.Property("WalletId")
+ .HasColumnType("integer");
+
+ b.Property("WithdrawAllFunds")
+ .HasColumnType("boolean");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UserRequestorId");
+
+ b.HasIndex("WalletId");
+
+ b.ToTable("WalletWithdrawalRequests");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.WalletWithdrawalRequestPSBT", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("CreationDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("IsFinalisedPSBT")
+ .HasColumnType("boolean");
+
+ b.Property("IsInternalWalletPSBT")
+ .HasColumnType("boolean");
+
+ b.Property("IsTemplatePSBT")
+ .HasColumnType("boolean");
+
+ b.Property("PSBT")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("SignerId")
+ .HasColumnType("text");
+
+ b.Property("UpdateDatetime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("WalletWithdrawalRequestId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SignerId");
+
+ b.HasIndex("WalletWithdrawalRequestId");
+
+ b.ToTable("WalletWithdrawalRequestPSBTs");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.ApplicationUser", b =>
+ {
+ b.HasBaseType("Microsoft.AspNetCore.Identity.IdentityUser");
+
+ b.HasDiscriminator().HasValue("ApplicationUser");
+ });
+
+ modelBuilder.Entity("ApplicationUserNode", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.Node", null)
+ .WithMany()
+ .HasForeignKey("NodesId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("NodeGuard.Data.Models.ApplicationUser", null)
+ .WithMany()
+ .HasForeignKey("UsersId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("ChannelOperationRequestFMUTXO", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.ChannelOperationRequest", null)
+ .WithMany()
+ .HasForeignKey("ChannelOperationRequestsId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("NodeGuard.Data.Models.FMUTXO", null)
+ .WithMany()
+ .HasForeignKey("UtxosId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("FMUTXOWalletWithdrawalRequest", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.FMUTXO", null)
+ .WithMany()
+ .HasForeignKey("UTXOsId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("NodeGuard.Data.Models.WalletWithdrawalRequest", null)
+ .WithMany()
+ .HasForeignKey("WalletWithdrawalRequestsId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("KeyWallet", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.Key", null)
+ .WithMany()
+ .HasForeignKey("KeysId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("NodeGuard.Data.Models.Wallet", null)
+ .WithMany()
+ .HasForeignKey("WalletsId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
+ {
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
+ .WithMany()
+ .HasForeignKey("RoleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
+ {
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
+ {
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
+ {
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
+ .WithMany()
+ .HasForeignKey("RoleId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
+ {
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.APIToken", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.ApplicationUser", "Creator")
+ .WithMany()
+ .HasForeignKey("CreatorId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Creator");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Channel", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.Node", "DestinationNode")
+ .WithMany()
+ .HasForeignKey("DestinationNodeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("NodeGuard.Data.Models.Node", "SourceNode")
+ .WithMany()
+ .HasForeignKey("SourceNodeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("DestinationNode");
+
+ b.Navigation("SourceNode");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.ChannelOperationRequest", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.Channel", "Channel")
+ .WithMany("ChannelOperationRequests")
+ .HasForeignKey("ChannelId");
+
+ b.HasOne("NodeGuard.Data.Models.Node", "DestNode")
+ .WithMany("ChannelOperationRequestsAsDestination")
+ .HasForeignKey("DestNodeId");
+
+ b.HasOne("NodeGuard.Data.Models.Node", "SourceNode")
+ .WithMany("ChannelOperationRequestsAsSource")
+ .HasForeignKey("SourceNodeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("NodeGuard.Data.Models.ApplicationUser", "User")
+ .WithMany("ChannelOperationRequests")
+ .HasForeignKey("UserId");
+
+ b.HasOne("NodeGuard.Data.Models.Wallet", "Wallet")
+ .WithMany("ChannelOperationRequestsAsSource")
+ .HasForeignKey("WalletId");
+
+ b.Navigation("Channel");
+
+ b.Navigation("DestNode");
+
+ b.Navigation("SourceNode");
+
+ b.Navigation("User");
+
+ b.Navigation("Wallet");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.ChannelOperationRequestPSBT", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.ChannelOperationRequest", "ChannelOperationRequest")
+ .WithMany("ChannelOperationRequestPsbts")
+ .HasForeignKey("ChannelOperationRequestId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("NodeGuard.Data.Models.ApplicationUser", "UserSigner")
+ .WithMany()
+ .HasForeignKey("UserSignerId");
+
+ b.Navigation("ChannelOperationRequest");
+
+ b.Navigation("UserSigner");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Key", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.InternalWallet", "InternalWallet")
+ .WithMany()
+ .HasForeignKey("InternalWalletId");
+
+ b.HasOne("NodeGuard.Data.Models.ApplicationUser", "User")
+ .WithMany("Keys")
+ .HasForeignKey("UserId");
+
+ b.Navigation("InternalWallet");
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.LiquidityRule", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.Channel", "Channel")
+ .WithMany("LiquidityRules")
+ .HasForeignKey("ChannelId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("NodeGuard.Data.Models.Node", "Node")
+ .WithMany()
+ .HasForeignKey("NodeId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("NodeGuard.Data.Models.Wallet", "ReverseSwapWallet")
+ .WithMany("LiquidityRulesAsReverseSwapWallet")
+ .HasForeignKey("ReverseSwapWalletId");
+
+ b.HasOne("NodeGuard.Data.Models.Wallet", "SwapWallet")
+ .WithMany("LiquidityRulesAsSwapWallet")
+ .HasForeignKey("SwapWalletId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Channel");
+
+ b.Navigation("Node");
+
+ b.Navigation("ReverseSwapWallet");
+
+ b.Navigation("SwapWallet");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Node", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.Wallet", "ReturningFundsWallet")
+ .WithMany()
+ .HasForeignKey("ReturningFundsWalletId");
+
+ b.Navigation("ReturningFundsWallet");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Wallet", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.InternalWallet", "InternalWallet")
+ .WithMany()
+ .HasForeignKey("InternalWalletId");
+
+ b.Navigation("InternalWallet");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.WalletWithdrawalRequest", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.ApplicationUser", "UserRequestor")
+ .WithMany("WalletWithdrawalRequests")
+ .HasForeignKey("UserRequestorId");
+
+ b.HasOne("NodeGuard.Data.Models.Wallet", "Wallet")
+ .WithMany()
+ .HasForeignKey("WalletId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("UserRequestor");
+
+ b.Navigation("Wallet");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.WalletWithdrawalRequestPSBT", b =>
+ {
+ b.HasOne("NodeGuard.Data.Models.ApplicationUser", "Signer")
+ .WithMany()
+ .HasForeignKey("SignerId");
+
+ b.HasOne("NodeGuard.Data.Models.WalletWithdrawalRequest", "WalletWithdrawalRequest")
+ .WithMany("WalletWithdrawalRequestPSBTs")
+ .HasForeignKey("WalletWithdrawalRequestId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Signer");
+
+ b.Navigation("WalletWithdrawalRequest");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Channel", b =>
+ {
+ b.Navigation("ChannelOperationRequests");
+
+ b.Navigation("LiquidityRules");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.ChannelOperationRequest", b =>
+ {
+ b.Navigation("ChannelOperationRequestPsbts");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Node", b =>
+ {
+ b.Navigation("ChannelOperationRequestsAsDestination");
+
+ b.Navigation("ChannelOperationRequestsAsSource");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.Wallet", b =>
+ {
+ b.Navigation("ChannelOperationRequestsAsSource");
+
+ b.Navigation("LiquidityRulesAsReverseSwapWallet");
+
+ b.Navigation("LiquidityRulesAsSwapWallet");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.WalletWithdrawalRequest", b =>
+ {
+ b.Navigation("WalletWithdrawalRequestPSBTs");
+ });
+
+ modelBuilder.Entity("NodeGuard.Data.Models.ApplicationUser", b =>
+ {
+ b.Navigation("ChannelOperationRequests");
+
+ b.Navigation("Keys");
+
+ b.Navigation("WalletWithdrawalRequests");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/src/Migrations/20240123130535_RemoveJobIdColumn.cs b/src/Migrations/20240123130535_RemoveJobIdColumn.cs
new file mode 100644
index 00000000..98e8edd3
--- /dev/null
+++ b/src/Migrations/20240123130535_RemoveJobIdColumn.cs
@@ -0,0 +1,66 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace NodeGuard.Migrations
+{
+ ///
+ public partial class RemoveJobIdColumn : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "JobId",
+ table: "WalletWithdrawalRequests");
+
+ migrationBuilder.DropColumn(
+ name: "JobId",
+ table: "Nodes");
+
+ migrationBuilder.DropColumn(
+ name: "JobId",
+ table: "ChannelOperationRequests");
+
+ migrationBuilder.AlterColumn(
+ name: "Discriminator",
+ table: "AspNetUsers",
+ type: "character varying(21)",
+ maxLength: 21,
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "text");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AddColumn(
+ name: "JobId",
+ table: "WalletWithdrawalRequests",
+ type: "text",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "JobId",
+ table: "Nodes",
+ type: "text",
+ nullable: true);
+
+ migrationBuilder.AddColumn(
+ name: "JobId",
+ table: "ChannelOperationRequests",
+ type: "text",
+ nullable: true);
+
+ migrationBuilder.AlterColumn(
+ name: "Discriminator",
+ table: "AspNetUsers",
+ type: "text",
+ nullable: false,
+ oldClrType: typeof(string),
+ oldType: "character varying(21)",
+ oldMaxLength: 21);
+ }
+ }
+}
diff --git a/src/Migrations/ApplicationDbContextModelSnapshot.cs b/src/Migrations/ApplicationDbContextModelSnapshot.cs
index 5c306ecc..d36ea2e0 100644
--- a/src/Migrations/ApplicationDbContextModelSnapshot.cs
+++ b/src/Migrations/ApplicationDbContextModelSnapshot.cs
@@ -19,7 +19,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
- .HasAnnotation("ProductVersion", "7.0.14")
+ .HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -149,7 +149,8 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.Property("Discriminator")
.IsRequired()
- .HasColumnType("text");
+ .HasMaxLength(21)
+ .HasColumnType("character varying(21)");
b.Property("Email")
.HasMaxLength(256)
@@ -423,9 +424,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.Property("IsChannelPrivate")
.HasColumnType("boolean");
- b.Property("JobId")
- .HasColumnType("text");
-
b.Property("MempoolRecommendedFeesType")
.HasColumnType("integer");
@@ -710,9 +708,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.Property("IsNodeDisabled")
.HasColumnType("boolean");
- b.Property("JobId")
- .HasColumnType("text");
-
b.Property("Name")
.IsRequired()
.HasColumnType("text");
@@ -838,9 +833,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
.IsRequired()
.HasColumnType("text");
- b.Property("JobId")
- .HasColumnType("text");
-
b.Property("MempoolRecommendedFeesType")
.HasColumnType("integer");
diff --git a/src/Pages/ChannelRequests.razor b/src/Pages/ChannelRequests.razor
index df0c8003..23be98ff 100644
--- a/src/Pages/ChannelRequests.razor
+++ b/src/Pages/ChannelRequests.razor
@@ -940,9 +940,6 @@
var job = RetriableJob.Create(map, _selectedRequest.Id.ToString(), retryList);
await scheduler.ScheduleJob(job.Job, job.Trigger);
- // TODO: Check job id
- _selectedRequest.JobId = job.Job.Key.ToString();
-
var jobUpdateResult = ChannelOperationRequestRepository.Update(_selectedRequest);
ToastService.ShowSuccess("Channel opening job created");
}
diff --git a/src/Pages/Nodes.razor b/src/Pages/Nodes.razor
index 5b5095c2..014cd485 100644
--- a/src/Pages/Nodes.razor
+++ b/src/Pages/Nodes.razor
@@ -233,7 +233,6 @@
{
await CreateJobs(node);
}
- node.JobId = null;
var (result, _) = NodeRepository.Update(node);
if (result)
{
@@ -400,7 +399,6 @@
await SimpleJob.DeleteJob(scheduler, node.Id.ToString());
await SimpleJob.DeleteJob(scheduler, node.Id.ToString());
- node.JobId = null;
}
catch
{
@@ -450,8 +448,6 @@
await scheduler.ScheduleJob(job.Job, job.Trigger);
- node.JobId = job.Job.Key.ToString();
-
var (result, _) = NodeRepository.Update(node);
if (!result)
{
diff --git a/src/Pages/Wallets.razor b/src/Pages/Wallets.razor
index b49c95a9..4f7ff9c8 100644
--- a/src/Pages/Wallets.razor
+++ b/src/Pages/Wallets.razor
@@ -1456,8 +1456,6 @@
if (withdrawalRequest != null)
{
- // TODO: Check job id
- withdrawalRequest.JobId = job.Job.Key.ToString();
WalletWithdrawalRequestRepository.Update(withdrawalRequest);
result = true;
}
diff --git a/src/Pages/Withdrawals.razor b/src/Pages/Withdrawals.razor
index f74a916c..a3275bbf 100644
--- a/src/Pages/Withdrawals.razor
+++ b/src/Pages/Withdrawals.razor
@@ -1018,8 +1018,6 @@
if (_selectedRequest != null)
{
- // TODO: Check job id
- _selectedRequest.JobId = job.Job.Key.ToString();
WalletWithdrawalRequestRepository.Update(_selectedRequest);
}
}
diff --git a/src/Rpc/NodeGuardService.cs b/src/Rpc/NodeGuardService.cs
index 81b239d0..42b4a76a 100644
--- a/src/Rpc/NodeGuardService.cs
+++ b/src/Rpc/NodeGuardService.cs
@@ -524,8 +524,6 @@ await _coinSelectionService.LockUTXOs(utxos, channelOperationRequest,
var job = RetriableJob.Create(map, channelOperationRequest.Id.ToString(), retryList);
await scheduler.ScheduleJob(job.Job, job.Trigger);
- channelOperationRequest.JobId = job.Job.Key.ToString();
-
var jobUpdateResult = _channelOperationRequestRepository.Update(channelOperationRequest);
if (!jobUpdateResult.Item1)
@@ -596,8 +594,6 @@ public override async Task CloseChannel(CloseChannelReques
var job = RetriableJob.Create(map, channelOperationRequest.Id.ToString(), retryList);
await scheduler.ScheduleJob(job.Job, job.Trigger);
- channelOperationRequest.JobId = job.Job.Key.ToString();
-
var jobUpdateResult = _channelOperationRequestRepository.Update(channelOperationRequest);
if (!jobUpdateResult.Item1)
@@ -653,8 +649,7 @@ public override async Task GetChannelOperati
Status = status,
Type = type,
SourceNodeId = channelOperationRequest.SourceNodeId,
- Private = channelOperationRequest.IsChannelPrivate,
- JobId = channelOperationRequest.JobId
+ Private = channelOperationRequest.IsChannelPrivate
};
if (channelOperationRequest.TxId != null)
result.TxId = channelOperationRequest.TxId;