Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • ui-rewrite
2 results

page_image_list.go

Blame
  • page_image_list.go 935 B
    package main
    
    import (
    	"net/http"
    )
    
    type ImageListData struct {
    	User   UserInfo
    	Images []Image
    }
    
    func pageImageList(ctx PageContext) http.Handler {
    	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    		user := parseUser(r)
    
    		result, err := ctx.Database.Query(`
    			SELECT
    				id,
    				coalesce(title,  ''),
    				coalesce(description, ''),
            		coalesce(created_at, to_timestamp(0)),
    				coalesce(original_name, ''),
    				coalesce(type, '')
    			FROM images
    			WHERE owner = $1
    			`, user.Id)
    		if err != nil {
    			panic(err)
    		}
    
    		var images []Image
    		for result.Next() {
    			var info Image
    			err := result.Scan(&info.Id, &info.Title, &info.Description, &info.CreatedAt, &info.OriginalName, &info.MimeType)
    			if err != nil {
    				panic(err)
    			}
    			images = append(images, info)
    		}
    
    		if err = formatTemplate(w, "image_list.html", ImageListData{
    			user,
    			images,
    		}); err != nil {
    			panic(err)
    		}
    	})
    }