@@ -254,32 +254,25 @@ func createDB(ctx context.Context, ownerID int64, group, arch string) (*packages
254254// GetPackageFile Get data related to provided filename and distribution, for package files
255255// update download counter.
256256func GetPackageFile (ctx context.Context , group , file string , ownerID int64 ) (io.ReadSeekCloser , * url.URL , * packages_model.PackageFile , error ) {
257- pf , err := getPackageFile ( ctx , group , file , ownerID )
258- if err != nil {
259- return nil , nil , nil , err
257+ fileSplit := strings . Split ( file , "-" )
258+ if len ( fileSplit ) <= 3 {
259+ return nil , nil , nil , errors . New ( "invalid file format, need <name>-<version>-<release>-<arch>.pkg.<archive>" )
260260 }
261-
262- return packages_service .GetPackageFileStream (ctx , pf )
263- }
264-
265- // Ejects parameters required to get package file property from file name.
266- func getPackageFile (ctx context.Context , group , file string , ownerID int64 ) (* packages_model.PackageFile , error ) {
267261 var (
268- splt = strings .Split (file , "-" )
269- pkgname = strings .Join (splt [0 :len (splt )- 3 ], "-" )
270- vername = splt [len (splt )- 3 ] + "-" + splt [len (splt )- 2 ]
262+ pkgName = strings .Join (fileSplit [0 :len (fileSplit )- 3 ], "-" )
263+ pkgVer = fileSplit [len (fileSplit )- 3 ] + "-" + fileSplit [len (fileSplit )- 2 ]
271264 )
272-
273- version , err := packages_model .GetVersionByNameAndVersion (ctx , ownerID , packages_model .TypeArch , pkgname , vername )
265+ version , err := packages_model .GetVersionByNameAndVersion (ctx , ownerID , packages_model .TypeArch , pkgName , pkgVer )
274266 if err != nil {
275- return nil , err
267+ return nil , nil , nil , err
276268 }
277269
278- pkgfile , err := packages_model .GetFileForVersionByName (ctx , version .ID , file , group )
270+ pkgFile , err := packages_model .GetFileForVersionByName (ctx , version .ID , file , group )
279271 if err != nil {
280- return nil , err
272+ return nil , nil , nil , err
281273 }
282- return pkgfile , nil
274+
275+ return packages_service .GetPackageFileStream (ctx , pkgFile )
283276}
284277
285278func GetPackageDBFile (ctx context.Context , group , arch string , ownerID int64 , signFile bool ) (io.ReadSeekCloser , * url.URL , * packages_model.PackageFile , error ) {
0 commit comments