Skip to content

Commit

Permalink
Add storagedir option
Browse files Browse the repository at this point in the history
  • Loading branch information
gustavosbarreto committed Oct 16, 2018
1 parent df7204f commit 1c56a89
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
13 changes: 7 additions & 6 deletions api/webapi/packages.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ import (
_ "github.com/UpdateHub/updatehub/installmodes/ubifs"

"github.com/UpdateHub/updatehub-ce-server/models"
"github.com/asdine/storm"
"github.com/labstack/echo"
"github.com/UpdateHub/updatehub/libarchive"
"github.com/UpdateHub/updatehub/metadata"
"github.com/asdine/storm"
"github.com/labstack/echo"
)

const (
Expand All @@ -29,11 +29,12 @@ const (
)

type PackagesAPI struct {
db *storm.DB
db *storm.DB
dir string
}

func NewPackagesAPI(db *storm.DB) *PackagesAPI {
return &PackagesAPI{db: db}
func NewPackagesAPI(db *storm.DB, dir string) *PackagesAPI {
return &PackagesAPI{db: db, dir: dir}
}

func (api *PackagesAPI) GetAllPackages(c echo.Context) error {
Expand Down Expand Up @@ -74,7 +75,7 @@ func (api *PackagesAPI) UploadPackage(c echo.Context) error {

uid := sha256.Sum256(rawMetadata)

dst, err := os.Create(fmt.Sprintf("%x", uid))
dst, err := os.Create(fmt.Sprintf("%s/%x", api.dir, uid))
if err != nil {
return err
}
Expand Down
4 changes: 3 additions & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,13 @@ func main() {
rootCmd.PersistentFlags().StringP("username", "", "admin", "Admin username")
rootCmd.PersistentFlags().StringP("password", "", "admin", "Admin password")
rootCmd.PersistentFlags().IntP("port", "", 8080, "Port")
rootCmd.PersistentFlags().StringP("dir", "", "./", "Packages storage dir")

viper.BindPFlag("db", rootCmd.PersistentFlags().Lookup("db"))
viper.BindPFlag("username", rootCmd.PersistentFlags().Lookup("username"))
viper.BindPFlag("password", rootCmd.PersistentFlags().Lookup("password"))
viper.BindPFlag("port", rootCmd.PersistentFlags().Lookup("port"))
viper.BindPFlag("dir", rootCmd.PersistentFlags().Lookup("dir"))

if err := rootCmd.Execute(); err != nil {
log.Fatal(err)
Expand Down Expand Up @@ -105,7 +107,7 @@ func execute(cmd *cobra.Command, args []string) {
api.GET(webapi.GetDeviceUrl, devicesEndpoint.GetDevice)
api.GET(webapi.GetDeviceRolloutReportsUrl, devicesEndpoint.GetDeviceRolloutReports)

packagesEndpoint := webapi.NewPackagesAPI(db)
packagesEndpoint := webapi.NewPackagesAPI(db, viper.GetString("dir"))
api.GET(webapi.GetAllPackagesUrl, packagesEndpoint.GetAllPackages)
api.GET(webapi.GetPackageUrl, packagesEndpoint.GetPackage)
api.POST(webapi.UploadPackageUrl, packagesEndpoint.UploadPackage)
Expand Down

0 comments on commit 1c56a89

Please sign in to comment.