create type playlist_type as enum ('playlist', 'folder');

create table if not exists playlists
(
    id         varchar(24) default nanoid(24),
    name       varchar(255)              not null,
    public     bool        default false not null,
    type playlist_type default 'playlist' not null,

    creator_id varchar(24)               not null,
    parent_id  varchar(24) references playlists (id) on delete set null,

    created_at timestamp   default now(),
    updated_at timestamp,

    primary key (id),
    foreign key (creator_id)
        references users (id)
        on delete cascade
);
