Yoji SHIDARA
null+****@clear*****
Tue Oct 16 13:32:00 JST 2012
Yoji SHIDARA 2012-10-16 13:32:00 +0900 (Tue, 16 Oct 2012) New Revision: 2fbfb7362409aa33f7a0ec41013a8366f77bd59e https://github.com/groonga/gcs-console/commit/2fbfb7362409aa33f7a0ec41013a8366f77bd59e Log: Add 'create domain' feature Modified files: app.js routes/index.js views/domain-create.jade Modified: app.js (+1 -0) =================================================================== --- app.js 2012-10-16 13:01:30 +0900 (03a119d) +++ app.js 2012-10-16 13:32:00 +0900 (85050b0) @@ -30,6 +30,7 @@ app.get('/', routes.index); 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); http.createServer(app).listen(app.get('port'), function(){ console.log("Groonga CloudSearch Console listening on port " + Modified: routes/index.js (+20 -0) =================================================================== --- routes/index.js 2012-10-16 13:01:30 +0900 (ce9bb89) +++ routes/index.js 2012-10-16 13:32:00 +0900 (0d679ee) @@ -94,3 +94,23 @@ exports.domainSearch = function(req, res) { exports.domainCreate = function(req, res) { res.render('domain-create', {domain: null}); }; + +exports.domainCreatePost = function(req, res) { + var domainName = req.body.domain_name; + req.cloudsearch.CreateDomain({ + DomainName: 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; + } + + var domainCreated = data.Body.CreateDomainResponse.CreateDomainResult.DomainStatus; + res.redirect('/domain/'+domainCreated.DomainName); + }); +}; Modified: views/domain-create.jade (+3 -1) =================================================================== --- views/domain-create.jade 2012-10-16 13:01:30 +0900 (b0c9eba) +++ views/domain-create.jade 2012-10-16 13:32:00 +0900 (52f0f34) @@ -2,4 +2,6 @@ extends application block content h1 Creating a new domain - p TODO: implement + form(method="POST").form-inline + input(type="text", name="domain_name") + input(type="submit", value="Create").btn -------------- next part -------------- HTML����������������������������... ダウンロード