PhoenixKit.Modules.Posts.CommentLike (phoenix_kit v1.7.33)

Copy Markdown View Source

Schema for comment likes.

Tracks which users have liked which comments. Enforces one like per user per comment.

Fields

  • comment_id - Reference to the comment
  • user_id - Reference to the user who liked

Examples

# User likes a comment
%CommentLike{
  comment_id: "018e3c4a-9f6b-7890-abcd-ef1234567890",
  user_id: 42
}

Summary

Functions

Changeset for creating a comment like.

Types

t()

@type t() :: %PhoenixKit.Modules.Posts.CommentLike{
  __meta__: term(),
  comment:
    PhoenixKit.Modules.Posts.PostComment.t() | Ecto.Association.NotLoaded.t(),
  comment_id: UUIDv7.t(),
  id: UUIDv7.t() | nil,
  inserted_at: NaiveDateTime.t() | nil,
  updated_at: NaiveDateTime.t() | nil,
  user: PhoenixKit.Users.Auth.User.t() | Ecto.Association.NotLoaded.t(),
  user_id: integer()
}

Functions

changeset(like, attrs)

Changeset for creating a comment like.

Required Fields

  • comment_id - Reference to comment
  • user_id - Reference to user

Validation Rules

  • Unique constraint on (comment_id, user_id) - one like per user per comment