mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-26 10:06:23 +00:00
feat: obtener información de le actore
This commit is contained in:
parent
f836427979
commit
9e54d6311c
2 changed files with 26 additions and 0 deletions
|
@ -154,6 +154,8 @@ module Api
|
||||||
ActivityPub::InstanceFetchJob.perform_later(site: site, instance: a.instance)
|
ActivityPub::InstanceFetchJob.perform_later(site: site, instance: a.instance)
|
||||||
|
|
||||||
a.save!
|
a.save!
|
||||||
|
|
||||||
|
ActivityPub::ActorFetchJob.perform_later(site: site, actor: a)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
24
app/jobs/activity_pub/actor_fetch_job.rb
Normal file
24
app/jobs/activity_pub/actor_fetch_job.rb
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
# Obtiene o actualiza el contenido de un objeto, usando las credenciales
|
||||||
|
# del sitio.
|
||||||
|
#
|
||||||
|
# XXX: Esto usa las credenciales del sitio para volver el objeto
|
||||||
|
# disponible para todo el CMS. Asumimos que el objeto devuelto es el
|
||||||
|
# mismo para todo el mundo y las credenciales solo son para
|
||||||
|
# autenticación.
|
||||||
|
class ActivityPub
|
||||||
|
class ActorFetchJob < ApplicationJob
|
||||||
|
def perform(site:, actor:)
|
||||||
|
ActivityPub::Actor.transaction do
|
||||||
|
response = site.social_inbox.dereferencer.get(uri: actor.uri)
|
||||||
|
|
||||||
|
# @todo Fallar cuando la respuesta no funcione?
|
||||||
|
return unless response.ok?
|
||||||
|
return if response.miss? && actor.content.present?
|
||||||
|
|
||||||
|
actor.update(content: FastJsonparser.parse(response.body))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue