Documentation ¶
Index ¶
- Variables
- func AccountContext(r *http.Request) (*models.Account, error)
- func AccountFromToken(db *gorm.DB, r *http.Request) (*models.Account, error)
- func CreateAccount(db *gorm.DB, acc *models.Account) error
- func CreateClip(db *gorm.DB, clip *models.Clip) error
- func CreateLabel(db *gorm.DB, lbl models.Label) error
- func CreateTemplate(db *gorm.DB, accountID string, template *models.Template) error
- func Db(f func(w http.ResponseWriter, r *http.Request, db *gorm.DB)) http.HandlerFunc
- func DelTemplate(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func DeleteLabels(db *gorm.DB, lbl models.Label) error
- func DeleteTemplate(db *gorm.DB, tpl *models.Template) error
- func DeprecateTemplate(db *gorm.DB, tpl *models.Template) error
- func GetAccount(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func GetClip(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func GetClips(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func GetClipsDump(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func GetFeedbackClip(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func GetFeedbackList(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func GetPlaylist(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func GetPlaylistStatus(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func GetRecordingLabels(db *gorm.DB, recordingID string, opener int, closer int) (interface{}, error)
- func GetTemplate(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func GetTemplateLabel(db *gorm.DB, templateID string, number int) (interface{}, error)
- func GetTemplates(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func IndexHandler(entrypoint string) func(w http.ResponseWriter, r *http.Request)
- func LoginAccount(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func MetricsMiddleware(next http.Handler) http.Handler
- func NewCookie(acc *models.Account) (http.Cookie, error)
- func NewRouter() *mux.Router
- func PostClip(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func PostLabels(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func PostPlaylist(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func PostTemplate(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func PutClip(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func RegisterAccount(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func SaveClip(db *gorm.DB, clip *models.Clip) error
- func SaveLabel(db *gorm.DB, lbl models.Label) error
- func SaveTemplate(db *gorm.DB, oldTpl, newTpl *models.Template) error
- func SendVerifyEmail(user *models.Account)
- func SetWindows(db *gorm.DB, cl *models.Clip)
- func Token(acc *models.Account, jwtKind *jwtauth.JWTAuth) (string, error)
- func TokenFromVerifyQuery(r *http.Request) string
- func UpdateClip(db *gorm.DB, clip *models.Clip) error
- func UpdateTemplate(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func VerifyAccount(w http.ResponseWriter, r *http.Request, db *gorm.DB)
- func VerifyUser(db *gorm.DB, user *models.Account) error
- type Routes
Constants ¶
This section is empty.
Variables ¶
var CustomJaf = func(f http.HandlerFunc, v func(r *http.Request) string) http.HandlerFunc { return func(ja *jwtauth.JWTAuth) func(http.Handler) http.Handler { return func(next http.Handler) http.Handler { return jwtauth.Verify(ja, v)(next) } }(internal.Token.EmailVerify)(f).ServeHTTP }
CustomJaf executes a custom function to retrieve the JWT token This is necessary when the token is in a URL parameter instead of a cookie
Functions ¶
func AccountContext ¶
AccountContext retrieves the account from the validated context Returns empty account if not found
func AccountFromToken ¶
AccountFromToken retrieves an account from a token
func CreateAccount ¶
CreateAccount registers a new user
func CreateClip ¶
CreateClip creates a clip with labels
func CreateLabel ¶
CreateLabel adds a new clip label
func CreateTemplate ¶
CreateTemplate creates a template
func Db ¶
func Db(f func(w http.ResponseWriter, r *http.Request, db *gorm.DB)) http.HandlerFunc
Db wraps a http func with a db struct
func DelTemplate ¶
DelTemplate removes an existing template
func DeleteLabels ¶
DeleteLabels deletes multiple labels TODO: not happy with this
func DeleteTemplate ¶
DeleteTemplate deletes a template
func DeprecateTemplate ¶
DeprecateTemplate deletes a template
func GetAccount ¶
GetAccount views account information
func GetClip ¶
GetClip retrieves information about a single clip
func GetClips ¶
GetClips retrieves information about all user clips
func GetClipsDump ¶
GetClipsDump retrieves information about all clips
func GetFeedbackClip ¶
GetFeedbackClip returns an audio file for a given recording
func GetFeedbackList ¶
GetFeedbackList returns an instrument and list of recordings based on user preferences
func GetPlaylist ¶
GetPlaylist retrieves information about a single playlist
func GetPlaylistStatus ¶
GetPlaylistStatus retrieves information about a playlist being generated
func GetRecordingLabels ¶
func GetRecordingLabels(db *gorm.DB, recordingID string, opener int, closer int) (interface{}, error)
GetRecordingLabels retrieves labels for a template
func GetTemplate ¶
GetTemplate retrieves information about a single template
func GetTemplateLabel ¶
GetTemplateLabel retrieves labels for a template
func GetTemplates ¶
GetTemplates retrieves information about all user templates
func IndexHandler ¶
func IndexHandler(entrypoint string) func(w http.ResponseWriter, r *http.Request)
IndexHandler handles the main index file
func LoginAccount ¶
LoginAccount creates a new account session
func MetricsMiddleware ¶
MetricsMiddleware wraps http methods for instrumentation
func NewCookie ¶
NewCookie generates a cookie for given account
func PostClip ¶
PostClip uploads a clip to the database
func PostLabels ¶
PostLabels uploads a label to the database
func PostPlaylist ¶
PostPlaylist creates a new playlist
func PostTemplate ¶
PostTemplate creates a new template
func PutClip ¶
PutClip updates an existing clip and its labels
func RegisterAccount ¶
RegisterAccount creates a new account
func SaveClip ¶
SaveClip adds a new template to the database
func SaveLabel ¶
SaveLabel adds a new clip label
func SaveTemplate ¶
SaveTemplate updates a template
func SendVerifyEmail ¶
SendVerifyEmail sends a verification email
func Token ¶
Token returns a new JWT token using the specified jwt secret type
func TokenFromVerifyQuery ¶
TokenFromVerifyQuery returns the query value for the "verify" key
func UpdateTemplate ¶
UpdateTemplate updates an existing playlist
func VerifyAccount ¶
VerifyAccount views account information
Types ¶
type Routes ¶
Routes wraps a database connection
func (*Routes) Jaf ¶
func (routes *Routes) Jaf(f http.HandlerFunc) http.HandlerFunc
Jaf contains the standard jawauth to retrieve the JWT token
func (*Routes) MaybeSetToken ¶
MaybeSetToken tries to set account context if a token is found and the token is valid, otherwise it does nothing.
func (*Routes) Optional ¶
func (routes *Routes) Optional(f http.HandlerFunc) http.HandlerFunc
Optional allows auth, but doesn't require it
func (*Routes) Valid ¶
func (routes *Routes) Valid(f http.HandlerFunc, require bool) http.HandlerFunc
Valid continues only if token is valid This does a quick inspection to ensure the basic parameters of the token are valid