Skip to content

Commit

Permalink
Add 'delete domain' feature
Browse files Browse the repository at this point in the history
TODOs: Error handling, confirmation before deleting, notice after
deletion
  • Loading branch information
darashi committed Oct 16, 2012
1 parent 2fbfb73 commit c11da57
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 0 deletions.
1 change: 1 addition & 0 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ app.get('/domain/:name', routes.domain);
app.get('/domain/:name/search', routes.domainSearch);
app.get('/domain_create', routes.domainCreate);
app.post('/domain_create', routes.domainCreatePost);
app.delete('/domain/:name', routes.domainDelete);

http.createServer(app).listen(app.get('port'), function(){
console.log("Groonga CloudSearch Console listening on port " +
Expand Down
21 changes: 21 additions & 0 deletions routes/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ function convertToArray(data) {

exports.domain = function(req, res) {
var domain = prepareCurrentDomain(req, res);
req.session.flash = domain.DomainName;
res.render('domain-show', {domain: domain});
};

Expand Down Expand Up @@ -114,3 +115,23 @@ exports.domainCreatePost = function(req, res) {
res.redirect('/domain/'+domainCreated.DomainName);
});
};

exports.domainDelete = function(req, res) {
var domain = prepareCurrentDomain(req, res);
req.cloudsearch.DeleteDomain({
DomainName: domain.DomainName
}, function(error, data) {
if (error) {
// TODO redirect back domainCreate if it is a kind of validation error
// TODO render error in a more pretty way
// TODO in some cases, the error should be 400 rather than 500
res.status(500);
var message = JSON.stringify(error.Body.Response.Errors);
res.render('error', {message: message});
return;
}

res.redirect('/');
// TODO some feedback to user may be needed
});
};
6 changes: 6 additions & 0 deletions views/domain.jade
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,16 @@ block content
i.icon-folder-open
|
= domain.DomainName

p.btn-group
a(href="/domain/"+domain.DomainName).btn About
a(href="/domain/"+domain.DomainName+"/search").btn Search

// TODO alert user before delete
form(action="/domain/"+domain.DomainName, method="POST")
input(type="hidden", name="_method", value="DELETE")
input(type="submit", value="Destroy").btn.btn-danger

hr

block domain-content

0 comments on commit c11da57

Please sign in to comment.