Documentation ¶
Index ¶
- type AddMultipleWatchedChannelRequest
- type AddVodToPlaylistRequest
- type AddWatchedChannelRequest
- type AdminService
- type ArchiveChannelRequest
- type ArchiveLiveChannelRequest
- type ArchiveService
- type ArchiveVodRequest
- type AuthService
- type ChangePasswordRequest
- type ChannelService
- type ConfigService
- type ConvertChatRequest
- type CreateChannelRequest
- type CreatePlaylistRequest
- type CreateQueueRequest
- type CreateVodRequest
- type ExecService
- type GetFfprobeDataRequest
- type Handler
- func (h *Handler) AddLiveWatchedChannel(c echo.Context) error
- func (h *Handler) AddMultipleLiveWatchedChannel(c echo.Context) error
- func (h *Handler) AddVodToPlaylist(c echo.Context) error
- func (h *Handler) ArchiveLiveChannel(c echo.Context) error
- func (h *Handler) ArchiveTwitchChannel(c echo.Context) error
- func (h *Handler) ArchiveTwitchVod(c echo.Context) error
- func (h *Handler) ChangePassword(c echo.Context) error
- func (h *Handler) Check(c echo.Context) error
- func (h *Handler) CheckVodWatchedChannels(c echo.Context) error
- func (h *Handler) ConvertChat(c echo.Context) error
- func (h *Handler) CreateChannel(c echo.Context) error
- func (h *Handler) CreatePlaylist(c echo.Context) error
- func (h *Handler) CreateQueueItem(c echo.Context) error
- func (h *Handler) CreateVod(c echo.Context) error
- func (h *Handler) DeleteChannel(c echo.Context) error
- func (h *Handler) DeleteLiveWatchedChannel(c echo.Context) error
- func (h *Handler) DeletePlaylist(c echo.Context) error
- func (h *Handler) DeleteProgress(c echo.Context) error
- func (h *Handler) DeleteQueueItem(c echo.Context) error
- func (h *Handler) DeleteUser(c echo.Context) error
- func (h *Handler) DeleteVod(c echo.Context) error
- func (h *Handler) DeleteVodFromPlaylist(c echo.Context) error
- func (h *Handler) GQLGetTwitchVideo(c echo.Context) error
- func (h *Handler) GatherMetrics() *prometheus.Registry
- func (h *Handler) GetAllProgress(c echo.Context) error
- func (h *Handler) GetChannel(c echo.Context) error
- func (h *Handler) GetChannelByName(c echo.Context) error
- func (h *Handler) GetChannels(c echo.Context) error
- func (h *Handler) GetConfig(c echo.Context) error
- func (h *Handler) GetFfprobeData(c echo.Context) error
- func (h *Handler) GetInfo(c echo.Context) error
- func (h *Handler) GetLastPlaybacks(c echo.Context) error
- func (h *Handler) GetLiveWatchedChannels(c echo.Context) error
- func (h *Handler) GetNotificationConfig(c echo.Context) error
- func (h *Handler) GetNumberOfVodChatCommentsFromTime(c echo.Context) error
- func (h *Handler) GetPlaylist(c echo.Context) error
- func (h *Handler) GetPlaylists(c echo.Context) error
- func (h *Handler) GetProgress(c echo.Context) error
- func (h *Handler) GetQueueItem(c echo.Context) error
- func (h *Handler) GetQueueItems(c echo.Context) error
- func (h *Handler) GetStats(c echo.Context) error
- func (h *Handler) GetStorageTemplateConfig(c echo.Context) error
- func (h *Handler) GetTwitchCategories(c echo.Context) error
- func (h *Handler) GetTwitchUser(c echo.Context) error
- func (h *Handler) GetTwitchVod(c echo.Context) error
- func (h *Handler) GetUser(c echo.Context) error
- func (h *Handler) GetUserIdFromChat(c echo.Context) error
- func (h *Handler) GetUsers(c echo.Context) error
- func (h *Handler) GetVod(c echo.Context) error
- func (h *Handler) GetVodChatBadges(c echo.Context) error
- func (h *Handler) GetVodChatComments(c echo.Context) error
- func (h *Handler) GetVodChatEmotes(c echo.Context) error
- func (h *Handler) GetVodPlaylists(c echo.Context) error
- func (h *Handler) GetVods(c echo.Context) error
- func (h *Handler) GetVodsPagination(c echo.Context) error
- func (h *Handler) LockVod(c echo.Context) error
- func (h *Handler) Login(c echo.Context) error
- func (h *Handler) Me(c echo.Context) error
- func (h *Handler) OAuthCallback(c echo.Context) error
- func (h *Handler) OAuthLogin(c echo.Context) error
- func (h *Handler) OAuthLogout(c echo.Context) error
- func (h *Handler) OAuthTokenRefresh(c echo.Context) error
- func (h *Handler) ReadQueueLogFile(c echo.Context) error
- func (h *Handler) Refresh(c echo.Context) error
- func (h *Handler) Register(c echo.Context) error
- func (h *Handler) RestartTask(c echo.Context) error
- func (h *Handler) SearchVods(c echo.Context) error
- func (h *Handler) Serve() error
- func (h *Handler) StartPlayback(c echo.Context) error
- func (h *Handler) StartTask(c echo.Context) error
- func (h *Handler) StopQueueItem(c echo.Context) error
- func (h *Handler) TestNotification(c echo.Context) error
- func (h *Handler) UpdateChannel(c echo.Context) error
- func (h *Handler) UpdateChannelImage(c echo.Context) error
- func (h *Handler) UpdateConfig(c echo.Context) error
- func (h *Handler) UpdateLiveWatchedChannel(c echo.Context) error
- func (h *Handler) UpdateNotificationConfig(c echo.Context) error
- func (h *Handler) UpdatePlaylist(c echo.Context) error
- func (h *Handler) UpdateProgress(c echo.Context) error
- func (h *Handler) UpdateQueueItem(c echo.Context) error
- func (h *Handler) UpdateStatus(c echo.Context) error
- func (h *Handler) UpdateStorageTemplateConfig(c echo.Context) error
- func (h *Handler) UpdateUser(c echo.Context) error
- func (h *Handler) UpdateVod(c echo.Context) error
- type LiveService
- type LoginRequest
- type MetricsService
- type PlaybackService
- type PlaylistService
- type QueueService
- type RegisterRequest
- type RestartTaskRequest
- type SchedulerService
- type Services
- type StartTaskRequest
- type TaskService
- type TwitchService
- type UpdateChannelRequest
- type UpdateConfigRequest
- type UpdateNotificationRequest
- type UpdateProgressRequest
- type UpdateQueueRequest
- type UpdateStatusRequest
- type UpdateStorageTemplateRequest
- type UpdateWatchedChannelRequest
- type UserService
- type VodService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddMultipleWatchedChannelRequest ¶ added in v1.2.5
type AddMultipleWatchedChannelRequest struct { WatchLive bool `json:"watch_live" ` WatchVod bool `json:"watch_vod" ` DownloadArchives bool `json:"download_archives" ` DownloadHighlights bool `json:"download_highlights" ` DownloadUploads bool `json:"download_uploads"` ChannelID []string `json:"channel_id" validate:"required"` Resolution string `json:"resolution" validate:"required,oneof=best source 720p60 480p 360p 160p 480p30 360p30 160p30"` ArchiveChat bool `json:"archive_chat"` RenderChat bool `json:"render_chat"` DownloadSubOnly bool `json:"download_sub_only"` Categories []string `json:"categories"` }
type AddVodToPlaylistRequest ¶ added in v1.0.0
type AddVodToPlaylistRequest struct {
VodID string `json:"vod_id" validate:"required"`
}
type AddWatchedChannelRequest ¶
type AddWatchedChannelRequest struct { WatchLive bool `json:"watch_live" ` WatchVod bool `json:"watch_vod" ` DownloadArchives bool `json:"download_archives" ` DownloadHighlights bool `json:"download_highlights" ` DownloadUploads bool `json:"download_uploads"` ChannelID string `json:"channel_id" validate:"required"` Resolution string `json:"resolution" validate:"required,oneof=best source 720p60 480p 360p 160p 480p30 360p30 160p30"` ArchiveChat bool `json:"archive_chat"` RenderChat bool `json:"render_chat"` DownloadSubOnly bool `json:"download_sub_only"` Categories []string `json:"categories"` }
type AdminService ¶
type ArchiveChannelRequest ¶
type ArchiveChannelRequest struct {
ChannelName string `json:"channel_name" validate:"required"`
}
type ArchiveLiveChannelRequest ¶ added in v1.2.8
type ArchiveService ¶
type ArchiveVodRequest ¶
type ArchiveVodRequest struct { VodID string `json:"vod_id" validate:"required"` Quality utils.VodQuality `json:"quality" validate:"required,oneof=best source 720p60 480p30 360p30 160p30 480p 360p 160p"` Chat bool `json:"chat"` RenderChat bool `json:"render_chat"` }
type AuthService ¶
type AuthService interface { Register(c echo.Context, userDto user.User) (*ent.User, error) Login(c echo.Context, userDto user.User) (*ent.User, error) Refresh(c echo.Context, refreshToken string) error Me(c *auth.CustomContext) (*ent.User, error) ChangePassword(c *auth.CustomContext, passwordDto auth.ChangePassword) error OAuthRedirect(c echo.Context) error OAuthCallback(c echo.Context) error OAuthTokenRefresh(c echo.Context, refreshToken string) error OAuthLogout(c echo.Context) error }
type ChangePasswordRequest ¶
type ChannelService ¶
type ChannelService interface { CreateChannel(channelDto channel.Channel) (*ent.Channel, error) GetChannels() ([]*ent.Channel, error) GetChannel(channelID uuid.UUID) (*ent.Channel, error) GetChannelByName(channelName string) (*ent.Channel, error) DeleteChannel(channelID uuid.UUID) error UpdateChannel(channelID uuid.UUID, channelDto channel.Channel) (*ent.Channel, error) UpdateChannelImage(c echo.Context, channelID uuid.UUID) error }
type ConfigService ¶
type ConfigService interface { GetConfig(c echo.Context) (*config.Conf, error) UpdateConfig(c echo.Context, conf *config.Conf) error GetNotificationConfig(c echo.Context) (*config.Notification, error) UpdateNotificationConfig(c echo.Context, conf *config.Notification) error GetStorageTemplateConfig(c echo.Context) (*config.StorageTemplate, error) UpdateStorageTemplateConfig(c echo.Context, conf *config.StorageTemplate) error }
type ConvertChatRequest ¶ added in v1.0.6
type ConvertChatRequest struct { FileName string `json:"file_name" validate:"required"` ChannelName string `json:"channel_name" validate:"required"` VodID string `json:"vod_id" validate:"required"` ChannelID int `json:"channel_id" validate:"required"` VodExternalID string `json:"vod_external_id" validate:"required"` ChatStart string `json:"chat_start" validate:"required"` }
type CreateChannelRequest ¶
type CreateChannelRequest struct { Name string `json:"name" validate:"required,min=2,max=50"` DisplayName string `json:"display_name" validate:"required,min=2,max=50"` ImagePath string `json:"image_path" validate:"required,min=3"` Retention bool `json:"retention"` RetentionDays int64 `json:"retention_days"` }
type CreatePlaylistRequest ¶ added in v1.0.0
type CreateQueueRequest ¶
type CreateQueueRequest struct {
VodID string `json:"vod_id" validate:"required"`
}
type CreateVodRequest ¶
type CreateVodRequest struct { ID string `json:"id"` ChannelID string `json:"channel_id" validate:"required"` ExtID string `json:"ext_id" validate:"min=1"` Platform utils.VodPlatform `json:"platform" validate:"required,oneof=twitch youtube"` Type utils.VodType `json:"type" validate:"required,oneof=archive live highlight upload clip"` Title string `json:"title" validate:"required,min=1"` Duration int `json:"duration" validate:"required"` Views int `json:"views" validate:"required"` Resolution string `json:"resolution"` Processing bool `json:"processing"` ThumbnailPath string `json:"thumbnail_path"` WebThumbnailPath string `json:"web_thumbnail_path" validate:"required,min=1"` VideoPath string `json:"video_path" validate:"required,min=1"` ChatPath string `json:"chat_path"` ChatVideoPath string `json:"chat_video_path"` InfoPath string `json:"info_path"` CaptionPath string `json:"caption_path"` StreamedAt string `json:"streamed_at" validate:"required"` Locked bool `json:"locked"` }
type ExecService ¶ added in v1.0.8
type GetFfprobeDataRequest ¶ added in v1.0.8
type GetFfprobeDataRequest struct {
Path string `json:"path" validate:"required"`
}
type Handler ¶
type Handler struct { Server *echo.Echo Service Services }
func NewHandler ¶
func NewHandler(authService AuthService, channelService ChannelService, vodService VodService, queueService QueueService, twitchService TwitchService, archiveService ArchiveService, adminService AdminService, userService UserService, configService ConfigService, liveService LiveService, schedulerService SchedulerService, playbackService PlaybackService, metricsService MetricsService, playlistService PlaylistService, taskService TaskService) *Handler
func (*Handler) AddLiveWatchedChannel ¶
AddLiveWatchedChannel godoc
@Summary Add watched channel @Description Add watched channel @Tags Live @Accept json @Produce json @Param body body AddWatchedChannelRequest true "Add watched channel" @Success 200 {object} ent.Live @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /live [post] @Security ApiKeyCookieAuth
func (*Handler) AddMultipleLiveWatchedChannel ¶ added in v1.2.5
AddMultipleLiveWatchedChannel godoc
@Summary Add multiple watched channels at once @Description This is useful to add multiple channels at once if they all have the same settings @Tags Live @Accept json @Produce json @Param body body AddMultipleWatchedChannelRequest true "Add watched channel" @Success 200 {object} ent.Live @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /live/multiple [post] @Security ApiKeyCookieAuth
func (*Handler) AddVodToPlaylist ¶ added in v1.0.0
AddVodToPlaylist godoc
@Summary Add vod to playlist @Description Add vod to playlist @Tags Playlist @Accept json @Produce json @Param id path string true "playlist id" @Param vod body AddVodToPlaylistRequest true "vod" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playlist/{id} [post] @Security ApiKeyCookieAuth
func (*Handler) ArchiveLiveChannel ¶ added in v1.2.8
ArchiveLiveChannel godoc
@Summary Archive a channel's live stream @Description Adhoc archive a channel's live stream. @Tags Live @Accept json @Produce json @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /live/archive [post] @Security ApiKeyCookieAuth
func (*Handler) ArchiveTwitchChannel ¶
ArchiveTwitchChannel godoc
@Summary Archive a twitch channel @Description Archive a twitch channel (creates channel in database and download profile image) @Tags archive @Accept json @Produce json @Param channel body ArchiveChannelRequest true "Channel" @Success 200 {object} ent.Channel @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /archive/channel [post] @Security ApiKeyCookieAuth
func (*Handler) ArchiveTwitchVod ¶
ArchiveTwitchVod godoc
@Summary Archive a twitch vod @Description Archive a twitch vod @Tags archive @Accept json @Produce json @Param vod body ArchiveVodRequest true "Vod" @Success 200 {object} archive.TwitchVodResponse @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /archive/vod [post] @Security ApiKeyCookieAuth
func (*Handler) ChangePassword ¶
ChangePassword godoc
@Summary Change password @Description Change password @Tags auth @Accept json @Produce json @Param change-password body ChangePasswordRequest true "Change password" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 401 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /auth/change-password [post] @Security ApiKeyCookieAuth
func (*Handler) CheckVodWatchedChannels ¶ added in v1.1.0
CheckVodWatchedChannels godoc
@Summary Check watched channels @Description Check watched channels if they are live. This is what runs every X seconds in the config. @Tags Live @Accept json @Produce json @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /live/check [get] @Security ApiKeyCookieAuth
func (*Handler) ConvertChat ¶ added in v1.0.6
ConvertChat godoc
@Summary Convert chat @Description Adhoc convert chat endpoint. This is what happens when a live stream chat is converted to a "vod" chat. @Tags Live @Accept json @Produce json @Param body body ConvertChatRequest true "Convert chat" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /live/chat-convert [post] @Security ApiKeyCookieAuth
func (*Handler) CreateChannel ¶
CreateChannel godoc
@Summary Create a channel @Description Create a channel @Tags channel @Accept json @Produce json @Param channel body CreateChannelRequest true "Channel" @Success 200 {object} ent.Channel @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /channel [post] @Security ApiKeyCookieAuth
func (*Handler) CreatePlaylist ¶ added in v1.0.0
CreatePlaylist godoc
@Summary Create playlist @Description Create playlist @Tags Playlist @Accept json @Produce json @Param playlist body CreatePlaylistRequest true "playlist" @Success 200 {object} ent.Playlist @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playlist [post] @Security ApiKeyCookieAuth
func (*Handler) CreateQueueItem ¶
CreateQueueItem godoc
@Summary Create a queue item @Description Create a queue item @Tags queue @Accept json @Produce json @Param body body CreateQueueRequest true "Create queue item" @Success 201 {object} ent.Queue @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /queue [post] @Security ApiKeyCookieAuth
func (*Handler) CreateVod ¶
CreateVod godoc
@Summary Create a vod @Description Create a vod @Tags vods @Accept json @Produce json @Param body body CreateVodRequest true "Create vod request" @Success 201 {object} ent.Vod @Failure 400 {object} utils.ErrorResponse @Failure 409 {object} utils.ErrorResponse @Router /vod [post] @Security ApiKeyCookieAuth
func (*Handler) DeleteChannel ¶
DeleteChannel godoc
@Summary Delete a channel @Description Delete a channel @Tags channel @Accept json @Produce json @Param id path string true "Channel ID" @Success 200 @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /channel/{id} [delete] @Security ApiKeyCookieAuth
func (*Handler) DeleteLiveWatchedChannel ¶
DeleteLiveWatchedChannel godoc
@Summary Delete watched channel @Description Delete watched channel @Tags Live @Accept json @Produce json @Param id path string true "Channel ID" @Success 200 {object} ent.Live @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /live/{id} [delete] @Security ApiKeyCookieAuth
func (*Handler) DeletePlaylist ¶ added in v1.0.0
DeletePlaylist godoc
@Summary Delete playlist @Description Delete playlist @Tags Playlist @Accept json @Produce json @Param id path string true "playlist id" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playlist/{id} [delete] @Security ApiKeyCookieAuth
func (*Handler) DeleteProgress ¶ added in v0.0.2
DeleteProgress godoc
@Summary Delete progress @Description Delete playback progress @Tags Playback @Accept json @Produce json @Param id path string true "vod id" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playback/{id} [delete] @Security ApiKeyCookieAuth
func (*Handler) DeleteQueueItem ¶
DeleteQueueItem godoc
@Summary Delete queue item @Description Delete queue item @Tags queue @Accept json @Produce json @Param id path string true "Queue item id" @Success 204 @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /queue/{id} [delete] @Security ApiKeyCookieAuth
func (*Handler) DeleteUser ¶
DeleteUser godoc
@Summary Delete user @Description Delete user @Tags user @Accept json @Produce json @Param id path string true "User ID" @Success 200 @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /user/{id} [delete] @Security ApiKeyCookieAuth
func (*Handler) DeleteVod ¶
DeleteVod godoc
@Summary Delete a vod @Description Delete a vod @Tags vods @Accept json @Produce json @Param id path string true "Vod ID" @Param delete_files query string false "Delete files" @Success 200 @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/{id} [delete] @Security ApiKeyCookieAuth
func (*Handler) DeleteVodFromPlaylist ¶ added in v1.0.0
DeleteVodFromPlaylist godoc
@Summary Delete vod from playlist @Description Delete vod from playlist @Tags Playlist @Accept json @Produce json @Param id path string true "playlist id" @Param vod body AddVodToPlaylistRequest true "vod" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playlist/{id}/vod [delete] @Security ApiKeyCookieAuth
func (*Handler) GQLGetTwitchVideo ¶ added in v1.2.0
GQLGetTwitchVideo godoc
@Summary Get a twitch video @Description Get a twitch video by id (uses twitch graphql api) @Tags twitch @Accept json @Produce json @Param id query string true "Twitch video id" @Success 200 {object} twitch.Video @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /twitch/gql/video [get]
func (*Handler) GatherMetrics ¶ added in v1.0.0
func (h *Handler) GatherMetrics() *prometheus.Registry
func (*Handler) GetAllProgress ¶ added in v0.0.2
GetAllProgress godoc
@Summary Get all progress @Description Get all playback progress @Tags Playback @Accept json @Produce json @Success 200 {object} []ent.Playback @Failure 500 {object} utils.ErrorResponse @Router /playback [get] @Security ApiKeyCookieAuth
func (*Handler) GetChannel ¶
GetChannel godoc
@Summary Get a channel @Description Returns a channel @Tags channel @Accept json @Produce json @Param id path string true "Channel ID" @Success 200 {object} ent.Channel @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /channel/{id} [get]
func (*Handler) GetChannelByName ¶
GetChannelByName godoc
@Summary Get a channel by name @Description Returns a channel by name @Tags channel @Accept json @Produce json @Param name path string true "Channel name" @Success 200 {object} ent.Channel @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /channel/name/{name} [get]
func (*Handler) GetChannels ¶
GetChannels godoc
@Summary Get all channels @Description Returns all channels @Tags channel @Accept json @Produce json @Success 200 {object} []ent.Channel @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /channel [get]
func (*Handler) GetConfig ¶
GetConfig godoc
@Summary Get config @Description Get config @Tags config @Accept json @Produce json @Success 200 {object} config.Conf @Failure 500 {object} utils.ErrorResponse @Router /config [get] @Security ApiKeyCookieAuth
func (*Handler) GetFfprobeData ¶ added in v1.0.8
GetFfprobeData godoc
@Summary Get ffprobe data @Description Get ffprobe data @Tags exec @Accept json @Produce json @Param body body GetFfprobeDataRequest true "GetFfprobeDataRequest" @Success 200 {object} map[string]interface{} @Failure 500 {object} utils.ErrorResponse @Router /exec/ffprobe [post] @Security ApiKeyCookieAuth
func (*Handler) GetInfo ¶ added in v1.1.0
GetInfo godoc
@Summary Get ganymede info @Description Get ganymede info @Tags admin @Accept json @Produce json @Success 200 {object} admin.InfoResp @Failure 500 {object} utils.ErrorResponse @Router /admin/info [get] @Security ApiKeyCookieAuth
func (*Handler) GetLastPlaybacks ¶ added in v1.2.6
func (*Handler) GetLiveWatchedChannels ¶
GetLiveWatchedChannels godoc
@Summary Get all watched channels @Description Get all watched channels @Tags Live @Accept json @Produce json @Success 200 {object} []ent.Live @Failure 500 {object} utils.ErrorResponse @Router /live [get] @Security ApiKeyCookieAuth
func (*Handler) GetNotificationConfig ¶ added in v1.1.1
GetNotificationConfig godoc
@Summary Get notification config @Description Get notification config @Tags config @Accept json @Produce json @Success 200 {object} config.Notification @Failure 500 {object} utils.ErrorResponse @Router /config/notification [get] @Security ApiKeyCookieAuth
func (*Handler) GetNumberOfVodChatCommentsFromTime ¶ added in v1.1.0
GetNumberOfVodChatComments godoc
@Summary Get number of vod chat comments @Description Get N number of vod chat comments before the start time (used for seeking) @Tags vods @Accept json @Produce json @Param id path string true "Vod ID" @Param start query string false "Start time" @Param count query string false "Count" @Success 200 {object} []chat.Comment @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/{id}/chat/seek [get]
func (*Handler) GetPlaylist ¶ added in v1.0.0
GetPlaylist godoc
@Summary Get playlist @Description Get playlist @Tags Playlist @Accept json @Produce json @Param id path string true "playlist id" @Success 200 {object} ent.Playlist @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playlist/{id} [get]
func (*Handler) GetPlaylists ¶ added in v1.0.0
GetPlaylists godoc
@Summary Get playlists @Description Get playlists @Tags Playlist @Accept json @Produce json @Success 200 {object} []ent.Playlist @Failure 500 {object} utils.ErrorResponse @Router /playlist [get]
func (*Handler) GetProgress ¶ added in v0.0.2
GetProgress godoc
@Summary Get progress @Description Get playback progress @Tags Playback @Accept json @Produce json @Param id path string true "vod id" @Success 200 {object} ent.Playback @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playback/progress/{id} [get] @Security ApiKeyCookieAuth
func (*Handler) GetQueueItem ¶
GetQueueItem godoc
@Summary Get queue item @Description Get queue item @Tags queue @Accept json @Produce json @Param id path string true "Queue item id" @Success 200 {object} ent.Queue @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /queue/{id} [get] @Security ApiKeyCookieAuth
func (*Handler) GetQueueItems ¶
GetQueueItems godoc
@Summary Get queue items @Description Get queue items @Tags queue @Accept json @Produce json @Param processing query string false "Get processing queue items" @Success 200 {object} []ent.Queue @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /queue [get] @Security ApiKeyCookieAuth
func (*Handler) GetStats ¶
GetStats godoc
@Summary Get ganymede stats @Description Get ganymede stats @Tags admin @Accept json @Produce json @Success 200 {object} admin.GetStatsResp @Failure 500 {object} utils.ErrorResponse @Router /admin/stats [get] @Security ApiKeyCookieAuth
func (*Handler) GetStorageTemplateConfig ¶ added in v1.1.7
GetStorageTemplateConfig godoc
@Summary Get storage template config @Description Get storage template config @Tags config @Accept json @Produce json @Success 200 {object} config.StorageTemplate @Failure 500 {object} utils.ErrorResponse @Router /config/storage [get] @Security ApiKeyCookieAuth
func (*Handler) GetTwitchCategories ¶ added in v1.2.4
GetTwitchCategories godoc
@Summary Get a list of twitch categories @Description Get a list of twitch categories @Tags twitch @Accept json @Produce json @Success 200 {object} twitch.Category @Failure 500 {object} utils.ErrorResponse @Router /twitch/categories [get]
func (*Handler) GetTwitchUser ¶
GetTwitchUser godoc
@Summary Get a twitch channel @Description Get a twitch user/channel by name (uses twitch api) @Tags twitch @Accept json @Produce json @Param name query string true "Twitch user login name" @Success 200 {object} twitch.Channel @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /twitch/channel [get]
func (*Handler) GetTwitchVod ¶
GetTwitchVod godoc
@Summary Get a twitch vod @Description Get a twitch vod by id (uses twitch api) @Tags twitch @Accept json @Produce json @Param id query string true "Twitch vod id" @Success 200 {object} twitch.Vod @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /twitch/vod [get]
func (*Handler) GetUser ¶
GetUser godoc
@Summary Get user by id @Description Get user by id @Tags user @Accept json @Produce json @Param id path string true "User ID" @Success 200 {object} ent.User @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /user/{id} [get] @Security ApiKeyCookieAuth
func (*Handler) GetUserIdFromChat ¶ added in v1.1.0
GetUserIdFromChat godoc
@Summary Get user id from chat @Description Get user id from chat json file @Tags vods @Accept json @Produce json @Param id path string true "Vod ID" @Success 200 {object} int64 @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/{id}/chat/userid [get]
func (*Handler) GetUsers ¶
GetUsers godoc
@Summary Get all users @Description Get all users @Tags user @Accept json @Produce json @Success 200 {object} []ent.User @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /user [get] @Security ApiKeyCookieAuth
func (*Handler) GetVod ¶
GetVod godoc
@Summary Get a vod @Description Get a vod @Tags vods @Accept json @Produce json @Param id path string true "Vod ID" @Param with_channel query string false "With channel" @Success 200 {object} ent.Vod @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/{id} [get]
func (*Handler) GetVodChatBadges ¶ added in v1.1.0
GetVodChatBadges godoc
@Summary Get vod chat badges @Description Get vod chat badges @Tags vods @Accept json @Produce json @Param id path string true "Vod ID" @Success 200 {array} chat.GanymedeBadges @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/{id}/chat/badges [get]
func (*Handler) GetVodChatComments ¶ added in v1.1.0
GetVodChatComments godoc
@Summary Get vod chat comments @Description Get vod chat comments @Tags vods @Accept json @Produce json @Param id path string true "Vod ID" @Param start query string false "Start time" @Param end query string false "End time" @Success 200 {array} []chat.Comment @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/{id}/chat [get]
func (*Handler) GetVodChatEmotes ¶ added in v1.1.0
GetVodChatEmotes godoc
@Summary Get vod chat emotes @Description Get vod chat emotes @Tags vods @Accept json @Produce json @Param id path string true "Vod ID" @Success 200 {array} chat.GanymedeEmotes @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/{id}/chat/emotes [get]
func (*Handler) GetVodPlaylists ¶ added in v1.0.0
GetVodPlaylists godoc
@Summary Get vod playlists @Description Get vod playlists @Tags vods @Accept json @Produce json @Param id path string true "Vod ID" @Success 200 {array} []ent.Playlist @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/{id}/playlist [get]
func (*Handler) GetVods ¶
GetVods godoc
@Summary Get vods @Description Get vods @Tags vods @Accept json @Produce json @Param channel_id query string false "Channel ID" @Success 200 {object} []ent.Vod @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod [get]
func (*Handler) GetVodsPagination ¶ added in v1.0.7
GetVodsPagination godoc
@Summary Get vods pagination @Description Get vods pagination @Tags vods @Accept json @Produce json @Param limit query integer false "Limit" default(10) @Param offset query integer false "Offset" default(0) @Param channel_id query string false "Channel ID" @Success 200 {object} vod.Pagination @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/pagination [get]
func (*Handler) Login ¶
Login godoc
@Summary Login a user @Description Login a user (sets access-token and refresh-token cookies). Access token lasts for 1 hour. Refresh token lasts for 1 month. @Tags auth @Accept json @Produce json @Param login body LoginRequest true "Login" @Success 200 {object} ent.User @Failure 400 {object} utils.ErrorResponse @Failure 401 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /auth/login [post]
func (*Handler) Me ¶
Me godoc
@Summary Get current user @Description Get current user @Tags auth @Accept json @Produce json @Success 200 {object} ent.User @Failure 400 {object} utils.ErrorResponse @Failure 401 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /auth/me [get] @Security ApiKeyCookieAuth
func (*Handler) OAuthCallback ¶ added in v1.0.8
OAuthCallback godoc
@Summary OAuth callback @Description OAuth callback for OAuth provider @Tags auth @Accept json @Produce json @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 401 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /auth/oauth/callback [get]
func (*Handler) OAuthLogin ¶ added in v1.0.8
OAuthLogin godoc
@Summary Login a user with OAuth @Description Login a user with OAuth (sets access-token and refresh-token cookies) @Tags auth @Accept json @Produce json @Success 200 {object} ent.User @Failure 400 {object} utils.ErrorResponse @Failure 401 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /auth/oauth/login [get]
func (*Handler) OAuthLogout ¶ added in v1.0.8
OAuthLogout godoc
@Summary Logout @Description Logout @Tags auth @Accept json @Produce json @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 401 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /auth/oauth/logout [get]
func (*Handler) OAuthTokenRefresh ¶ added in v1.0.8
OAuthTokenRefresh godoc
@Summary Refresh access-token and refresh-token @Description Refresh access-token and refresh-token (sets access-token and refresh-token cookies) @Tags auth @Accept json @Produce json @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 401 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /auth/oauth/refresh [get]
func (*Handler) ReadQueueLogFile ¶
ReadQueueLogFile godoc
@Summary Read queue log file @Description Read queue log file @Tags queue @Accept json @Produce json @Param id path string true "Queue item id" @Param type query string true "Log type: video, video-convert, chat, chat-render, or chat-convert" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /queue/{id}/tail [get] @Security ApiKeyCookieAuth
func (*Handler) Refresh ¶
Refresh godoc
@Summary Refresh access-token and refresh-token @Description Refresh access-token and refresh-token (sets access-token and refresh-token cookies) @Tags auth @Accept json @Produce json @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 401 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /auth/refresh [post]
func (*Handler) Register ¶
Register godoc
@Summary Register a user @Description Register a user (does not log in) @Tags auth @Accept json @Produce json @Param register body RegisterRequest true "Register" @Success 200 {object} ent.User @Failure 400 {object} utils.ErrorResponse @Failure 403 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /auth/register [post]
func (*Handler) RestartTask ¶
RestartTask godoc
@Summary Restart a task @Description Restart a task @Tags archive @Accept json @Produce json @Param queue_id path string true "Queue ID" @Param task body RestartTaskRequest true "Task" @Success 200 @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /archive/restart [post] @Security ApiKeyCookieAuth
func (*Handler) SearchVods ¶
SearchVods godoc
@Summary Search vods @Description Search vods @Tags vods @Accept json @Produce json @Param q query string true "Search query" @Param limit query integer false "Limit" default(10) @Param offset query integer false "Offset" default(0) @Success 200 {array} ent.Vod @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/search [get]
func (*Handler) StartPlayback ¶ added in v1.4.3
StartPlayback godoc
@Summary Start playback @Description Adds a view to the video local view count @Tags Playback @Accept json @Produce json @Param id path string true "vod id" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playback/start [post]
func (*Handler) StartTask ¶ added in v1.1.0
StartTask godoc
@Summary Start a task @Description Start a task @Tags task @Accept json @Produce json @Param body body StartTaskRequest true "StartTaskRequest" @Success 200 @Failure 500 {object} utils.ErrorResponse @Router /task/start [post] @Security ApiKeyCookieAuth
func (*Handler) StopQueueItem ¶ added in v1.3.0
func (*Handler) TestNotification ¶ added in v1.1.1
TestNotification godoc
@Summary Test notification @Description Test notification @Tags notification @Accept json @Produce json @Param type query string true "Type of notification to test" @Success 200 {object} string @Failure 500 {object} utils.ErrorResponse @Router /notification/test [get] @Security ApiKeyCookieAuth
func (*Handler) UpdateChannel ¶
UpdateChannel godoc
@Summary Update a channel @Description Update a channel @Tags channel @Accept json @Produce json @Param id path string true "Channel ID" @Param channel body CreateChannelRequest true "Channel" @Success 200 {object} ent.Channel @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /channel/{id} [put] @Security ApiKeyCookieAuth
func (*Handler) UpdateChannelImage ¶ added in v1.2.6
func (*Handler) UpdateConfig ¶
UpdateConfig godoc
@Summary Update config @Description Update config @Tags config @Accept json @Produce json @Param body body UpdateConfigRequest true "Config" @Success 200 {object} UpdateConfigRequest @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /config [put] @Security ApiKeyCookieAuth
func (*Handler) UpdateLiveWatchedChannel ¶
UpdateLiveWatchedChannel godoc
@Summary Update watched channel @Description Update watched channel @Tags Live @Accept json @Produce json @Param id path string true "Channel ID" @Param body body UpdateWatchedChannelRequest true "Update watched channel" @Success 200 {object} ent.Live @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /live/{id} [put] @Security ApiKeyCookieAuth
func (*Handler) UpdateNotificationConfig ¶ added in v1.1.1
UpdateNotificationConfig godoc
@Summary Update notification config @Description Update notification config @Tags config @Accept json @Produce json @Param body body UpdateNotificationRequest true "Config" @Success 200 {object} UpdateNotificationRequest @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /config/notification [put] @Security ApiKeyCookieAuth
func (*Handler) UpdatePlaylist ¶ added in v1.0.0
UpdatePlaylist godoc
@Summary Update playlist @Description Update playlist @Tags Playlist @Accept json @Produce json @Param id path string true "playlist id" @Param playlist body CreatePlaylistRequest true "playlist" @Success 200 {object} ent.Playlist @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playlist/{id} [put] @Security ApiKeyCookieAuth
func (*Handler) UpdateProgress ¶ added in v0.0.2
UpdateProgress godoc
@Summary Update progress @Description Update playback progress @Tags Playback @Accept json @Produce json @Param progress body UpdateProgressRequest true "progress" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playback/progress [post] @Security ApiKeyCookieAuth
func (*Handler) UpdateQueueItem ¶
UpdateQueueItem godoc
@Summary Update queue item @Description Update queue item @Tags queue @Accept json @Produce json @Param id path string true "Queue item id" @Param body body UpdateQueueRequest true "Update queue item" @Success 200 {object} ent.Queue @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /queue/{id} [put] @Security ApiKeyCookieAuth
func (*Handler) UpdateStatus ¶ added in v0.0.2
UpdateStatus godoc
@Summary Update status @Description Update playback status @Tags Playback @Accept json @Produce json @Param status body UpdateStatusRequest true "status" @Success 200 {object} string @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /playback/status [post] @Security ApiKeyCookieAuth
func (*Handler) UpdateStorageTemplateConfig ¶ added in v1.1.7
UpdateStorageTemplateConfig godoc
@Summary Update storage template config @Description Update storage template config @Tags config @Accept json @Produce json @Param body body UpdateStorageTemplateRequest true "Config" @Success 200 {object} UpdateStorageTemplateRequest @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /config/storage [put] @Security ApiKeyCookieAuth
func (*Handler) UpdateUser ¶
UpdateUser godoc
@Summary Update user @Description Update user @Tags user @Accept json @Produce json @Param id path string true "User ID" @Param body body UpdateChannelRequest true "User data" @Success 200 {object} ent.User @Failure 400 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /user/{id} [put] @Security ApiKeyCookieAuth
func (*Handler) UpdateVod ¶
UpdateVod godoc
@Summary Update a vod @Description Update a vod @Tags vods @Accept json @Produce json @Param id path string true "Vod ID" @Param body body CreateVodRequest true "Vod" @Success 200 {object} ent.Vod @Failure 400 {object} utils.ErrorResponse @Failure 404 {object} utils.ErrorResponse @Failure 500 {object} utils.ErrorResponse @Router /vod/{id} [put] @Security ApiKeyCookieAuth
type LiveService ¶
type LiveService interface { GetLiveWatchedChannels(c echo.Context) ([]*ent.Live, error) AddLiveWatchedChannel(c echo.Context, liveDto live.Live) (*ent.Live, error) DeleteLiveWatchedChannel(c echo.Context, lID uuid.UUID) error UpdateLiveWatchedChannel(c echo.Context, liveDto live.Live) (*ent.Live, error) Check() error ConvertChat(c echo.Context, convertDto live.ConvertChat) error CheckVodWatchedChannels() ArchiveLiveChannel(c echo.Context, archiveDto live.ArchiveLive) error }
type LoginRequest ¶
type MetricsService ¶ added in v1.0.0
type MetricsService interface {
GatherMetrics() *prometheus.Registry
}
type PlaybackService ¶ added in v0.0.2
type PlaybackService interface { UpdateProgress(c *auth.CustomContext, vID uuid.UUID, time int) error GetProgress(c *auth.CustomContext, vID uuid.UUID) (*ent.Playback, error) GetAllProgress(c *auth.CustomContext) ([]*ent.Playback, error) UpdateStatus(c *auth.CustomContext, vID uuid.UUID, status string) error DeleteProgress(c *auth.CustomContext, vID uuid.UUID) error GetLastPlaybacks(c *auth.CustomContext, limit int) (*playback.GetPlaybackResp, error) StartPlayback(c echo.Context, videoId uuid.UUID) error }
type PlaylistService ¶ added in v1.0.0
type PlaylistService interface { CreatePlaylist(c echo.Context, playlistDto playlist.Playlist) (*ent.Playlist, error) AddVodToPlaylist(c echo.Context, playlistID uuid.UUID, vodID uuid.UUID) error GetPlaylists(c echo.Context) ([]*ent.Playlist, error) GetPlaylist(c echo.Context, playlistID uuid.UUID) (*ent.Playlist, error) UpdatePlaylist(c echo.Context, playlistID uuid.UUID, playlistDto playlist.Playlist) (*ent.Playlist, error) DeletePlaylist(c echo.Context, playlistID uuid.UUID) error DeleteVodFromPlaylist(c echo.Context, playlistID uuid.UUID, vodID uuid.UUID) error }
type QueueService ¶
type QueueService interface { CreateQueueItem(queueDto queue.Queue, vID uuid.UUID) (*ent.Queue, error) GetQueueItems(c echo.Context) ([]*ent.Queue, error) GetQueueItemsFilter(c echo.Context, pro bool) ([]*ent.Queue, error) GetQueueItem(id uuid.UUID) (*ent.Queue, error) UpdateQueueItem(queueDto queue.Queue, id uuid.UUID) (*ent.Queue, error) DeleteQueueItem(c echo.Context, id uuid.UUID) error ReadLogFile(c echo.Context, id uuid.UUID, logType string) ([]byte, error) StopQueueItem(c echo.Context, id uuid.UUID) error }
type RegisterRequest ¶
type RestartTaskRequest ¶
type SchedulerService ¶
type SchedulerService interface { StartAppScheduler() StartLiveScheduler() StartQueueItemScheduler() StartJwksScheduler() StartWatchVideoScheduler() StartTwitchCategoriesScheduler() StartPruneVideoScheduler() }
type Services ¶
type Services struct { AuthService AuthService ChannelService ChannelService VodService VodService QueueService QueueService TwitchService TwitchService ArchiveService ArchiveService AdminService AdminService UserService UserService ConfigService ConfigService LiveService LiveService SchedulerService SchedulerService PlaybackService PlaybackService MetricsService MetricsService PlaylistService PlaylistService TaskService TaskService }
type StartTaskRequest ¶ added in v1.1.0
type StartTaskRequest struct {
Task string `` /* 127-byte string literal not displayed */
}
type TaskService ¶ added in v1.1.0
type TwitchService ¶
type UpdateChannelRequest ¶
type UpdateConfigRequest ¶
type UpdateConfigRequest struct { RegistrationEnabled bool `json:"registration_enabled"` Parameters struct { TwitchToken string `json:"twitch_token"` VideoConvert string `json:"video_convert" validate:"required"` ChatRender string `json:"chat_render" validate:"required"` StreamlinkLive string `json:"streamlink_live"` } `json:"parameters"` Archive struct { SaveAsHls bool `json:"save_as_hls"` } `json:"archive"` Livestream struct { Proxies []config.ProxyListItem `json:"proxies"` ProxyEnabled bool `json:"proxy_enabled"` ProxyParameters string `json:"proxy_parameters"` ProxyWhitelist []string `json:"proxy_whitelist"` } `json:"livestream"` }
type UpdateNotificationRequest ¶ added in v1.1.1
type UpdateNotificationRequest struct { VideoSuccessWebhookUrl string `json:"video_success_webhook_url"` VideoSuccessTemplate string `json:"video_success_template"` VideoSuccessEnabled bool `json:"video_success_enabled"` LiveSuccessWebhookUrl string `json:"live_success_webhook_url"` LiveSuccessTemplate string `json:"live_success_template"` LiveSuccessEnabled bool `json:"live_success_enabled"` ErrorWebhookUrl string `json:"error_webhook_url"` ErrorTemplate string `json:"error_template"` ErrorEnabled bool `json:"error_enabled"` IsLiveWebhookUrl string `json:"is_live_webhook_url"` IsLiveTemplate string `json:"is_live_template"` IsLiveEnabled bool `json:"is_live_enabled"` }
type UpdateProgressRequest ¶ added in v0.0.2
type UpdateQueueRequest ¶
type UpdateQueueRequest struct { ID uuid.UUID `json:"id"` LiveArchive bool `json:"live_archive"` OnHold bool `json:"on_hold"` VideoProcessing bool `json:"video_processing"` ChatProcessing bool `json:"chat_processing"` Processing bool `json:"processing"` TaskVodCreateFolder utils.TaskStatus `json:"task_vod_create_folder" validate:"required,oneof=pending running success failed"` TaskVodDownloadThumbnail utils.TaskStatus `json:"task_vod_download_thumbnail" validate:"required,oneof=pending running success failed"` TaskVodSaveInfo utils.TaskStatus `json:"task_vod_save_info" validate:"required,oneof=pending running success failed"` TaskVideoDownload utils.TaskStatus `json:"task_video_download" validate:"required,oneof=pending running success failed"` TaskVideoConvert utils.TaskStatus `json:"task_video_convert" validate:"required,oneof=pending running success failed"` TaskVideoMove utils.TaskStatus `json:"task_video_move" validate:"required,oneof=pending running success failed"` TaskChatDownload utils.TaskStatus `json:"task_chat_download" validate:"required,oneof=pending running success failed"` TaskChatConvert utils.TaskStatus `json:"task_chat_convert" validate:"required,oneof=pending running success failed"` TaskChatRender utils.TaskStatus `json:"task_chat_render" validate:"required,oneof=pending running success failed"` TaskChatMove utils.TaskStatus `json:"task_chat_move" validate:"required,oneof=pending running success failed"` }
type UpdateStatusRequest ¶ added in v0.0.2
type UpdateStorageTemplateRequest ¶ added in v1.1.7
type UpdateWatchedChannelRequest ¶
type UpdateWatchedChannelRequest struct { WatchLive bool `json:"watch_live"` WatchVod bool `json:"watch_vod" ` DownloadArchives bool `json:"download_archives" ` DownloadHighlights bool `json:"download_highlights" ` DownloadUploads bool `json:"download_uploads"` Resolution string `json:"resolution" validate:"required,oneof=best source 720p60 480p 360p 160p 480p30 360p30 160p30"` ArchiveChat bool `json:"archive_chat"` RenderChat bool `json:"render_chat"` DownloadSubOnly bool `json:"download_sub_only"` Categories []string `json:"categories"` }
type UserService ¶
type VodService ¶
type VodService interface { CreateVod(vod vod.Vod, cID uuid.UUID) (*ent.Vod, error) GetVods(c echo.Context) ([]*ent.Vod, error) GetVodsByChannel(c echo.Context, cUUID uuid.UUID) ([]*ent.Vod, error) GetVod(vID uuid.UUID) (*ent.Vod, error) GetVodWithChannel(vID uuid.UUID) (*ent.Vod, error) DeleteVod(c echo.Context, vID uuid.UUID, deleteFiles bool) error UpdateVod(c echo.Context, vID uuid.UUID, vod vod.Vod, cID uuid.UUID) (*ent.Vod, error) SearchVods(c echo.Context, query string, limit int, offset int) (vod.Pagination, error) GetVodPlaylists(c echo.Context, vID uuid.UUID) ([]*ent.Playlist, error) GetVodsPagination(c echo.Context, limit int, offset int, channelId uuid.UUID, types []utils.VodType) (vod.Pagination, error) GetVodChatComments(c echo.Context, vodID uuid.UUID, start float64, end float64) (*[]chat.Comment, error) GetUserIdFromChat(c echo.Context, vodID uuid.UUID) (*int64, error) GetVodChatEmotes(c echo.Context, vodID uuid.UUID) (*chat.GanymedeEmotes, error) GetVodChatBadges(c echo.Context, vodID uuid.UUID) (*chat.GanymedeBadges, error) GetNumberOfVodChatCommentsFromTime(c echo.Context, vodID uuid.UUID, start float64, commentCount int64) (*[]chat.Comment, error) LockVod(c echo.Context, vID uuid.UUID, status bool) error }