Source code for services.posts.like
from typing import TYPE_CHECKING
from apps.posts.models import Like
if TYPE_CHECKING:
from apps.posts.models import Post
from apps.users.models import User
[docs]
class LikeService:
@classmethod
def _create(cls, post: "Post", user: "User") -> "Like":
return Like.objects.create(post=post, author=user)
[docs]
@classmethod
def create(cls, post: "Post", user: "User") -> "Like":
"""Create like"""
return cls._create(post, user)
[docs]
@classmethod
def get(cls, data) -> Like:
return Like.objects.get(**data)
[docs]
@classmethod
def delete(cls, post: "Post", user: "User") -> None:
"""Detele like"""
instance = cls.get(data={"post": post, "author": user})
instance.delete()