Make it more complete
This commit is contained in:
+16
-3
@@ -22,7 +22,7 @@ namespace Tesses.YouTubeDownloader2025Companion
|
||||
|
||||
public void Init()
|
||||
{
|
||||
conn.Execute("CREATE TABLE IF NOT EXISTS sessions (Id INTEGER PRIMARY KEY AUTOINCREMENT, AccountName TEXT, Key TEXT UNIQUE, Expires INTEGER);");
|
||||
conn.Execute("CREATE TABLE IF NOT EXISTS sessions (Id INTEGER PRIMARY KEY AUTOINCREMENT, AccountName TEXT, Key TEXT UNIQUE, Expires INTEGER, Flags INTEGER);");
|
||||
conn.Execute("CREATE TABLE IF NOT EXISTS song_videos (Id INTEGER PRIMARY KEY AUTOINCREMENT, SongId TEXT UNIQUE, VideoId TEXT UNIQUE, VideoTitle TEXT);");
|
||||
conn.Execute("CREATE TABLE IF NOT EXISTS songs (Id INTEGER PRIMARY KEY AUTOINCREMENT, SongId TEXT UNIQUE, SongName TEXT);");
|
||||
conn.Execute("CREATE TABLE IF NOT EXISTS artists (Id INTEGER PRIMARY KEY AUTOINCREMENT, ArtistId TEXT UNIQUE, ArtistName TEXT, ArtistDisambiguation TEXT);");
|
||||
@@ -87,14 +87,15 @@ namespace Tesses.YouTubeDownloader2025Companion
|
||||
yield return ent;
|
||||
}
|
||||
}
|
||||
public async Task<Session> CreateSessionTokenAsync(string username, bool expires = true)
|
||||
public async Task<Session> CreateSessionTokenAsync(string username, long flags, bool expires = true)
|
||||
{
|
||||
Session session = new Session();
|
||||
session.AccountName = username;
|
||||
session.Expires = expires ? Program.NowEpoch + Expires : 0;
|
||||
session.Flags = flags;
|
||||
session.Key = Convert.ToBase64String(RandomNumberGenerator.GetBytes(32));
|
||||
|
||||
await conn.ExecuteAsync("INSERT INTO sessions (AccountName,Key,Expires) VALUES (@AccountName,@Key,@Expires);", session);
|
||||
await conn.ExecuteAsync("INSERT INTO sessions (AccountName,Key,Flags,Expires) VALUES (@AccountName,@Key,@Flags,@Expires);", session);
|
||||
|
||||
return session;
|
||||
}
|
||||
@@ -226,6 +227,16 @@ namespace Tesses.YouTubeDownloader2025Companion
|
||||
ArtistId = artistId
|
||||
}));
|
||||
}
|
||||
public async Task<IEnumerable<Song>> GetUnavailableSongsAsync(long offset=0, long count=20)
|
||||
{
|
||||
//SELECT * FROM songs s WHERE NOT EXISTS (SELECT * FROM song_videos v WHERE v.SongId = s.SongId);
|
||||
return await conn.QueryAsync<Song>("SELECT * FROM songs s WHERE NOT EXISTS (SELECT * FROM song_videos v WHERE v.SongId = s.SongId) LIMIT @Count OFFSET @Offset;", new DynamicParameters(new
|
||||
{
|
||||
Offset = offset,
|
||||
Count = count
|
||||
}));
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<Album>> GetAlbumsAsync(string q = "", long offset = 0, long count = 20)
|
||||
{
|
||||
return await conn.QueryAsync<Album>("SELECT * FROM albums WHERE AlbumName LIKE @Query ORDER BY AlbumReleaseDate, Id ASC LIMIT @Count OFFSET @Offset;", new DynamicParameters(new
|
||||
@@ -323,6 +334,8 @@ namespace Tesses.YouTubeDownloader2025Companion
|
||||
|
||||
public string Key { get; set; } = "";
|
||||
|
||||
public long Flags {get;set;}
|
||||
|
||||
public long Expires { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user