From 7f507c0f8c3326d42f302636193f19f481b77e96 Mon Sep 17 00:00:00 2001 From: Guilhem Bonnefille Date: Tue, 19 Mar 2024 14:12:22 +0100 Subject: [PATCH 1/2] Add support for SHA256 in PackageFile This information is needed when trying to directly download Pypi packages. Check https://docs.gitlab.com/ee/api/packages/pypi.html#download-a-package-file-from-a-project --- packages.go | 15 ++++++++------- packages_test.go | 13 +++++++------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/packages.go b/packages.go index fb7e2d1e2..22e3d51a5 100644 --- a/packages.go +++ b/packages.go @@ -89,13 +89,14 @@ func (s PackageTag) String() string { // // GitLab API docs: https://docs.gitlab.com/ee/api/packages.html type PackageFile struct { - ID int `json:"id"` - PackageID int `json:"package_id"` - CreatedAt *time.Time `json:"created_at"` - FileName string `json:"file_name"` - Size int `json:"size"` - FileMD5 string `json:"file_md5"` - FileSHA1 string `json:"file_sha1"` + ID int `json:"id"` + PackageID int `json:"package_id"` + CreatedAt *time.Time `json:"created_at"` + FileName string `json:"file_name"` + Size int `json:"size"` + FileMD5 string `json:"file_md5"` + FileSHA1 string `json:"file_sha1,omitempty"` + FileSHA256 string `json:"file_sha256,omitempty"` Pipeline *[]Pipeline `json:"pipelines"` } diff --git a/packages_test.go b/packages_test.go index 375d2596c..1fec5ba46 100644 --- a/packages_test.go +++ b/packages_test.go @@ -105,12 +105,13 @@ func TestPackagesService_ListPackageFiles(t *testing.T) { }) want := []*PackageFile{{ - ID: 25, - PackageID: 4, - FileName: "my-app-1.5-20181107.152550-1.jar", - Size: 2421, - FileMD5: "58e6a45a629910c6ff99145a688971ac", - FileSHA1: "ebd193463d3915d7e22219f52740056dfd26cbfe", + ID: 25, + PackageID: 4, + FileName: "my-app-1.5-20181107.152550-1.jar", + Size: 2421, + FileMD5: "58e6a45a629910c6ff99145a688971ac", + FileSHA1: "ebd193463d3915d7e22219f52740056dfd26cbfe", + FileSHA256: "a903393463d3915d7e22219f52740056dfd26cbfeff321b", }} ps, resp, err := client.Packages.ListPackageFiles(3, 4, nil) From 556ae462fabed9747ec0117745155d22d6d36b15 Mon Sep 17 00:00:00 2001 From: Sander van Harmelen Date: Sat, 23 Mar 2024 10:48:31 +0100 Subject: [PATCH 2/2] Do not add omitempty on response structs --- packages.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages.go b/packages.go index 22e3d51a5..a6b252ed2 100644 --- a/packages.go +++ b/packages.go @@ -95,9 +95,9 @@ type PackageFile struct { FileName string `json:"file_name"` Size int `json:"size"` FileMD5 string `json:"file_md5"` - FileSHA1 string `json:"file_sha1,omitempty"` - FileSHA256 string `json:"file_sha256,omitempty"` - Pipeline *[]Pipeline `json:"pipelines"` + FileSHA1 string `json:"file_sha1"` + FileSHA256 string `json:"file_sha256"` + Pipeline *[]Pipeline `json:"pipelines"` } func (s PackageFile) String() string {