mirror of
https://0xacab.org/sutty/sutty
synced 2025-02-26 06:11:50 +00:00
Merge branch 'issue-15109-1' of https://0xacab.org/sutty/sutty into production.panel.sutty.nl
This commit is contained in:
commit
2798de0322
2 changed files with 21 additions and 3 deletions
|
@ -49,6 +49,12 @@ class ActivityPub < ApplicationRecord
|
||||||
# Le actore eliminó el objeto
|
# Le actore eliminó el objeto
|
||||||
state :removed
|
state :removed
|
||||||
|
|
||||||
|
# Se puede volver a pausa en caso de actualización remota, para
|
||||||
|
# revisar los cambios.
|
||||||
|
event :pause do
|
||||||
|
transitions to: :paused
|
||||||
|
end
|
||||||
|
|
||||||
# Recibir una acción de eliminación, eliminar el contenido de la
|
# Recibir una acción de eliminación, eliminar el contenido de la
|
||||||
# base de datos. Esto elimina el contenido para todos los sitios
|
# base de datos. Esto elimina el contenido para todos los sitios
|
||||||
# porque estamos respetando lo que pidió le actore.
|
# porque estamos respetando lo que pidió le actore.
|
||||||
|
@ -95,11 +101,14 @@ class ActivityPub < ApplicationRecord
|
||||||
# Definir eventos en masa
|
# Definir eventos en masa
|
||||||
include AasmEventsConcern
|
include AasmEventsConcern
|
||||||
|
|
||||||
|
# Lo que tenemos que aprobar o rechazar es la última actividad
|
||||||
|
# disponible, que según el scope por defecto, va a ser la primera de
|
||||||
|
# la lista.
|
||||||
def reject_remotely!
|
def reject_remotely!
|
||||||
raise unless site.social_inbox.inbox.reject(id: object.uri).ok?
|
raise unless site.social_inbox.inbox.reject(id: activities.first.uri).ok?
|
||||||
end
|
end
|
||||||
|
|
||||||
def allow_remotely!
|
def allow_remotely!
|
||||||
raise unless site.social_inbox.inbox.accept(id: object.uri).ok?
|
raise unless site.social_inbox.inbox.accept(id: activities.first.uri).ok?
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,8 +4,17 @@
|
||||||
#
|
#
|
||||||
# Una actividad de seguimiento se refiere siempre a une actore (el
|
# Una actividad de seguimiento se refiere siempre a une actore (el
|
||||||
# sitio) y proviene de otre actore.
|
# sitio) y proviene de otre actore.
|
||||||
|
#
|
||||||
|
# Por ahora las solicitudes de seguimiento se auto-aprueban.
|
||||||
class ActivityPub
|
class ActivityPub
|
||||||
class Activity
|
class Activity
|
||||||
class Follow < ActivityPub::Activity; end
|
class Follow < ActivityPub::Activity
|
||||||
|
# Auto-aprobar la solicitud de seguimiento
|
||||||
|
def update_activity_pub_state!
|
||||||
|
activity_pub.approve!
|
||||||
|
rescue Exception => e
|
||||||
|
ExceptionNotifier.notify_exception(e, { site: activity_pub.site.name, activity: self.id })
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue