Showing
1 changed file
with
23 additions
and
177 deletions
... | @@ -5,7 +5,6 @@ const bodyParser = require('body-parser'); | ... | @@ -5,7 +5,6 @@ const bodyParser = require('body-parser'); |
5 | 5 | ||
6 | const apiRouter = express.Router(); | 6 | const apiRouter = express.Router(); |
7 | 7 | ||
8 | - | ||
9 | app.use(bodyParser.json()); | 8 | app.use(bodyParser.json()); |
10 | app.use(bodyParser.urlencoded({ | 9 | app.use(bodyParser.urlencoded({ |
11 | extended: true | 10 | extended: true |
... | @@ -13,24 +12,7 @@ app.use(bodyParser.urlencoded({ | ... | @@ -13,24 +12,7 @@ app.use(bodyParser.urlencoded({ |
13 | 12 | ||
14 | app.use('/api', apiRouter); | 13 | app.use('/api', apiRouter); |
15 | 14 | ||
16 | -apiRouter.post("/blockId", function(req, res) { | 15 | +let userDB = new Array(); |
17 | - const userRequest = req.body.userRequest; | ||
18 | - const blockId = userRequest.block.id; | ||
19 | - | ||
20 | - return res.send({ | ||
21 | - version: "2.0", | ||
22 | - template: { | ||
23 | - outputs: [ | ||
24 | - { | ||
25 | - "basicCard": { | ||
26 | - "title": "블록ID 입니다", | ||
27 | - "description": blockId | ||
28 | - } | ||
29 | - } | ||
30 | - ] | ||
31 | - } | ||
32 | - }); | ||
33 | -}); | ||
34 | 16 | ||
35 | apiRouter.post('/sayHello', function(req, res) { | 17 | apiRouter.post('/sayHello', function(req, res) { |
36 | const responseBody = { | 18 | const responseBody = { |
... | @@ -59,159 +41,12 @@ apiRouter.post('/sayHello', function(req, res) { | ... | @@ -59,159 +41,12 @@ apiRouter.post('/sayHello', function(req, res) { |
59 | res.status(200).send(responseBody); | 41 | res.status(200).send(responseBody); |
60 | }); | 42 | }); |
61 | 43 | ||
62 | -var mbtilist = { | ||
63 | - I: false, | ||
64 | - E: false, | ||
65 | - S: false, | ||
66 | - N: false, | ||
67 | - T: false, | ||
68 | - F: false, | ||
69 | - P: false, | ||
70 | - J: false | ||
71 | -}; | ||
72 | - | ||
73 | -var userDB = {}; | ||
74 | - | ||
75 | -apiRouter.post("/add", function(req, res) { | ||
76 | - const userRequest = req.body.userRequest; | ||
77 | - const userId = userRequest.user.id; | ||
78 | - const usermbti = userRequest.utterance; | ||
79 | - | ||
80 | - if (!userDB[userId]) { | ||
81 | - userDB[userId] = { ...mbtilist }; | ||
82 | - } | ||
83 | - | ||
84 | - if (usermbti in mbtilist) { | ||
85 | - userDB[userId][usermbti] = true; | ||
86 | - } | ||
87 | - | ||
88 | - return res.send({ | ||
89 | - version: "2.0", | ||
90 | - template: { | ||
91 | - outputs: [ | ||
92 | - { | ||
93 | - basicCard: { | ||
94 | - description: "추가 되었습니다", | ||
95 | - buttons: [ | ||
96 | - { | ||
97 | - action: "message", | ||
98 | - label: "내 mbti 목록", | ||
99 | - messageText: "내 mbti 목록" | ||
100 | - }, | ||
101 | - { | ||
102 | - action: "message", | ||
103 | - label: "mbti 추가", | ||
104 | - messageText: "mbti 추가" | ||
105 | - } | ||
106 | - ] | ||
107 | - } | ||
108 | - } | ||
109 | - ] | ||
110 | - } | ||
111 | - }); | ||
112 | -}); | ||
113 | - | ||
114 | -apiRouter.post("/form", function(req,res) { | ||
115 | - const userRequest = req.body.userRequest; | ||
116 | - const userId = userRequest.user.id; | ||
117 | - let mbti = []; | ||
118 | - | ||
119 | - if (!userDB[userId]) { | ||
120 | - mbti = Object.keys(mbtilist).map(f => { | ||
121 | - return { | ||
122 | - action: "block", | ||
123 | - label: f, | ||
124 | - blockId: "62903faf7befc3101c3be587" | ||
125 | - }; | ||
126 | - }); | ||
127 | - } else { | ||
128 | - mbti = Object.keys(userDB[userId]) | ||
129 | - .filter(f => { | ||
130 | - return userDB[userId][f] === false; | ||
131 | - }) | ||
132 | - .map(f => { | ||
133 | - return { | ||
134 | - action: "block", | ||
135 | - label: f, | ||
136 | - blockId: "62903faf7befc3101c3be587" | ||
137 | - }; | ||
138 | - }); | ||
139 | - } | ||
140 | - | ||
141 | - return res.send({ | ||
142 | - version: "2.0", | ||
143 | - template: { | ||
144 | - outputs: [ | ||
145 | - { | ||
146 | - simpleText: { | ||
147 | - text: "추가할 mbti를 선택해 주세요" | ||
148 | - } | ||
149 | - } | ||
150 | - ], | ||
151 | - quickReplies: mbti | ||
152 | - } | ||
153 | - }); | ||
154 | -}); | ||
155 | - | ||
156 | -apiRouter.post("/list", function(req, res) { | ||
157 | - const userRequest = req.body.userRequest; | ||
158 | - const userId = userRequest.user.id; | ||
159 | - let mymbti = []; | ||
160 | - | ||
161 | - if (userDB[userId]) { | ||
162 | - mymbti = Object.keys(userDB[userId]).filter(f => { | ||
163 | - return userDB[userId][f] === true; | ||
164 | - }); | ||
165 | - } | ||
166 | - | ||
167 | - if (mymbti.length <= 0) { | ||
168 | - return res.send({ | ||
169 | - version: "2.0", | ||
170 | - template: { | ||
171 | - outputs: [ | ||
172 | - { | ||
173 | - basicCard: { | ||
174 | - description: "등록된 mbti가 없습니다", | ||
175 | - buttons: [ | ||
176 | - { | ||
177 | - action: "message", | ||
178 | - label: "mbti 추가", | ||
179 | - messageText: "mbti 추가" | ||
180 | - } | ||
181 | - ] | ||
182 | - } | ||
183 | - } | ||
184 | - ] | ||
185 | - } | ||
186 | - }); | ||
187 | - } else { | ||
188 | - return res.send({ | ||
189 | - version: "2.0", | ||
190 | - template: { | ||
191 | - outputs: [ | ||
192 | - { | ||
193 | - basicCard: { | ||
194 | - description: `현재 나의 mbti는 ${mymbti | ||
195 | - .map(f => `[${f}]`) | ||
196 | - .join(", ")} 입니다`, | ||
197 | - buttons: [ | ||
198 | - { | ||
199 | - action: "message", | ||
200 | - label: "mbti 추가", | ||
201 | - messageText: "mtbi 추가" | ||
202 | - } | ||
203 | - ] | ||
204 | - } | ||
205 | - } | ||
206 | - ] | ||
207 | - } | ||
208 | - }); | ||
209 | - } | ||
210 | -}); | ||
211 | - | ||
212 | apiRouter.post('/question1', (req, res) => { | 44 | apiRouter.post('/question1', (req, res) => { |
45 | + var userId = req.body.userRequest.user.id; | ||
213 | var mesg = req.body.userRequest; | 46 | var mesg = req.body.userRequest; |
214 | console.log('[q1:user message] ', mesg); | 47 | console.log('[q1:user message] ', mesg); |
48 | + userDB[userId] = ''; | ||
49 | + console.log(userDB[userId]); | ||
215 | const responseBody = { | 50 | const responseBody = { |
216 | version: "2.0", | 51 | version: "2.0", |
217 | template: { | 52 | template: { |
... | @@ -242,6 +77,7 @@ apiRouter.post('/question1', (req, res) => { | ... | @@ -242,6 +77,7 @@ apiRouter.post('/question1', (req, res) => { |
242 | }); | 77 | }); |
243 | 78 | ||
244 | apiRouter.post('/question2', (req, res) => { | 79 | apiRouter.post('/question2', (req, res) => { |
80 | + var userId = req.body.userRequest.user.id; | ||
245 | var mesg = req.body.userRequest.utterance; | 81 | var mesg = req.body.userRequest.utterance; |
246 | console.log('[q2:user message] ', mesg); | 82 | console.log('[q2:user message] ', mesg); |
247 | var mbti = ''; | 83 | var mbti = ''; |
... | @@ -250,13 +86,15 @@ apiRouter.post('/question2', (req, res) => { | ... | @@ -250,13 +86,15 @@ apiRouter.post('/question2', (req, res) => { |
250 | } else if (mesg == "아니오") { | 86 | } else if (mesg == "아니오") { |
251 | mbti = 'I'; | 87 | mbti = 'I'; |
252 | } | 88 | } |
89 | + userDB[userId] += mbti; | ||
90 | + console.log(userDB[userId]); | ||
253 | const responseBody = { | 91 | const responseBody = { |
254 | version: "2.0", | 92 | version: "2.0", |
255 | template: { | 93 | template: { |
256 | outputs: [ | 94 | outputs: [ |
257 | { | 95 | { |
258 | simpleText: { | 96 | simpleText: { |
259 | - text: 'mbti:'+mbti+'***\n\n평소 깻잎논쟁에 1시간 이상을 생각해봤다.\n맞다면 N 아니면 S을 입력해주세요.' | 97 | + text: '평소 깻잎논쟁에 1시간 이상을 생각해봤다.' |
260 | } | 98 | } |
261 | } | 99 | } |
262 | ], | 100 | ], |
... | @@ -280,6 +118,7 @@ apiRouter.post('/question2', (req, res) => { | ... | @@ -280,6 +118,7 @@ apiRouter.post('/question2', (req, res) => { |
280 | }); | 118 | }); |
281 | 119 | ||
282 | apiRouter.post('/question3', function(req, res) { | 120 | apiRouter.post('/question3', function(req, res) { |
121 | + var userId = req.body.userRequest.user.id; | ||
283 | var mesg = req.body.userRequest.utterance; | 122 | var mesg = req.body.userRequest.utterance; |
284 | console.log('[q3:user message] ', mesg); | 123 | console.log('[q3:user message] ', mesg); |
285 | var mbti = ''; | 124 | var mbti = ''; |
... | @@ -288,13 +127,15 @@ apiRouter.post('/question3', function(req, res) { | ... | @@ -288,13 +127,15 @@ apiRouter.post('/question3', function(req, res) { |
288 | } else if (mesg == '아니오') { | 127 | } else if (mesg == '아니오') { |
289 | mbti = 'S'; | 128 | mbti = 'S'; |
290 | } | 129 | } |
130 | + userDB[userId] += mbti; | ||
131 | + console.log(userDB[userId]); | ||
291 | const responseBody = { | 132 | const responseBody = { |
292 | version: "2.0", | 133 | version: "2.0", |
293 | template: { | 134 | template: { |
294 | outputs: [ | 135 | outputs: [ |
295 | { | 136 | { |
296 | "simpleText": { | 137 | "simpleText": { |
297 | - "text": "mbti:*"+mbti+"**\n\n다음과 같은 상황에서 어떻게 대답하겠습니까?\n 친구: 나 기분 안 좋아서 옷 샀어" | 138 | + "text": "다음과 같은 상황에서 어떻게 대답하겠습니까?\n 친구: 나 기분 안 좋아서 옷 샀어" |
298 | } | 139 | } |
299 | } | 140 | } |
300 | ], | 141 | ], |
... | @@ -314,11 +155,11 @@ apiRouter.post('/question3', function(req, res) { | ... | @@ -314,11 +155,11 @@ apiRouter.post('/question3', function(req, res) { |
314 | ] | 155 | ] |
315 | } | 156 | } |
316 | }; | 157 | }; |
317 | - | ||
318 | res.status(200).send(responseBody); | 158 | res.status(200).send(responseBody); |
319 | }); | 159 | }); |
320 | 160 | ||
321 | apiRouter.post('/question4', (req, res) => { | 161 | apiRouter.post('/question4', (req, res) => { |
162 | + var userId = req.body.userRequest.user.id; | ||
322 | var mesg = req.body.userRequest.utterance; | 163 | var mesg = req.body.userRequest.utterance; |
323 | console.log('[q4:user message] ', mesg); | 164 | console.log('[q4:user message] ', mesg); |
324 | var mbti = ''; | 165 | var mbti = ''; |
... | @@ -327,13 +168,15 @@ apiRouter.post('/question4', (req, res) => { | ... | @@ -327,13 +168,15 @@ apiRouter.post('/question4', (req, res) => { |
327 | } else if (mesg == "무슨 옷 샀어?") { | 168 | } else if (mesg == "무슨 옷 샀어?") { |
328 | mbti = 'T'; | 169 | mbti = 'T'; |
329 | } | 170 | } |
171 | + userDB[userId] += mbti; | ||
172 | + console.log(userDB[userId]); | ||
330 | const responseBody = { | 173 | const responseBody = { |
331 | version: "2.0", | 174 | version: "2.0", |
332 | template: { | 175 | template: { |
333 | outputs: [ | 176 | outputs: [ |
334 | { | 177 | { |
335 | simpleText: { | 178 | simpleText: { |
336 | - text: "mbti:**"+mbti+"*\n\n그날 할 일에 대해 계획을 미리 세우시나요?" | 179 | + text: "그날 할 일에 대해 계획을 미리 세우시나요?" |
337 | } | 180 | } |
338 | } | 181 | } |
339 | ], | 182 | ], |
... | @@ -357,6 +200,7 @@ apiRouter.post('/question4', (req, res) => { | ... | @@ -357,6 +200,7 @@ apiRouter.post('/question4', (req, res) => { |
357 | }); | 200 | }); |
358 | 201 | ||
359 | apiRouter.post('/result', (req, res) => { | 202 | apiRouter.post('/result', (req, res) => { |
203 | + var userId = req.body.userRequest.user.id; | ||
360 | var mesg = req.body.userRequest.utterance; | 204 | var mesg = req.body.userRequest.utterance; |
361 | console.log('[result:user message] ', mesg); | 205 | console.log('[result:user message] ', mesg); |
362 | var mbti = ''; | 206 | var mbti = ''; |
... | @@ -365,21 +209,23 @@ apiRouter.post('/result', (req, res) => { | ... | @@ -365,21 +209,23 @@ apiRouter.post('/result', (req, res) => { |
365 | } else if (mesg == "아니오") { | 209 | } else if (mesg == "아니오") { |
366 | mbti = 'P'; | 210 | mbti = 'P'; |
367 | } | 211 | } |
212 | + userDB[userId] += mbti; | ||
213 | + console.log(userDB[userId]); | ||
368 | const responseBody = { | 214 | const responseBody = { |
369 | version: "2.0", | 215 | version: "2.0", |
370 | template: { | 216 | template: { |
371 | outputs: [ | 217 | outputs: [ |
372 | { | 218 | { |
373 | simpleText: { | 219 | simpleText: { |
374 | - text: "mbti: ***"+mbti | 220 | + text: "당신의 MBTI는 : "+userDB[userId] |
375 | } | 221 | } |
376 | } | 222 | } |
377 | ], | 223 | ], |
378 | quickReplies: [{ | 224 | quickReplies: [{ |
379 | action: "block", | 225 | action: "block", |
380 | - label: "mbti 결과 보기", | 226 | + label: "MBTI 테스트 다시하기", |
381 | - message: "mbti 결과 보기", | 227 | + message: "MBTI 테스트 다시하기", |
382 | - blockId : "629045977befc3101c3be778" //mbti list로 연결 | 228 | + blockId : "628b8005055a574d7df54466" |
383 | }] | 229 | }] |
384 | } | 230 | } |
385 | } | 231 | } | ... | ... |
-
Please register or login to post a comment