5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-23 01:06:22 +00:00
panel/app/models/site/social_distributed_press.rb

33 lines
764 B
Ruby
Raw Normal View History

2023-08-29 20:43:19 +00:00
# frozen_string_literal: true
require 'distributed_press/v1/social/client'
2023-08-29 20:43:19 +00:00
class Site
# Agrega soporte para Social Distributed Press en los sitios
module SocialDistributedPress
extend ActiveSupport::Concern
included do
encrypts :private_key_pem
2023-08-29 20:49:25 +00:00
before_save :generate_private_key_pem!, unless: :private_key_pem?
# @return [SocialInbox]
def social_inbox
@social_inbox ||= SocialInbox.new(site: self)
end
2023-08-29 20:49:25 +00:00
private
# Genera la llave privada y la almacena
#
# @return [nil]
def generate_private_key_pem!
self.private_key_pem ||= DistributedPress::V1::Social::Client.new(
public_key_url: nil,
key_size: 2048).private_key.export
2023-08-29 20:49:25 +00:00
end
2023-08-29 20:43:19 +00:00
end
end
end