mirror of https://github.com/FreeTubeApp/FreeTube
199 lines
4.2 KiB
JavaScript
199 lines
4.2 KiB
JavaScript
import { ipcRenderer } from 'electron'
|
|
import { IpcChannels, DBActions } from '../../constants'
|
|
|
|
class Settings {
|
|
static find() {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_SETTINGS,
|
|
{ action: DBActions.GENERAL.FIND }
|
|
)
|
|
}
|
|
|
|
static upsert(_id, value) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_SETTINGS,
|
|
{ action: DBActions.GENERAL.UPSERT, data: { _id, value } }
|
|
)
|
|
}
|
|
}
|
|
|
|
class History {
|
|
static find() {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_HISTORY,
|
|
{ action: DBActions.GENERAL.FIND }
|
|
)
|
|
}
|
|
|
|
static upsert(record) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_HISTORY,
|
|
{ action: DBActions.GENERAL.UPSERT, data: record }
|
|
)
|
|
}
|
|
|
|
static updateWatchProgress(videoId, watchProgress) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_HISTORY,
|
|
{
|
|
action: DBActions.HISTORY.UPDATE_WATCH_PROGRESS,
|
|
data: { videoId, watchProgress }
|
|
}
|
|
)
|
|
}
|
|
|
|
static delete(videoId) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_HISTORY,
|
|
{ action: DBActions.GENERAL.DELETE, data: videoId }
|
|
)
|
|
}
|
|
|
|
static deleteAll() {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_HISTORY,
|
|
{ action: DBActions.GENERAL.DELETE_ALL }
|
|
)
|
|
}
|
|
|
|
static persist() {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_HISTORY,
|
|
{ action: DBActions.GENERAL.PERSIST }
|
|
)
|
|
}
|
|
}
|
|
|
|
class Profiles {
|
|
static create(profile) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PROFILES,
|
|
{ action: DBActions.GENERAL.CREATE, data: profile }
|
|
)
|
|
}
|
|
|
|
static find() {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PROFILES,
|
|
{ action: DBActions.GENERAL.FIND }
|
|
)
|
|
}
|
|
|
|
static upsert(profile) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PROFILES,
|
|
{ action: DBActions.GENERAL.UPSERT, data: profile }
|
|
)
|
|
}
|
|
|
|
static delete(id) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PROFILES,
|
|
{ action: DBActions.GENERAL.DELETE, data: id }
|
|
)
|
|
}
|
|
|
|
static persist() {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PROFILES,
|
|
{ action: DBActions.GENERAL.PERSIST }
|
|
)
|
|
}
|
|
}
|
|
|
|
class Playlists {
|
|
static create(playlists) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{ action: DBActions.GENERAL.CREATE, data: playlists }
|
|
)
|
|
}
|
|
|
|
static find() {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{ action: DBActions.GENERAL.FIND }
|
|
)
|
|
}
|
|
|
|
static upsertVideoByPlaylistName(playlistName, videoData) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{
|
|
action: DBActions.PLAYLISTS.UPSERT_VIDEO,
|
|
data: { playlistName, videoData }
|
|
}
|
|
)
|
|
}
|
|
|
|
static upsertVideoIdsByPlaylistId(_id, videoIds) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{
|
|
action: DBActions.PLAYLISTS.UPSERT_VIDEO_IDS,
|
|
data: { _id, videoIds }
|
|
}
|
|
)
|
|
}
|
|
|
|
static delete(_id) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{ action: DBActions.GENERAL.DELETE, data: _id }
|
|
)
|
|
}
|
|
|
|
static deleteVideoIdByPlaylistName(playlistName, videoId) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{
|
|
action: DBActions.PLAYLISTS.DELETE_VIDEO_ID,
|
|
data: { playlistName, videoId }
|
|
}
|
|
)
|
|
}
|
|
|
|
static deleteVideoIdsByPlaylistName(playlistName, videoIds) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{
|
|
action: DBActions.PLAYLISTS.DELETE_VIDEO_IDS,
|
|
data: { playlistName, videoIds }
|
|
}
|
|
)
|
|
}
|
|
|
|
static deleteAllVideosByPlaylistName(playlistName) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{
|
|
action: DBActions.PLAYLISTS.DELETE_ALL_VIDEOS,
|
|
data: playlistName
|
|
}
|
|
)
|
|
}
|
|
|
|
static deleteMultiple(ids) {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{ action: DBActions.GENERAL.DELETE_MULTIPLE, data: ids }
|
|
)
|
|
}
|
|
|
|
static deleteAll() {
|
|
return ipcRenderer.invoke(
|
|
IpcChannels.DB_PLAYLISTS,
|
|
{ action: DBActions.GENERAL.DELETE_ALL }
|
|
)
|
|
}
|
|
}
|
|
|
|
const handlers = {
|
|
settings: Settings,
|
|
history: History,
|
|
profiles: Profiles,
|
|
playlists: Playlists
|
|
}
|
|
|
|
export default handlers
|