utils

package
v0.0.0-...-25002b9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 12, 2025 License: MIT Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const PartSize = 5 * 1024 * 1024 // 5 MB minimum part size

Variables

This section is empty.

Functions

func AddVideoHandler

func AddVideoHandler(dbConn *sql.DB, w http.ResponseWriter, r *http.Request)

AddVideoHandler handles adding a new video to the database and uploads it to S3.

func CreateS3Client

func CreateS3Client() (*s3.Client, error)

func DeleteObject

func DeleteObject(s3Client s3.Client, bucket string, objectKey string, ws *websocket.Conn) error

func DeleteVideoHandler

func DeleteVideoHandler(dbConn *sql.DB, w http.ResponseWriter, r *http.Request)

func ExtractVideoID

func ExtractVideoID(videoID string) (string, error)

ExtractVideoID extracts the videoID from the given string CREDITS: https://github.com/kkdai/youtube/blob/master/video_id.go

func GetObject

func GetObject(s3Client s3.Client, bucket string, videoKey string) ([]byte, error)

func GetVideoHandler

func GetVideoHandler(dbConn *sql.DB, w http.ResponseWriter, r *http.Request)

func GetVideoMetadata

func GetVideoMetadata(client youtube.Client, videoID string) (*youtube.Video, error)

func IndexHandler

func IndexHandler(dbConn *sql.DB, w http.ResponseWriter, r *http.Request)

IndexHandler serves the index page or redirects authenticated users to the videos page.

func InitOAuthConfig

func InitOAuthConfig()

func ListObjects

func ListObjects(s3Client s3.Client, bucket string) ([]*string, error)

func ListUsersHandler

func ListUsersHandler(w http.ResponseWriter, r *http.Request)

ListUsersHandler retrieves and sends a list of connected users.

func ListVideosHandler

func ListVideosHandler(dbConn *sql.DB, w http.ResponseWriter, r *http.Request)

ListVideosHandler renders the videos page with the list of videos from the database.

func LogoutHandler

func LogoutHandler(dbConn *sql.DB, w http.ResponseWriter, r *http.Request)

LogoutHandler handles user logout, session deletion, and cookie clearing.

func OauthGoogleCallback

func OauthGoogleCallback(dbConn *sql.DB, w http.ResponseWriter, r *http.Request)

func OauthGoogleLogin

func OauthGoogleLogin(w http.ResponseWriter, r *http.Request)

func RenderTemplate

func RenderTemplate(w http.ResponseWriter, tmpl string, data interface{})

RenderTemplate renders a Handlebars template with the provided data.

func StreamToS3

func StreamToS3(client youtube.Client, video *youtube.Video, bucketName, s3Key string, s3Client s3.Client, ws *websocket.Conn) error

func UploadFile

func UploadFile(s3Client s3.Client, bucket string, videoKey *string, data io.ReadCloser, size int64, ws *websocket.Conn) error

func VerifySession

func VerifySession(dbConn *sql.DB, r *http.Request) (bool, *db.UserSession)

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL