Skip to content

Commit 8efc4ca

Browse files
authored
Refactor packages (func name & UI) (#34773)
1. Use `OpenXxx` instead of `GetXxx` because the returned readers should be correctly closed, and clarify the behaviors of the functions: they increase the download counter 2. Use `packages-content` styles instead of `issue-content`
1 parent 46a1d52 commit 8efc4ca

File tree

29 files changed

+73
-51
lines changed

29 files changed

+73
-51
lines changed

routers/api/packages/alpine/alpine.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func GetRepositoryFile(ctx *context.Context) {
6868
return
6969
}
7070

71-
s, u, pf, err := packages_service.GetFileStreamByPackageVersion(
71+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageVersion(
7272
ctx,
7373
pv,
7474
&packages_service.PackageFileInfo{
@@ -216,7 +216,7 @@ func DownloadPackageFile(ctx *context.Context) {
216216
}
217217
}
218218

219-
s, u, pf, err := packages_service.GetPackageFileStream(ctx, pfs[0])
219+
s, u, pf, err := packages_service.OpenFileForDownload(ctx, pfs[0])
220220
if err != nil {
221221
if errors.Is(err, util.ErrNotExist) {
222222
apiError(ctx, http.StatusNotFound, err)

routers/api/packages/arch/arch.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ func GetPackageOrRepositoryFile(ctx *context.Context) {
239239
return
240240
}
241241

242-
s, u, pf, err := packages_service.GetPackageFileStream(ctx, pfs[0])
242+
s, u, pf, err := packages_service.OpenFileForDownload(ctx, pfs[0])
243243
if err != nil {
244244
if errors.Is(err, util.ErrNotExist) {
245245
apiError(ctx, http.StatusNotFound, err)

routers/api/packages/cargo/cargo.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ func ListOwners(ctx *context.Context) {
165165

166166
// DownloadPackageFile serves the content of a package
167167
func DownloadPackageFile(ctx *context.Context) {
168-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
168+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
169169
ctx,
170170
&packages_service.PackageInfo{
171171
Owner: ctx.Package.Owner,

routers/api/packages/chef/chef.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ func DownloadPackage(ctx *context.Context) {
343343

344344
pf := pd.Files[0].File
345345

346-
s, u, _, err := packages_service.GetPackageFileStream(ctx, pf)
346+
s, u, _, err := packages_service.OpenFileForDownload(ctx, pf)
347347
if err != nil {
348348
apiError(ctx, http.StatusInternalServerError, err)
349349
return

routers/api/packages/composer/composer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ func PackageMetadata(ctx *context.Context) {
160160

161161
// DownloadPackageFile serves the content of a package
162162
func DownloadPackageFile(ctx *context.Context) {
163-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
163+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
164164
ctx,
165165
&packages_service.PackageInfo{
166166
Owner: ctx.Package.Owner,

routers/api/packages/conan/conan.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ func downloadFile(ctx *context.Context, fileFilter container.Set[string], fileKe
480480
return
481481
}
482482

483-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
483+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
484484
ctx,
485485
&packages_service.PackageInfo{
486486
Owner: ctx.Package.Owner,

routers/api/packages/conda/conda.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ func DownloadPackageFile(ctx *context.Context) {
293293

294294
pf := pfs[0]
295295

296-
s, u, _, err := packages_service.GetPackageFileStream(ctx, pf)
296+
s, u, _, err := packages_service.OpenFileForDownload(ctx, pf)
297297
if err != nil {
298298
apiError(ctx, http.StatusInternalServerError, err)
299299
return

routers/api/packages/container/container.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -705,7 +705,7 @@ func DeleteManifest(ctx *context.Context) {
705705
func serveBlob(ctx *context.Context, pfd *packages_model.PackageFileDescriptor) {
706706
serveDirectReqParams := make(url.Values)
707707
serveDirectReqParams.Set("response-content-type", pfd.Properties.GetByName(container_module.PropertyMediaType))
708-
s, u, _, err := packages_service.GetPackageBlobStream(ctx, pfd.File, pfd.Blob, serveDirectReqParams)
708+
s, u, _, err := packages_service.OpenBlobForDownload(ctx, pfd.File, pfd.Blob, serveDirectReqParams)
709709
if err != nil {
710710
apiError(ctx, http.StatusInternalServerError, err)
711711
return

routers/api/packages/cran/cran.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ func downloadPackageFile(ctx *context.Context, opts *cran_model.SearchOptions) {
250250
return
251251
}
252252

253-
s, u, _, err := packages_service.GetPackageFileStream(ctx, pf)
253+
s, u, _, err := packages_service.OpenFileForDownload(ctx, pf)
254254
if err != nil {
255255
if errors.Is(err, util.ErrNotExist) {
256256
apiError(ctx, http.StatusNotFound, err)

routers/api/packages/debian/debian.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func GetRepositoryFile(ctx *context.Context) {
5959
key += "|" + component + "|" + architecture
6060
}
6161

62-
s, u, pf, err := packages_service.GetFileStreamByPackageVersion(
62+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageVersion(
6363
ctx,
6464
pv,
6565
&packages_service.PackageFileInfo{
@@ -106,7 +106,7 @@ func GetRepositoryFileByHash(ctx *context.Context) {
106106
return
107107
}
108108

109-
s, u, pf, err := packages_service.GetPackageFileStream(ctx, pfs[0])
109+
s, u, pf, err := packages_service.OpenFileForDownload(ctx, pfs[0])
110110
if err != nil {
111111
if errors.Is(err, util.ErrNotExist) {
112112
apiError(ctx, http.StatusNotFound, err)
@@ -210,7 +210,7 @@ func DownloadPackageFile(ctx *context.Context) {
210210
name := ctx.PathParam("name")
211211
version := ctx.PathParam("version")
212212

213-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
213+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
214214
ctx,
215215
&packages_service.PackageInfo{
216216
Owner: ctx.Package.Owner,

routers/api/packages/generic/generic.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ func apiError(ctx *context.Context, status int, obj any) {
3131

3232
// DownloadPackageFile serves the specific generic package.
3333
func DownloadPackageFile(ctx *context.Context) {
34-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
34+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
3535
ctx,
3636
&packages_service.PackageInfo{
3737
Owner: ctx.Package.Owner,

routers/api/packages/goproxy/goproxy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ func DownloadPackageFile(ctx *context.Context) {
106106
return
107107
}
108108

109-
s, u, _, err := packages_service.GetPackageFileStream(ctx, pfs[0])
109+
s, u, _, err := packages_service.OpenFileForDownload(ctx, pfs[0])
110110
if err != nil {
111111
if errors.Is(err, util.ErrNotExist) {
112112
apiError(ctx, http.StatusNotFound, err)

routers/api/packages/helm/helm.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ func DownloadPackageFile(ctx *context.Context) {
122122
return
123123
}
124124

125-
s, u, pf, err := packages_service.GetFileStreamByPackageVersion(
125+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageVersion(
126126
ctx,
127127
pvs[0],
128128
&packages_service.PackageFileInfo{

routers/api/packages/maven/maven.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ func servePackageFile(ctx *context.Context, params parameters, serveContent bool
223223
return
224224
}
225225

226-
s, u, _, err := packages_service.GetPackageBlobStream(ctx, pf, pb, nil)
226+
s, u, _, err := packages_service.OpenBlobForDownload(ctx, pf, pb, nil)
227227
if err != nil {
228228
apiError(ctx, http.StatusInternalServerError, err)
229229
return

routers/api/packages/npm/npm.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func DownloadPackageFile(ctx *context.Context) {
8585
packageVersion := ctx.PathParam("version")
8686
filename := ctx.PathParam("filename")
8787

88-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
88+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
8989
ctx,
9090
&packages_service.PackageInfo{
9191
Owner: ctx.Package.Owner,
@@ -132,7 +132,7 @@ func DownloadPackageFileByName(ctx *context.Context) {
132132
return
133133
}
134134

135-
s, u, pf, err := packages_service.GetFileStreamByPackageVersion(
135+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageVersion(
136136
ctx,
137137
pvs[0],
138138
&packages_service.PackageFileInfo{

routers/api/packages/nuget/nuget.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ func DownloadPackageFile(ctx *context.Context) {
405405
packageVersion := ctx.PathParam("version")
406406
filename := ctx.PathParam("filename")
407407

408-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
408+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
409409
ctx,
410410
&packages_service.PackageInfo{
411411
Owner: ctx.Package.Owner,
@@ -669,7 +669,7 @@ func DownloadSymbolFile(ctx *context.Context) {
669669
return
670670
}
671671

672-
s, u, pf, err := packages_service.GetPackageFileStream(ctx, pfs[0])
672+
s, u, pf, err := packages_service.OpenFileForDownload(ctx, pfs[0])
673673
if err != nil {
674674
if errors.Is(err, packages_model.ErrPackageNotExist) || errors.Is(err, packages_model.ErrPackageFileNotExist) {
675675
apiError(ctx, http.StatusNotFound, err)

routers/api/packages/pub/pub.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ func DownloadPackageFile(ctx *context.Context) {
274274

275275
pf := pd.Files[0].File
276276

277-
s, u, _, err := packages_service.GetPackageFileStream(ctx, pf)
277+
s, u, _, err := packages_service.OpenFileForDownload(ctx, pf)
278278
if err != nil {
279279
apiError(ctx, http.StatusInternalServerError, err)
280280
return

routers/api/packages/pypi/pypi.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ func DownloadPackageFile(ctx *context.Context) {
8282
packageVersion := ctx.PathParam("version")
8383
filename := ctx.PathParam("filename")
8484

85-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
85+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
8686
ctx,
8787
&packages_service.PackageInfo{
8888
Owner: ctx.Package.Owner,

routers/api/packages/rpm/rpm.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ func GetRepositoryFile(ctx *context.Context) {
9696
return
9797
}
9898

99-
s, u, pf, err := packages_service.GetFileStreamByPackageVersion(
99+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageVersion(
100100
ctx,
101101
pv,
102102
&packages_service.PackageFileInfo{
@@ -220,7 +220,7 @@ func DownloadPackageFile(ctx *context.Context) {
220220
name := ctx.PathParam("name")
221221
version := ctx.PathParam("version")
222222

223-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
223+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
224224
ctx,
225225
&packages_service.PackageInfo{
226226
Owner: ctx.Package.Owner,

routers/api/packages/rubygems/rubygems.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ func DownloadPackageFile(ctx *context.Context) {
178178
return
179179
}
180180

181-
s, u, pf, err := packages_service.GetFileStreamByPackageVersion(
181+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageVersion(
182182
ctx,
183183
pvs[0],
184184
&packages_service.PackageFileInfo{

routers/api/packages/swift/swift.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ func DownloadPackageFile(ctx *context.Context) {
429429

430430
pf := pd.Files[0].File
431431

432-
s, u, _, err := packages_service.GetPackageFileStream(ctx, pf)
432+
s, u, _, err := packages_service.OpenFileForDownload(ctx, pf)
433433
if err != nil {
434434
apiError(ctx, http.StatusInternalServerError, err)
435435
return

routers/api/packages/vagrant/vagrant.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ func UploadPackageFile(ctx *context.Context) {
218218
}
219219

220220
func DownloadPackageFile(ctx *context.Context) {
221-
s, u, pf, err := packages_service.GetFileStreamByPackageNameAndVersion(
221+
s, u, pf, err := packages_service.OpenFileForDownloadByPackageNameAndVersion(
222222
ctx,
223223
&packages_service.PackageInfo{
224224
Owner: ctx.Package.Owner,

routers/web/user/package.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -513,9 +513,9 @@ func DownloadPackageFile(ctx *context.Context) {
513513
return
514514
}
515515

516-
s, u, _, err := packages_service.GetPackageFileStream(ctx, pf)
516+
s, u, _, err := packages_service.OpenFileForDownload(ctx, pf)
517517
if err != nil {
518-
ctx.ServerError("GetPackageFileStream", err)
518+
ctx.ServerError("OpenFileForDownload", err)
519519
return
520520
}
521521

services/packages/packages.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -563,8 +563,8 @@ func DeletePackageFile(ctx context.Context, pf *packages_model.PackageFile) erro
563563
return packages_model.DeleteFileByID(ctx, pf.ID)
564564
}
565565

566-
// GetFileStreamByPackageNameAndVersion returns the content of the specific package file
567-
func GetFileStreamByPackageNameAndVersion(ctx context.Context, pvi *PackageInfo, pfi *PackageFileInfo) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
566+
// OpenFileForDownloadByPackageNameAndVersion returns the content of the specific package file and increases the download counter.
567+
func OpenFileForDownloadByPackageNameAndVersion(ctx context.Context, pvi *PackageInfo, pfi *PackageFileInfo) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
568568
log.Trace("Getting package file stream: %v, %v, %s, %s, %s, %s", pvi.Owner.ID, pvi.PackageType, pvi.Name, pvi.Version, pfi.Filename, pfi.CompositeKey)
569569

570570
pv, err := packages_model.GetVersionByNameAndVersion(ctx, pvi.Owner.ID, pvi.PackageType, pvi.Name, pvi.Version)
@@ -576,27 +576,27 @@ func GetFileStreamByPackageNameAndVersion(ctx context.Context, pvi *PackageInfo,
576576
return nil, nil, nil, err
577577
}
578578

579-
return GetFileStreamByPackageVersion(ctx, pv, pfi)
579+
return OpenFileForDownloadByPackageVersion(ctx, pv, pfi)
580580
}
581581

582-
// GetFileStreamByPackageVersion returns the content of the specific package file
583-
func GetFileStreamByPackageVersion(ctx context.Context, pv *packages_model.PackageVersion, pfi *PackageFileInfo) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
582+
// OpenFileForDownloadByPackageVersion returns the content of the specific package file and increases the download counter.
583+
func OpenFileForDownloadByPackageVersion(ctx context.Context, pv *packages_model.PackageVersion, pfi *PackageFileInfo) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
584584
pf, err := packages_model.GetFileForVersionByName(ctx, pv.ID, pfi.Filename, pfi.CompositeKey)
585585
if err != nil {
586586
return nil, nil, nil, err
587587
}
588588

589-
return GetPackageFileStream(ctx, pf)
589+
return OpenFileForDownload(ctx, pf)
590590
}
591591

592-
// GetPackageFileStream returns the content of the specific package file
593-
func GetPackageFileStream(ctx context.Context, pf *packages_model.PackageFile) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
592+
// OpenFileForDownload returns the content of the specific package file and increases the download counter.
593+
func OpenFileForDownload(ctx context.Context, pf *packages_model.PackageFile) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
594594
pb, err := packages_model.GetBlobByID(ctx, pf.BlobID)
595595
if err != nil {
596596
return nil, nil, nil, err
597597
}
598598

599-
return GetPackageBlobStream(ctx, pf, pb, nil)
599+
return OpenBlobForDownload(ctx, pf, pb, nil)
600600
}
601601

602602
func OpenBlobStream(pb *packages_model.PackageBlob) (io.ReadSeekCloser, error) {
@@ -605,9 +605,9 @@ func OpenBlobStream(pb *packages_model.PackageBlob) (io.ReadSeekCloser, error) {
605605
return cs.OpenBlob(key)
606606
}
607607

608-
// GetPackageBlobStream returns the content of the specific package blob
608+
// OpenBlobForDownload returns the content of the specific package blob and increases the download counter.
609609
// If the storage supports direct serving and it's enabled, only the direct serving url is returned.
610-
func GetPackageBlobStream(ctx context.Context, pf *packages_model.PackageFile, pb *packages_model.PackageBlob, serveDirectReqParams url.Values) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
610+
func OpenBlobForDownload(ctx context.Context, pf *packages_model.PackageFile, pb *packages_model.PackageBlob, serveDirectReqParams url.Values) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
611611
key := packages_module.BlobHash256Key(pb.HashSHA256)
612612

613613
cs := packages_module.NewContentStore()

templates/package/content/container.tmpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
{{end}}
8585
</h4>
8686
<div class="ui attached segment tw-break-anywhere">
87-
<table class="ui very basic compact table">
87+
<table class="ui very basic compact table tw-font-mono">
8888
<tbody>
8989
{{range $imageMetadata.ImageLayers}}
9090
<tr>
@@ -98,7 +98,7 @@
9898
{{if $imageMetadata.Labels}}
9999
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.container.labels"}}</h4>
100100
<div class="ui attached segment">
101-
<table class="ui very basic compact table">
101+
<table class="ui very basic compact table tw-font-mono">
102102
<thead>
103103
<tr>
104104
<th>{{ctx.Locale.Tr "packages.container.labels.key"}}</th>

templates/package/shared/view.tmpl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
{{end}}
1111
</div>
1212
</div>
13-
<div class="issue-content">
14-
<div class="issue-content-left">
13+
<div class="packages-content">
14+
<div class="packages-content-left">
1515
{{template "package/content/alpine" .}}
1616
{{template "package/content/arch" .}}
1717
{{template "package/content/cargo" .}}
@@ -35,7 +35,7 @@
3535
{{template "package/content/swift" .}}
3636
{{template "package/content/vagrant" .}}
3737
</div>
38-
<div class="issue-content-right ui segment">
38+
<div class="ui segment packages-content-right">
3939
<strong>{{ctx.Locale.Tr "packages.details"}}</strong>
4040
<div class="ui relaxed list flex-items-block">
4141
<div class="item">{{svg .PackageDescriptor.Package.Type.SVGName}} {{.PackageDescriptor.Package.Type.Name}}</div>
@@ -76,7 +76,7 @@
7676
{{range .PackageDescriptor.Files}}
7777
<div class="item">
7878
<a href="{{$packageVersionLink}}/files/{{.File.ID}}">{{.File.Name}}</a>
79-
<span class="text small file-size">{{FileSize .Blob.Size}}</span>
79+
<span class="text small tw-whitespace-nowrap">{{FileSize .Blob.Size}}</span>
8080
</div>
8181
{{end}}
8282
</div>

web_src/css/index.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
@import "./repo/reactions.css";
7171
@import "./repo/clone.css";
7272
@import "./repo/commit-sign.css";
73+
@import "./repo/packages.css";
7374

7475
@import "./editor/fileeditor.css";
7576
@import "./editor/combomarkdowneditor.css";

web_src/css/repo.css

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1227,10 +1227,6 @@ td .commit-summary {
12271227
font-weight: var(--font-weight-normal);
12281228
}
12291229

1230-
.repository.packages .file-size {
1231-
white-space: nowrap;
1232-
}
1233-
12341230
.repository .activity-header {
12351231
display: flex;
12361232
justify-content: space-between;

0 commit comments

Comments
 (0)