controllers

package
v0.0.0-...-ac60fc0 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2020 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AllFilesFromFirstGallery = func(w http.ResponseWriter, r *http.Request) {
	resp := models.GetImagesFromFirstGallery()
	u.Respond(w, resp)
}
View Source
var AllFilesFromGalleryBySlug = func(w http.ResponseWriter, r *http.Request) {
	params := mux.Vars(r)
	slug := params["gallery_slug"]
	resp := models.GetImagesFromGalleryBySlug(slug)
	u.Respond(w, resp)
}
View Source
var Authenticate = func(w http.ResponseWriter, r *http.Request) {

	account := &models.Account{}
	err := json.NewDecoder(r.Body).Decode(account)
	if err != nil {
		u.Respond(w, u.Message(false, "Invalid request"))
		return
	}

	resp := models.Login(account.Email, account.Password)
	u.Respond(w, resp)
}
View Source
var CreateAccount = func(w http.ResponseWriter, r *http.Request) {

	account := &models.Account{}
	err := json.NewDecoder(r.Body).Decode(account)
	if err != nil {
		u.Respond(w, u.Message(false, "Invalid request"))
		return
	}

	resp := account.Create()
	u.Respond(w, resp)
}
View Source
var CreateGallery = func(w http.ResponseWriter, r *http.Request) {

	gallery := &models.Gallery{}
	err := json.NewDecoder(r.Body).Decode(gallery)
	if err != nil {
		u.Respond(w, u.Message(false, "Invalid request"))
		return
	}

	resp := gallery.Create()
	u.Respond(w, resp)
}
View Source
var FirstFile = func(w http.ResponseWriter, r *http.Request) {
	resp := models.GetFirstFile()
	u.Respond(w, resp)
}
View Source
var FirstGallery = func(w http.ResponseWriter, r *http.Request) {
	resp := models.GetFirstGallery()
	u.Respond(w, resp)
}
View Source
var GalleryBySlug = func(w http.ResponseWriter, r *http.Request) {
	keys, ok := r.URL.Query()["slug"]

	if !ok || len(keys[0]) < 1 {
		u.Respond(w, u.Message(false, "Url Param 'slug' is missing"))
		return
	}

	slug := keys[0]
	gallery, errDB := models.GetGalleryBySlug(slug)

	if errDB != nil {
		u.Respond(w, u.Message(false, "Gallery not found"))
		return
	}

	response := u.Message(true, "Gallery found")
	response["gallery"] = gallery
	u.Respond(w, response)
}
View Source
var Upload = func(w http.ResponseWriter, r *http.Request) {

	err := r.ParseForm()
	if err != nil {
		u.Respond(w, u.Message(false, "Could not parse request. Please retry"))
	}

	params := mux.Vars(r)
	slug := params["gallery_slug"]

	associatedGallery, errDB := models.GetGalleryBySlug(slug)
	if errDB != nil {
		u.Respond(w, u.Message(false, "Gallery not found"))
		return
	}

	uploadedFile, handler, err := r.FormFile("file_upload")
	if err != nil {
		u.Respond(w, u.Message(false, "Could not receive file"))
		return
	}
	defer uploadedFile.Close()

	extension := filepath.Ext(handler.Filename)
	encodedFileName := base64.StdEncoding.EncodeToString([]byte(handler.Filename+time.Now().String())) + extension
	path := "/go/src/API/uploads/" + encodedFileName
	f, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE, 0666)
	if err != nil {
		u.Respond(w, u.Message(false, "Could not open file on server"))
		return
	}
	defer f.Close()

	_, errCopy := io.Copy(f, uploadedFile)
	if errCopy != nil {
		u.Respond(w, u.Message(false, "Could not copy file on server"))
		return
	}

	file := models.File{
		Type:      extension,
		GalleryID: associatedGallery.ID,
		Url:       "/files/" + encodedFileName,
	}

	fmt.Println(extension)
	resp := file.Create()

	u.Respond(w, resp)
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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