github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/misc/logiciel.go (about)

     1  // Définit les routes additionnelles
     2  package misc
     3  
     4  import (
     5  	"path/filepath"
     6  
     7  	"github.com/benoitkugler/goACVE/server/logiciel"
     8  	"github.com/benoitkugler/goACVE/server/shared"
     9  
    10  	"github.com/benoitkugler/goACVE/logs"
    11  	"github.com/labstack/echo"
    12  )
    13  
    14  // Ce fichier définit la route de téléchargement initial du
    15  // client ACVE.
    16  
    17  func HandleLogiciel(c echo.Context) error {
    18  	return pageLogiciel(c, false)
    19  }
    20  
    21  func pageLogiciel(c echo.Context, wrongPassword bool) error {
    22  	data := logiciel.NewOutLogiciel(wrongPassword)
    23  	return shared.HtmlWithPayload(c, "server/static/bv/logiciel.html", data)
    24  }
    25  
    26  func DownloadLogiciel(c echo.Context) error {
    27  	pass := c.FormValue("password")
    28  	if pass != logs.PasswordLogiciel {
    29  		return pageLogiciel(c, true)
    30  	}
    31  
    32  	path, err := logiciel.GetLogiciel(c.FormValue("platform"))
    33  	if err != nil {
    34  		return err
    35  	}
    36  	return c.Attachment(path, filepath.Base(path))
    37  }