5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-23 20:46:23 +00:00

Merge branch 'issue-10464' into panel.sutty.nl

This commit is contained in:
f 2023-03-31 13:37:19 -03:00
commit 9a6cc32a41
3 changed files with 23 additions and 6 deletions

View file

@ -44,8 +44,8 @@ gem 'commonmarker'
gem 'devise'
gem 'devise-i18n'
gem 'devise_invitable'
gem 'distributed-press-api-client', '~> 0.2.2'
gem 'njalla-api-client'
gem 'distributed-press-api-client', '~> 0.2.3'
gem 'njalla-api-client', '~> 0.2.0'
gem 'email_address', git: 'https://github.com/fauno/email_address', branch: 'i18n'
gem 'exception_notification'
gem 'fast_blank'

View file

@ -344,7 +344,7 @@ GEM
net-ssh (7.1.0)
netaddr (2.0.6)
nio4r (2.5.8-x86_64-linux-musl)
njalla-api-client (0.1.0)
njalla-api-client (0.2.0)
dry-schema
httparty (~> 0.18)
nokogiri (1.14.2-x86_64-linux-musl)
@ -568,7 +568,7 @@ DEPENDENCIES
devise
devise-i18n
devise_invitable
distributed-press-api-client (~> 0.2.2)
distributed-press-api-client (~> 0.2.3)
dotenv-rails
down
ed25519

View file

@ -16,6 +16,7 @@ class DeployDistributedPress < Deploy
store :values, accessors: %i[hostname remote_site_id remote_info], coder: JSON
before_create :create_remote_site!, :create_njalla_records!
before_destroy :delete_remote_site!, :delete_njalla_records!
DEPENDENCIES = %i[deploy_local]
@ -88,7 +89,7 @@ class DeployDistributedPress < Deploy
#
# @return [DistributedPressPublisher]
def publisher
@publisher ||= DistributedPressPublisher.first
@publisher ||= DistributedPressPublisher.last
end
# El cliente para actualizar el sitio
@ -122,9 +123,9 @@ class DeployDistributedPress < Deploy
self.remote_site_id = created_site[:id]
self.remote_info = created_site.to_h
nil
rescue DistributedPress::V1::Error => e
ExceptionNotifier.notify_exception(e, data: { site: site.name })
ensure
nil
end
@ -158,6 +159,22 @@ class DeployDistributedPress < Deploy
nil
end
def delete_remote_site!
site_client.destroy(publishing_site)
nil
rescue DistributedPress::V1::Error => e
ExceptionNotifier.notify_exception(e, data: { site: site.name })
nil
end
def delete_njalla_records!
%[a ns cname].each do |type|
next unless (id = remote_info.dig('njalla', type, 'id'))
njalla.remove_record(id: id)
end
end
# Actualizar registros en Njalla
#
# @return [Njalla::V1::Domain]