Stores, manages, and verifies user likes on posts or content.
use sui::table;
Likes
User
public struct Likes has store
Show Fields
likes: sui::table::Table<address, u8>
const LIKE: u8 = 1;
const EAlreadyLiked: u64 = 370;
add
public fun add(likes: &mut Likes, key: address)
Show Implementation
public fun add( likes: &mut Likes, key: address ) { likes.likes.add(key, LIKE); }
assert_has_not_liked
EAlreadyLiked
public fun assert_has_not_liked(likes: &Likes, key: address)
public fun assert_has_not_liked( likes: &Likes, key: address ) { let has_liked = has_liked( likes, key ); assert!(!has_liked, EAlreadyLiked); }
create
public fun create(ctx: &mut TxContext): Likes
public fun create( ctx: &mut TxContext ): Likes { let likes = Likes { likes: table::new(ctx) }; likes }
get_length
public fun get_length(likes: &Likes): u64
public fun get_length( likes: &Likes ): u64 { likes.likes.length() }
has_liked
public fun has_liked(likes: &Likes, key: address): bool
public fun has_liked( likes: &Likes, key: address ): bool { likes.likes.contains(key) }