5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-10-11 04:26:56 +00:00

Merge branch 'issue-15109-1' of https://0xacab.org/sutty/sutty into production.panel.sutty.nl

This commit is contained in:
Sutty 2024-03-14 20:09:35 +00:00
commit 2798de0322
2 changed files with 21 additions and 3 deletions

View file

@ -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

View file

@ -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