mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-07-26 13:47:40 +00:00
Allow setting description on snapshots using API
This commit is contained in:
+1
-1
@@ -48,7 +48,7 @@ func Router(c *ctx.AptlyContext) http.Handler {
|
|||||||
{
|
{
|
||||||
root.GET("/snapshots", apiSnapshotsList)
|
root.GET("/snapshots", apiSnapshotsList)
|
||||||
root.POST("/snapshots", apiSnapshotsCreateEmpty)
|
root.POST("/snapshots", apiSnapshotsCreateEmpty)
|
||||||
root.PUT("/snapshots/:name", apiSnapshotsRename)
|
root.PUT("/snapshots/:name", apiSnapshotsUpdate)
|
||||||
root.GET("/snapshots/:name", apiSnapshotsShow)
|
root.GET("/snapshots/:name", apiSnapshotsShow)
|
||||||
root.GET("/snapshots/:name/packages", apiSnapshotsSearchPackages)
|
root.GET("/snapshots/:name/packages", apiSnapshotsSearchPackages)
|
||||||
root.DELETE("/snapshots/:name", apiSnapshotsDrop)
|
root.DELETE("/snapshots/:name", apiSnapshotsDrop)
|
||||||
|
|||||||
+27
-4
@@ -34,6 +34,7 @@ func apiSnapshotsCreateFromMirror(c *gin.Context) {
|
|||||||
|
|
||||||
var b struct {
|
var b struct {
|
||||||
Name string `binding:"required"`
|
Name string `binding:"required"`
|
||||||
|
Description string
|
||||||
}
|
}
|
||||||
|
|
||||||
if !c.Bind(&b) {
|
if !c.Bind(&b) {
|
||||||
@@ -72,6 +73,10 @@ func apiSnapshotsCreateFromMirror(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if b.Description != "" {
|
||||||
|
snapshot.Description = b.Description
|
||||||
|
}
|
||||||
|
|
||||||
err = snapshotCollection.Add(snapshot)
|
err = snapshotCollection.Add(snapshot)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Fail(500, err)
|
c.Fail(500, err)
|
||||||
@@ -90,19 +95,24 @@ func apiSnapshotsCreateEmpty(c *gin.Context) {
|
|||||||
|
|
||||||
var b struct {
|
var b struct {
|
||||||
Name string `binding:"required"`
|
Name string `binding:"required"`
|
||||||
|
Description string
|
||||||
}
|
}
|
||||||
|
|
||||||
if !c.Bind(&b) {
|
if !c.Bind(&b) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if b.Description == "" {
|
||||||
|
b.Description = "Created as empty"
|
||||||
|
}
|
||||||
|
|
||||||
snapshotCollection := context.CollectionFactory().SnapshotCollection()
|
snapshotCollection := context.CollectionFactory().SnapshotCollection()
|
||||||
snapshotCollection.Lock()
|
snapshotCollection.Lock()
|
||||||
defer snapshotCollection.Unlock()
|
defer snapshotCollection.Unlock()
|
||||||
|
|
||||||
packageList := deb.NewPackageList()
|
packageList := deb.NewPackageList()
|
||||||
|
|
||||||
snapshot = deb.NewSnapshotFromPackageList(b.Name, nil, packageList, "Created as empty")
|
snapshot = deb.NewSnapshotFromPackageList(b.Name, nil, packageList, b.Description)
|
||||||
|
|
||||||
err = snapshotCollection.Add(snapshot)
|
err = snapshotCollection.Add(snapshot)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -123,6 +133,7 @@ func apiSnapshotsCreateFromRepository(c *gin.Context) {
|
|||||||
|
|
||||||
var b struct {
|
var b struct {
|
||||||
Name string `binding:"required"`
|
Name string `binding:"required"`
|
||||||
|
Description string
|
||||||
}
|
}
|
||||||
|
|
||||||
if !c.Bind(&b) {
|
if !c.Bind(&b) {
|
||||||
@@ -155,6 +166,10 @@ func apiSnapshotsCreateFromRepository(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if b.Description != "" {
|
||||||
|
snapshot.Description = b.Description
|
||||||
|
}
|
||||||
|
|
||||||
err = snapshotCollection.Add(snapshot)
|
err = snapshotCollection.Add(snapshot)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Fail(500, err)
|
c.Fail(500, err)
|
||||||
@@ -165,14 +180,15 @@ func apiSnapshotsCreateFromRepository(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// PUT /api/snapshots/:name
|
// PUT /api/snapshots/:name
|
||||||
func apiSnapshotsRename(c *gin.Context) {
|
func apiSnapshotsUpdate(c *gin.Context) {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
snapshot *deb.Snapshot
|
snapshot *deb.Snapshot
|
||||||
)
|
)
|
||||||
|
|
||||||
var b struct {
|
var b struct {
|
||||||
Name string `binding:"required"`
|
Name string
|
||||||
|
Description string
|
||||||
}
|
}
|
||||||
|
|
||||||
if !c.Bind(&b) {
|
if !c.Bind(&b) {
|
||||||
@@ -193,7 +209,14 @@ func apiSnapshotsRename(c *gin.Context) {
|
|||||||
c.Fail(409, fmt.Errorf("unable to rename: snapshot %s already exists", b.Name))
|
c.Fail(409, fmt.Errorf("unable to rename: snapshot %s already exists", b.Name))
|
||||||
}
|
}
|
||||||
|
|
||||||
snapshot.Name = b.Name
|
if b.Name != "" {
|
||||||
|
snapshot.Name = b.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
if b.Description != "" {
|
||||||
|
snapshot.Description = b.Description
|
||||||
|
}
|
||||||
|
|
||||||
err = context.CollectionFactory().SnapshotCollection().Update(snapshot)
|
err = context.CollectionFactory().SnapshotCollection().Update(snapshot)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Fail(403, err)
|
c.Fail(403, err)
|
||||||
|
|||||||
Reference in New Issue
Block a user