Move lndhub admin token to env var/setting

This commit is contained in:
Râu Cao 2023-09-04 15:36:22 +02:00
parent 8349ca5e12
commit 725fd2e5ea
Signed by: raucao
GPG Key ID: 15E65F399D084BA9
3 changed files with 33 additions and 24 deletions

View File

@ -113,6 +113,9 @@ class Setting < RailsSettings::Base
field :lndhub_enabled, type: :boolean, field :lndhub_enabled, type: :boolean,
default: (ENV["LNDHUB_API_URL"].present?.to_s || false) default: (ENV["LNDHUB_API_URL"].present?.to_s || false)
field :lndhub_admin_token, type: :string,
default: ENV["LNDHUB_ADMIN_TOKEN"].presence
field :lndhub_admin_enabled, type: :boolean, field :lndhub_admin_enabled, type: :boolean,
default: (ENV["LNDHUB_ADMIN_UI"] || false) default: (ENV["LNDHUB_ADMIN_UI"] || false)

View File

@ -14,7 +14,7 @@ class LndhubV2 < Lndhub
end end
def create_account(payload={}) def create_account(payload={})
post "v2/users", payload, admin_token: Rails.application.credentials.lndhub[:admin_token] post "v2/users", payload, admin_token: Setting.lndhub_admin_token
end end
def create_invoice(payload) def create_invoice(payload)

View File

@ -9,29 +9,35 @@
) %> ) %>
<% if Setting.lndhub_enabled? %> <% if Setting.lndhub_enabled? %>
<%= render FormElements::FieldsetResettableSettingComponent.new( <%= render FormElements::FieldsetResettableSettingComponent.new(
key: :lndhub_api_url, key: :lndhub_api_url,
title: "API URL" title: "API URL"
) %> ) %>
<% end %>
<%= render FormElements::FieldsetToggleComponent.new(
form: f,
attribute: :lndhub_admin_enabled,
enabled: Setting.lndhub_admin_enabled?,
title: "Enable LNDHub admin panel",
description: "LNDHub database configuration present and admin panel enabled"
) %>
<%= render FormElements::FieldsetToggleComponent.new(
form: f,
attribute: :lndhub_keysend_enabled,
enabled: Setting.lndhub_keysend_enabled?,
title: "Enable keysend payments",
description: "Allow users to receive invoice-less payments to their Lightning Address"
) %>
<% if Setting.lndhub_keysend_enabled? %>
<%= render FormElements::FieldsetResettableSettingComponent.new( <%= render FormElements::FieldsetResettableSettingComponent.new(
key: :lndhub_public_key, key: :lndhub_admin_token,
title: "Public key", type: :password,
description: "The public key of the Lightning node used by LNDHub" title: "Admin token",
) %> description: "Auth token for creating new lndhub accounts"
) %>
<%= render FormElements::FieldsetToggleComponent.new(
form: f,
attribute: :lndhub_admin_enabled,
enabled: Setting.lndhub_admin_enabled?,
title: "Enable LNDHub admin panel",
description: "LNDHub database configuration present and admin panel enabled"
) %>
<%= render FormElements::FieldsetToggleComponent.new(
form: f,
attribute: :lndhub_keysend_enabled,
enabled: Setting.lndhub_keysend_enabled?,
title: "Enable keysend payments",
description: "Allow users to receive invoice-less payments to their Lightning Address"
) %>
<% if Setting.lndhub_keysend_enabled? %>
<%= render FormElements::FieldsetResettableSettingComponent.new(
key: :lndhub_public_key,
title: "Public key",
description: "The public key of the Lightning node used by LNDHub"
) %>
<% end %>
<% end %> <% end %>
</ul> </ul>