YCLIMP
Yandex Command Line Interface Music Player
Loading...
Searching...
No Matches
include
TrackDao.hpp
1
#pragma once
2
3
#include <SQLiteCpp/SQLiteCpp.h>
4
5
#include <vector>
6
10
struct
DBTrack
11
{
12
DBTrack() =
default
;
13
DBTrack(
int
id
,
int
playlistId, std::string fromType, std::string locationId,
14
std::string fsPath, std::string name,
int
inode);
15
16
int
id;
17
int
playlistId;
18
std::string fromType;
19
std::string locationId;
20
std::string fsPath;
21
std::string name;
22
int
inode;
23
};
24
32
class
TrackDao
33
{
34
public
:
35
TrackDao(SQLite::Database& database);
36
void
Init()
const
;
37
std::vector<DBTrack>
FetchAllFromPlaylist
(
int
playlist_id)
const
;
38
std::vector<DBTrack> FetchAll()
const
;
39
DBTrack
FetchOneByID(
int
playlist_id)
const
;
40
DBTrack
FetchOneByYaID(
const
std::string& location_id)
const
;
41
DBTrack
FetchOneByPath(
const
std::string& fs_path)
const
;
42
int
AddTrack(
DBTrack
track)
const
;
43
std::vector<int> AddTracks(std::vector<DBTrack> tracks)
const
;
44
45
private
:
46
SQLite::Database& mDatabase;
47
};
TrackDao::FetchAllFromPlaylist
std::vector< DBTrack > FetchAllFromPlaylist(int playlist_id) const
Fetch All tracks from specific playlist.
Definition
TrackDao.cpp:51
DBTrack
The DataBaseTrack - track representation in Database.
Definition
TrackDao.hpp:11
Generated by
1.14.0