Make snapshot creation API more RESTful: accept snapshot name from URL. #116

This commit is contained in:
Andrey Smirnov
2015-02-28 19:32:28 +03:00
parent 4c57c358b7
commit 06dc1ef9a4
3 changed files with 9 additions and 35 deletions
+2 -2
View File
@@ -37,11 +37,11 @@ func Router(c *ctx.AptlyContext) http.Handler {
root.POST("/repos/:name/file/:dir/:file", apiReposPackageFromFile)
root.POST("/repos/:name/file/:dir", apiReposPackageFromDir)
root.POST("/repos/:name/snapshots", apiSnapshotsCreateFromRepository)
root.POST("/repos/:name/snapshots/:snapname", apiSnapshotsCreateFromRepository)
}
{
root.POST("/mirrors/:name/snapshots", apiSnapshotsCreateFromMirror)
root.POST("/mirrors/:name/snapshots/:snapname", apiSnapshotsCreateFromMirror)
}
{
+2 -28
View File
@@ -36,15 +36,6 @@ func apiSnapshotsCreateFromMirror(c *gin.Context) {
snapshot *deb.Snapshot
)
var b struct {
Name string `binding:"required"`
Description string
}
if !c.Bind(&b) {
return
}
collection := context.CollectionFactory().RemoteRepoCollection()
collection.RLock()
defer collection.RUnlock()
@@ -71,16 +62,12 @@ func apiSnapshotsCreateFromMirror(c *gin.Context) {
return
}
snapshot, err = deb.NewSnapshotFromRepository(b.Name, repo)
snapshot, err = deb.NewSnapshotFromRepository(c.Params.ByName("snapname"), repo)
if err != nil {
c.Fail(400, err)
return
}
if b.Description != "" {
snapshot.Description = b.Description
}
err = snapshotCollection.Add(snapshot)
if err != nil {
c.Fail(400, err)
@@ -175,15 +162,6 @@ func apiSnapshotsCreateFromRepository(c *gin.Context) {
snapshot *deb.Snapshot
)
var b struct {
Name string `binding:"required"`
Description string
}
if !c.Bind(&b) {
return
}
collection := context.CollectionFactory().LocalRepoCollection()
collection.RLock()
defer collection.RUnlock()
@@ -204,16 +182,12 @@ func apiSnapshotsCreateFromRepository(c *gin.Context) {
return
}
snapshot, err = deb.NewSnapshotFromLocalRepo(b.Name, repo)
snapshot, err = deb.NewSnapshotFromLocalRepo(c.Params.ByName("snapname"), repo)
if err != nil {
c.Fail(400, err)
return
}
if b.Description != "" {
snapshot.Description = b.Description
}
err = snapshotCollection.Add(snapshot)
if err != nil {
c.Fail(400, err)