mirror of
https://0xacab.org/sutty/sutty
synced 2024-11-22 20:06:22 +00:00
fix: las actividades están duplicadas con respecto a su estado
por ejemplo, el borrado de une actore puede estar dirigido a todos los sitios, con lo que se crea varias veces (aunque se ejecuta solo una)
This commit is contained in:
parent
5f5b929aa8
commit
2e04bc8eac
4 changed files with 8 additions and 2 deletions
|
@ -20,6 +20,8 @@ class ActivityPub
|
|||
has_one :object, through: :activity_pub
|
||||
|
||||
validates :activity_pub_id, presence: true
|
||||
# Las actividades son únicas con respecto a su estado
|
||||
validates :uri, presence: true, uniqueness: { scope: :activity_pub_id, message: 'estado duplicado' }
|
||||
|
||||
# Siempre en orden descendiente para saber el último estado
|
||||
default_scope -> { order(created_at: :desc) }
|
||||
|
|
|
@ -15,6 +15,9 @@ class ActivityPub
|
|||
has_many :activities
|
||||
has_many :remote_flags
|
||||
|
||||
# Les actores son únicxs a toda la base de datos
|
||||
validates :uri, presence: true, uniqueness: true
|
||||
|
||||
# Obtiene el nombre de la Actor como mención, solo si obtuvimos el
|
||||
# contenido de antemano.
|
||||
#
|
||||
|
|
|
@ -6,8 +6,6 @@ class ActivityPub
|
|||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
validates :uri, presence: true, uniqueness: true
|
||||
|
||||
# Cuando asignamos contenido, obtener la URI si no lo hicimos ya
|
||||
before_save :uri_from_content!, unless: :uri?
|
||||
|
||||
|
|
|
@ -5,6 +5,9 @@ class ActivityPub
|
|||
class Object < ApplicationRecord
|
||||
include ActivityPub::Concerns::JsonLdConcern
|
||||
|
||||
# Los objetos son únicos a toda la base de datos
|
||||
validates :uri, presence: true, uniqueness: true
|
||||
|
||||
has_many :activity_pubs, as: :object
|
||||
|
||||
# Encontrar le Actor por su relación con el objeto
|
||||
|
|
Loading…
Reference in a new issue