Skip to content

Commit 007d181

Browse files
KN4CK3Rlunny
andauthored
Notify on container image create (#22806)
Fixes #22791 --------- Co-authored-by: Lunny Xiao <[email protected]>
1 parent 8bba7e3 commit 007d181

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
@@ -17,6 +17,7 @@ import (
1717
user_model "code.gitea.io/gitea/models/user"
1818
"code.gitea.io/gitea/modules/json"
1919
"code.gitea.io/gitea/modules/log"
20+
"code.gitea.io/gitea/modules/notification"
2021
packages_module "code.gitea.io/gitea/modules/packages"
2122
container_module "code.gitea.io/gitea/modules/packages/container"
2223
"code.gitea.io/gitea/modules/util"
@@ -71,11 +72,9 @@ func processManifest(mci *manifestCreationInfo, buf *packages_module.HashedBuffe
7172
}
7273

7374
if isImageManifestMediaType(mci.MediaType) {
74-
d, err := processImageManifest(mci, buf)
75-
return d, err
75+
return processImageManifest(mci, buf)
7676
} else if isImageIndexMediaType(mci.MediaType) {
77-
d, err := processImageManifestIndex(mci, buf)
78-
return d, err
77+
return processImageManifestIndex(mci, buf)
7978
}
8079
return "", errManifestInvalid
8180
}
@@ -182,6 +181,10 @@ func processImageManifest(mci *manifestCreationInfo, buf *packages_module.Hashed
182181
return err
183182
}
184183

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

187190
return nil
@@ -271,6 +274,10 @@ func processImageManifestIndex(mci *manifestCreationInfo, buf *packages_module.H
271274
return err
272275
}
273276

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

276283
return nil
@@ -282,6 +289,17 @@ func processImageManifestIndex(mci *manifestCreationInfo, buf *packages_module.H
282289
return manifestDigest, nil
283290
}
284291

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

0 commit comments

Comments
 (0)