Node.js sample program: tiny blog application
修訂 | b693b486ae6e0a3935c4910d4346b3672fa05d57 (tree) |
---|---|
時間 | 2012-11-29 00:13:06 |
作者 | hylom <hylom@hylo...> |
Commiter | hylom |
restructure codes
@@ -27,9 +27,10 @@ Database.prototype.query = function (query, params, callback) { | ||
27 | 27 | |
28 | 28 | // クエリを終了する |
29 | 29 | Database.prototype.end = function (callback) { |
30 | - var client = this._getClient(); | |
31 | - client.end(callback); | |
32 | - delete this.client; | |
30 | + if (this.client) { | |
31 | + this.client.end(callback); | |
32 | + delete this.client; | |
33 | + } | |
33 | 34 | } |
34 | 35 | |
35 | 36 | // Databaseクラスのインスタンスを作成する |
@@ -86,19 +86,3 @@ stories.getLatest = function (count, skip, callback) { | ||
86 | 86 | callback(null, results); |
87 | 87 | }); |
88 | 88 | }; |
89 | - | |
90 | -// 記事数を取得する | |
91 | -stories.count = function (callback) { | |
92 | - db.query( | |
93 | - 'SELECT COUNT(*) FROM stories', | |
94 | - [], | |
95 | - function(err, results, fields) { | |
96 | - db.end(); | |
97 | - if(err) { | |
98 | - callback(err); | |
99 | - return; | |
100 | - } | |
101 | - callback(results[0]['COUNT(*)']); | |
102 | - }); | |
103 | -} | |
104 | - |
@@ -40,26 +40,6 @@ function _hashPassword(password) { | ||
40 | 40 | shasum.update(password); |
41 | 41 | return shasum.digest('hex'); |
42 | 42 | } |
43 | - | |
44 | -// ユーザー名からアカウント情報を取得する | |
45 | -users.getByUsername = function (name, callback) { | |
46 | - db.query('SELECT * FROM users WHERE name = ?', | |
47 | - [name,], queryCallback); | |
48 | - function qurryCallback(err, results, fields) { | |
49 | - db.end(); | |
50 | - if (err) { | |
51 | - callback(err, undefined); | |
52 | - return; | |
53 | - } | |
54 | - if (results && (results.length > 0)) { | |
55 | - userInfo = results[0]; | |
56 | - delete userInfo.password; | |
57 | - callback(false, userInfo); | |
58 | - } else { | |
59 | - callback(false, null); | |
60 | - } | |
61 | - } | |
62 | -} | |
63 | 43 | |
64 | 44 | // ユーザーを作成する |
65 | 45 | users.createUser = function (name, password, callback) { |
@@ -8,14 +8,11 @@ var stories = require('../models/stories'); | ||
8 | 8 | |
9 | 9 | // ログイン処理を行う |
10 | 10 | exports.login = function (req, res) { |
11 | - var name = req.body.name || ''; | |
12 | - var password = ''; | |
13 | - | |
14 | 11 | // GETリクエストに対する処理 |
15 | 12 | res.render('login', { |
16 | 13 | page: { title: 'login' }, |
17 | - user: req.session.user || null, | |
18 | - name: name, | |
14 | + user: null, | |
15 | + name: '', | |
19 | 16 | error: 200, |
20 | 17 | loginFailed: false |
21 | 18 | }); |
@@ -32,7 +29,7 @@ exports.login.post = function (req, res) { | ||
32 | 29 | // 認証に失敗 |
33 | 30 | res.render('login', { |
34 | 31 | page: { title: 'login' }, |
35 | - user: req.session.user || null, | |
32 | + user: null, | |
36 | 33 | name: name, |
37 | 34 | error: 200, |
38 | 35 | loginFailed: true |
@@ -94,6 +91,8 @@ exports.create.post = function(req, res) { | ||
94 | 91 | |
95 | 92 | // インデックスページの表示 |
96 | 93 | exports.index = function(req, res){ |
94 | + // req.queryオブジェクトには文字列でクエリに関する情報が格納されているので | |
95 | + // Number関数で数値に変換しておく | |
97 | 96 | var pageNum = Number(req.query.page) || 1; |
98 | 97 | var count = 10; |
99 | 98 | var skip = count * (pageNum - 1); |
@@ -123,7 +122,7 @@ exports.index = function(req, res){ | ||
123 | 122 | } |
124 | 123 | } |
125 | 124 | |
126 | - // テンプレートに与えるパラメータ | |
125 | + // テンプレートに与えるパラメータを用意する | |
127 | 126 | var params = { |
128 | 127 | page: { |
129 | 128 | title: 'nblog', |
@@ -134,7 +133,7 @@ exports.index = function(req, res){ | ||
134 | 133 | stories: items, |
135 | 134 | request: req |
136 | 135 | }; |
137 | - console.log(params); | |
136 | + // indexテンプレートをレンダリングする | |
138 | 137 | res.render('index', params); |
139 | 138 | }); |
140 | 139 | }; |
@@ -7,14 +7,10 @@ block content | ||
7 | 7 | .pagination |
8 | 8 | ul |
9 | 9 | if page.previous |
10 | - li | |
11 | - a(href=page.previous) Prev | |
10 | + li: a(href=page.previous) Prev | |
12 | 11 | else |
13 | - li.disabled | |
14 | - a Prev | |
12 | + li.disabled: a Prev | |
15 | 13 | if page.next |
16 | - li | |
17 | - a(href=page.next) Next | |
14 | + li: a(href=page.next) Next | |
18 | 15 | else |
19 | - li.disabled | |
20 | - a Next | |
16 | + li.disabled: a Next |
@@ -12,8 +12,7 @@ html | ||
12 | 12 | header |
13 | 13 | .container |
14 | 14 | hgroup |
15 | - h1 | |
16 | - a(href='/') nblog | |
15 | + h1: a(href='/') nblog | |
17 | 16 | .description simple blog system |
18 | 17 | .container |
19 | 18 | #main |