class PlaceOS::Model::GroupPlaylist::ChangeFeed(T)

Overview

Junction between Group (authority-scoped, UUID) and Playlist (authority-scoped, legacy TEXT PK). Lets groups co-own / share playlists with each other within the same authority.

Presence-only — no per-row permission bitmask, no GroupHistory audit. A user's capability on a linked playlist comes from their GroupUser.permissions within the group.

Both sides must share an authority — enforced at the model layer (no single FK can express it).

Included Modules

Defined in:

Constructors

Instance Method Summary

Constructor Detail

def self.new(id : Tuple(UUID, String) | Nil = nil, parent : T.class = T.class) #

Instance Method Detail

def next #
Description copied from module Iterator(PlaceOS::Model::GroupPlaylist::ChangeFeed::Change(T))

Returns the next element in this iterator, or Iterator::Stop::INSTANCE if there are no more elements.


def on(&block : Change(T) -> Nil) #

Method expects a block which will get invoked with Change(T) parameter on change events received from EventBus


def stop #
Description copied from module Iterator(PlaceOS::Model::GroupPlaylist::ChangeFeed::Change(T))

Shortcut for Iterator::Stop::INSTANCE, to signal that there are no more elements in an iterator.