handlers

package
v0.0.0-...-ad3eb56 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2024 License: AGPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateRecitation

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

CreateRecitation godoc

@Tags		Recitation
@Accept		json
@Produce	json

@Param		X-CSRF-TOKEN	header		string				true	"CSRF Token"

@Param		request			body		createRecitationDTO	true	"Create Recitation"

@Success	200				{object}	sqlc.Recitation
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Failure	500				{object}	models.Error
@Router		/recitations [post]

func CreateRecitationFile

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

CreateRecitationFile godoc

@Tags		RecitationFile
@Accept		multipart/form-data
@Produce	json

@Param		X-CSRF-TOKEN	header		string	true	"CSRF Token"

@Param		slug			path		string	true	"Slug"
@Param		file			formData	file	true	"File"
@Param		verse_key		formData	string	true	"Verse Key"

@Success	200				{object}	sqlc.RecitationFile
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Failure	500				{object}	models.Error
@Router		/recitation-files/{slug}/ [post]

func DeleteRecitation

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

DeleteRecitation godoc

@Tags		Recitation
@Produce	json

@Param		X-CSRF-TOKEN	header		string	true	"CSRF Token"

@Param		slug			path		string	true	"Slug"

@Success	200				{object}	sqlc.Recitation
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Failure	500				{object}	models.Error
@Router		/recitations/{slug} [delete]

func DeleteRecitationFile

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

DeleteRecitationFile godoc

@Tags		RecitationFile
@Produce	json

@Param		X-CSRF-TOKEN	header		string	true	"CSRF Token"

@Param		slug			path		string	true	"Slug"
@Param		verse_key		path		string	true	"Verse Key"

@Success	200				{object}	sqlc.RecitationFile
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Router		/recitation-files/{slug}/{verse_key} [delete]

func DeleteRecitationTiming

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

DeleteRecitationTiming godoc

@Tags		RecitationTiming
@Produce	json

@Param		X-CSRF-TOKEN	header		string	true	"CSRF Token"

@Param		slug			path		string	true	"Slug"
@Param		verse_key		path		string	true	"Verse Key"

@Success	200				{object}	models.Timing
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Router		/recitation-timings/{slug}/{verse_key} [delete]

func DeleteUser

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

DeleteUser godoc

@Tags		User
@Produce	json

@Param		X-CSRF-TOKEN	header		string	true	"CSRF Token"

@Success	200				{object}	sqlc.UserDeleteUserRow
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Router		/user [delete]

func GetRecitation

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

GetRecitation godoc

@Tags		Recitation
@Produce	json

@Param		reciter	path		string	true	"Reciter"
@Param		slug	path		string	true	"Slug"

@Success	200		{object}	sqlc.Recitation
@Failure	500		{object}	models.Error
@Router		/recitations/{reciter}/{slug} [get]

func GetRecitationFile

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

GetRecitationFile godoc

@Tags		RecitationFile
@Produce	json

@Param		reciter		path		string	true	"Reciter"
@Param		slug		path		string	true	"Slug"
@Param		verse_key	path		string	true	"Verse key"

@Success	200			{object}	sqlc.RecitationFile
@Failure	500			{object}	models.Error
@Router		/recitation-files/{reciter}/{slug}/{verse_key} [get]

func GetRecitationFiles

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

GetRecitationFiles godoc

@Tags		RecitationFile
@Produce	json

@Param		reciter	path		string	true	"Reciter"
@Param		slug	path		string	true	"Slug"

@Success	200		{object}	[]sqlc.RecitationFile
@Failure	500		{object}	models.Error
@Router		/recitation-files/{reciter}/{slug} [get]

func GetRecitations

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

GetRecitations godoc

@Tags		Recitation
@Produce	json

@Success	200	{object}	[]sqlc.Recitation
@Failure	500	{object}	models.Error
@Router		/recitations [get]

func GetUser

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

GetUser godoc

@Tags		User
@Produce	json

@Param		username	path		string	true	"Username"

@Success	200			{object}	[]sqlc.UserSelectUsersRow
@Failure	400			{object}	models.Error
@Router		/users/{username} [get]

func GetUsers

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

GetUsers godoc

@Tags		User
@Produce	json

@Success	200	{object}	[]sqlc.UserSelectUsersRow
@Failure	500	{object}	models.Error
@Router		/users [get]

func Lafzize

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

Lafzize godoc

@Tags		lafzize
@Produce	json

@Param		X-CSRF-TOKEN	header		string	true	"CSRF Token"

@Param		slug			path		string	true	"Recitation slug"
@Param		verse_key		path		string	true	"Verse key of recitation"
@Success	200				{object}	sqlc.RecitationFileUpdateRecitationFileParams
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Router		/lafzize/{slug}/{verse_key} [post]

func Login

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

Login godoc

@Tags		Auth
@Accept		json
@Produce	json
@Param		request	body		loginDTO	true	"Login"
@Success	200		{object}	sqlc.AuthSelectUserRow
@Failure	400		{object}	models.Error
@Failure	500		{object}	models.Error
@Header		200		{string}	Session	Token	""
@Header		200		{string}	CSRF	Token	""
@Router		/login [post]

func Logout

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

Logout godoc

@Tags		Auth
@Produce	json

@Param		X-CSRF-TOKEN	header		string	true	"CSRF Token"

@Success	200				{object}	sqlc.Session
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Failure	500				{object}	models.Error
@Router		/logout [post]

func Register

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

Register godoc

@Tags		Auth
@Accept		json
@Produce	json
@Param		request	body		registerDTO	true	"Register"
@Success	200		{object}	sqlc.AuthInsertUserRow
@Failure	400		{object}	models.Error
@Failure	500		{object}	models.Error
@Router		/register [post]

func UpdateRecitation

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

UpdateRecitation godoc

@Tags		Recitation
@Accept		json
@Produce	json

@Param		X-CSRF-TOKEN	header		string				true	"CSRF Token"

@Param		slug			path		string				true	"Slug"
@Param		request			body		updateRecitationDTO	true	"Update Recitation"

@Success	200				{object}	sqlc.Recitation
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Failure	500				{object}	models.Error
@Router		/recitations/{slug} [put]

func UpdateRecitationTiming

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

UpdateRecitationTiming godoc

@Tags		RecitationTiming
@Accept		json
@Produce	json

@Param		X-CSRF-TOKEN	header		string			true	"CSRF Token"

@Param		slug			path		string			true	"Slug"
@Param		verse_key		path		string			true	"Verse Key"
@Param		request			body		models.Timing	true	"Update Recitation Timing"

@Success	200				{object}	models.Timing
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Router		/recitation-timings/{slug}/{verse_key} [post]

func UpdateUser

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

UpdateUser godoc

@Tags		User
@Accept		json
@Produce	json

@Param		X-CSRF-TOKEN	header		string			true	"CSRF Token"

@Param		request			body		updateUserDTO	true	"Update Recitation"

@Success	200				{object}	sqlc.UserUpdateUserRow
@Failure	400				{object}	models.Error
@Failure	401				{object}	models.Error
@Router		/user [put]

Types

This section is empty.

Jump to

Keyboard shortcuts

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