mirror of
https://github.com/nkanaev/yarr.git
synced 2025-05-24 00:33:14 +00:00
rename folders
This commit is contained in:
parent
1591cdd624
commit
865da97f94
@ -76,13 +76,29 @@ func FolderListHandler(rw http.ResponseWriter, req *http.Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
type UpdateFolder struct {
|
||||||
|
Title *string `json:"title,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
func FolderHandler(rw http.ResponseWriter, req *http.Request) {
|
func FolderHandler(rw http.ResponseWriter, req *http.Request) {
|
||||||
if req.Method == "DELETE" {
|
id, err := strconv.ParseInt(Vars(req)["id"], 10, 64)
|
||||||
id, err := strconv.ParseInt(Vars(req)["id"], 10, 64)
|
if err != nil {
|
||||||
if err != nil {
|
rw.WriteHeader(http.StatusBadRequest)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if req.Method == "PUT" {
|
||||||
|
var body UpdateFolder
|
||||||
|
if err := json.NewDecoder(req.Body).Decode(&body); err != nil {
|
||||||
|
log.Print(err)
|
||||||
rw.WriteHeader(http.StatusBadRequest)
|
rw.WriteHeader(http.StatusBadRequest)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if body.Title != nil {
|
||||||
|
db(req).RenameFolder(id, *body.Title)
|
||||||
|
}
|
||||||
|
rw.WriteHeader(http.StatusOK)
|
||||||
|
} else if req.Method == "DELETE" {
|
||||||
db(req).DeleteFolder(id)
|
db(req).DeleteFolder(id)
|
||||||
rw.WriteHeader(http.StatusNoContent)
|
rw.WriteHeader(http.StatusNoContent)
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,9 @@
|
|||||||
create: function(data) {
|
create: function(data) {
|
||||||
return api('post', '/api/folders', data).then(json)
|
return api('post', '/api/folders', data).then(json)
|
||||||
},
|
},
|
||||||
|
update: function(id, data) {
|
||||||
|
return api('put', '/api/folders/' + id, data)
|
||||||
|
},
|
||||||
delete: function(id) {
|
delete: function(id) {
|
||||||
return api('delete', '/api/folders/' + id)
|
return api('delete', '/api/folders/' + id)
|
||||||
},
|
},
|
||||||
|
@ -90,7 +90,12 @@ var vm = new Vue({
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
renameFolder: function(folder) {
|
renameFolder: function(folder) {
|
||||||
|
var newTitle = prompt('Enter new title', folder.title)
|
||||||
|
if (newTitle) {
|
||||||
|
api.folders.update(folder.id, {title: newTitle}).then(function() {
|
||||||
|
folder.title = newTitle
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
deleteFolder: function(folder) {
|
deleteFolder: function(folder) {
|
||||||
var vm = this
|
var vm = this
|
||||||
@ -102,9 +107,11 @@ var vm = new Vue({
|
|||||||
},
|
},
|
||||||
renameFeed: function(feed) {
|
renameFeed: function(feed) {
|
||||||
var newTitle = prompt('Enter new title', feed.title)
|
var newTitle = prompt('Enter new title', feed.title)
|
||||||
api.feeds.update(feed.id, {title: newTitle}).then(function() {
|
if (newTitle) {
|
||||||
feed.title = newTitle
|
api.feeds.update(feed.id, {title: newTitle}).then(function() {
|
||||||
})
|
feed.title = newTitle
|
||||||
|
})
|
||||||
|
}
|
||||||
},
|
},
|
||||||
deleteFeed: function(feed) {
|
deleteFeed: function(feed) {
|
||||||
if (confirm('Are you sure you want to delete ' + feed.title + '?')) {
|
if (confirm('Are you sure you want to delete ' + feed.title + '?')) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user