Skip to content

Commit b2e58ed

Browse files
yardenshohamKN4CK3Rlunny
authored
Notify on container image create (#22806) (#22965)
Backport #22806 Fixes #22791 --------- Signed-off-by: Yarden Shoham <[email protected]> Co-authored-by: KN4CK3R <[email protected]> Co-authored-by: Lunny Xiao <[email protected]>
1 parent 98b7714 commit b2e58ed

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

routers/api/packages/container/manifest.go

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
user_model "code.gitea.io/gitea/models/user"
1919
"code.gitea.io/gitea/modules/json"
2020
"code.gitea.io/gitea/modules/log"
21+
"code.gitea.io/gitea/modules/notification"
2122
packages_module "code.gitea.io/gitea/modules/packages"
2223
container_module "code.gitea.io/gitea/modules/packages/container"
2324
"code.gitea.io/gitea/modules/util"
@@ -72,11 +73,9 @@ func processManifest(mci *manifestCreationInfo, buf *packages_module.HashedBuffe
7273
}
7374

7475
if isImageManifestMediaType(mci.MediaType) {
75-
d, err := processImageManifest(mci, buf)
76-
return d, err
76+
return processImageManifest(mci, buf)
7777
} else if isImageIndexMediaType(mci.MediaType) {
78-
d, err := processImageManifestIndex(mci, buf)
79-
return d, err
78+
return processImageManifestIndex(mci, buf)
8079
}
8180
return "", errManifestInvalid
8281
}
@@ -183,6 +182,10 @@ func processImageManifest(mci *manifestCreationInfo, buf *packages_module.Hashed
183182
return err
184183
}
185184

185+
if err := notifyPackageCreate(mci.Creator, pv); err != nil {
186+
return err
187+
}
188+
186189
manifestDigest = digest
187190

188191
return nil
@@ -272,6 +275,10 @@ func processImageManifestIndex(mci *manifestCreationInfo, buf *packages_module.H
272275
return err
273276
}
274277

278+
if err := notifyPackageCreate(mci.Creator, pv); err != nil {
279+
return err
280+
}
281+
275282
manifestDigest = digest
276283

277284
return nil
@@ -283,6 +290,17 @@ func processImageManifestIndex(mci *manifestCreationInfo, buf *packages_module.H
283290
return manifestDigest, nil
284291
}
285292

293+
func notifyPackageCreate(doer *user_model.User, pv *packages_model.PackageVersion) error {
294+
pd, err := packages_model.GetPackageDescriptor(db.DefaultContext, pv)
295+
if err != nil {
296+
return err
297+
}
298+
299+
notification.NotifyPackageCreate(doer, pd)
300+
301+
return nil
302+
}
303+
286304
func createPackageAndVersion(ctx context.Context, mci *manifestCreationInfo, metadata *container_module.Metadata) (*packages_model.PackageVersion, error) {
287305
created := true
288306
p := &packages_model.Package{

0 commit comments

Comments
 (0)