photoprism/internal/api/share.go
Michael Mayer 0ed82c690c Add link sharing template #18
Public mode only, auth not implemented yet.

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-06-22 20:15:08 +02:00

35 lines
806 B
Go

package api
import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/photoprism/photoprism/internal/config"
"github.com/photoprism/photoprism/internal/entity"
"github.com/photoprism/photoprism/pkg/txt"
)
func shareHandler(c *gin.Context, conf *config.Config) {
token := c.Param("token")
links := entity.FindLinks(token, "")
if len(links) == 0 {
log.Warnf("sharing: invalid token %s", txt.Quote(token))
c.Redirect(http.StatusTemporaryRedirect, "/")
return
}
clientConfig := conf.ShareConfig()
c.HTML(http.StatusOK, "share.tmpl", gin.H{"config": clientConfig})
}
func InitShare(router *gin.RouterGroup, conf *config.Config) {
router.GET("/:token", func(c *gin.Context) {
shareHandler(c, conf)
})
router.GET("/:token/*uid", func(c *gin.Context) {
shareHandler(c, conf)
})
}