mirror of
https://github.com/iv-org/invidious.git
synced 2026-03-31 15:18:30 -05:00
Merge f00a727c7d389dc28ddc744a3f75f49e05ebf16b into 749791cdf1316bc89415d27d503042d3f6b3f398
This commit is contained in:
commit
563b357687
@ -23,7 +23,8 @@ CREATE TABLE IF NOT EXISTS public.playlists
|
||||
created timestamptz,
|
||||
updated timestamptz,
|
||||
privacy privacy,
|
||||
index int8[]
|
||||
index int8[],
|
||||
thumbnail_id text
|
||||
);
|
||||
|
||||
GRANT ALL ON public.playlists TO current_user;
|
||||
|
||||
@ -0,0 +1,12 @@
|
||||
module Invidious::Database::Migrations
|
||||
class AddThumbnailIdToPlaylists < Migration
|
||||
version 11
|
||||
|
||||
def up(conn : DB::Connection)
|
||||
conn.exec <<-SQL
|
||||
ALTER TABLE public.playlists
|
||||
ADD COLUMN IF NOT EXISTS thumbnail_id TEXT;
|
||||
SQL
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -179,7 +179,6 @@ struct InvidiousPlaylist
|
||||
property privacy : PlaylistPrivacy = PlaylistPrivacy::Private
|
||||
property index : Array(Int64)
|
||||
|
||||
@[DB::Field(ignore: true)]
|
||||
property thumbnail_id : String?
|
||||
|
||||
module PlaylistPrivacyConverter
|
||||
@ -256,15 +255,16 @@ def create_playlist(title, privacy, user)
|
||||
plid = "IVPL#{Random::Secure.urlsafe_base64(24)[0, 31]}"
|
||||
|
||||
playlist = InvidiousPlaylist.new({
|
||||
title: title.byte_slice(0, 150),
|
||||
id: plid,
|
||||
author: user.email,
|
||||
description: "", # Max 5000 characters
|
||||
video_count: 0,
|
||||
created: Time.utc,
|
||||
updated: Time.utc,
|
||||
privacy: privacy,
|
||||
index: [] of Int64,
|
||||
title: title.byte_slice(0, 150),
|
||||
id: plid,
|
||||
author: user.email,
|
||||
description: "", # Max 5000 characters
|
||||
video_count: 0,
|
||||
created: Time.utc,
|
||||
updated: Time.utc,
|
||||
privacy: privacy,
|
||||
index: [] of Int64,
|
||||
thumbnail_id: nil,
|
||||
})
|
||||
|
||||
Invidious::Database::Playlists.insert(playlist)
|
||||
@ -273,16 +273,18 @@ def create_playlist(title, privacy, user)
|
||||
end
|
||||
|
||||
def subscribe_playlist(user, playlist)
|
||||
thumbnail_id = playlist.thumbnail.try &.match(/vi\/([a-zA-Z0-9_-]{11})/).try &.[1]
|
||||
playlist = InvidiousPlaylist.new({
|
||||
title: playlist.title[..150],
|
||||
id: playlist.id,
|
||||
author: user.email,
|
||||
description: "", # Max 5000 characters
|
||||
video_count: playlist.video_count,
|
||||
created: Time.utc,
|
||||
updated: playlist.updated,
|
||||
privacy: PlaylistPrivacy::Private,
|
||||
index: [] of Int64,
|
||||
title: playlist.title[..150],
|
||||
id: playlist.id,
|
||||
author: user.email,
|
||||
description: "", # Max 5000 characters
|
||||
video_count: playlist.video_count,
|
||||
created: Time.utc,
|
||||
updated: playlist.updated,
|
||||
privacy: PlaylistPrivacy::Private,
|
||||
index: [] of Int64,
|
||||
thumbnail_id: thumbnail_id,
|
||||
})
|
||||
|
||||
Invidious::Database::Playlists.insert(playlist)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user