From 06e606d67204a238102b38b9af8d428cdc1a923a Mon Sep 17 00:00:00 2001 From: neodb dev Date: Wed, 27 Dec 2023 09:23:41 -0500 Subject: [PATCH] receive interaction --- journal/models/common.py | 19 +++++++++++++++++++ neodb-takahe | 2 +- takahe/ap_handlers.py | 8 ++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/journal/models/common.py b/journal/models/common.py index b527b878..8f288f22 100644 --- a/journal/models/common.py +++ b/journal/models/common.py @@ -229,6 +229,25 @@ class PiecePost(models.Model): ] +class PieceInteraction(models.Model): + piece = models.ForeignKey(Piece, on_delete=models.CASCADE) + interaction_type = models.CharField(max_length=50) + identity = models.ForeignKey(APIdentity, on_delete=models.CASCADE) + created_time = models.DateTimeField(default=timezone.now) + + class Meta: + constraints = [ + models.UniqueConstraint( + fields=["identity", "interaction_type", "piece"], + name="unique_interaction", + ), + ] + indexes = [ + models.Index(fields=["identity", "interaction_type", "created_time"]), + models.Index(fields=["piece", "interaction_type", "created_time"]), + ] + + class Content(Piece): owner = models.ForeignKey(APIdentity, on_delete=models.PROTECT) visibility = models.PositiveSmallIntegerField( diff --git a/neodb-takahe b/neodb-takahe index 86aca811..32b1175a 160000 --- a/neodb-takahe +++ b/neodb-takahe @@ -1 +1 @@ -Subproject commit 86aca811daa19594dd37293d731a9a3fc1ced3e0 +Subproject commit 32b1175ae3d45659e7962b393524019c6381a721 diff --git a/takahe/ap_handlers.py b/takahe/ap_handlers.py index 91aa8684..49134d24 100644 --- a/takahe/ap_handlers.py +++ b/takahe/ap_handlers.py @@ -123,6 +123,14 @@ def post_deleted(pk, obj): logger.debug(f"Matched remote piece {piece} has newer posts, not deleting") +def post_interacted(interaction_pk, interaction, post_pk, identity_pk): + pass + + +def post_uninteracted(interaction_pk, interaction, post_pk, identity_pk): + pass + + def identity_fetched(pk): try: identity = Identity.objects.get(pk=pk)