Showing
5 changed files
with
56 additions
and
0 deletions
... | @@ -5,6 +5,7 @@ const Profile = require('../../models/profile'); | ... | @@ -5,6 +5,7 @@ const Profile = require('../../models/profile'); |
5 | const DoctorInfo = require('../../models/doctorInfo'); | 5 | const DoctorInfo = require('../../models/doctorInfo'); |
6 | const Joi = require('joi'); | 6 | const Joi = require('joi'); |
7 | const jwt = require('jsonwebtoken'); | 7 | const jwt = require('jsonwebtoken'); |
8 | +const axios = require('axios'); | ||
8 | 9 | ||
9 | 10 | ||
10 | exports.register = async(ctx) => { | 11 | exports.register = async(ctx) => { |
... | @@ -66,6 +67,26 @@ exports.register = async(ctx) => { | ... | @@ -66,6 +67,26 @@ exports.register = async(ctx) => { |
66 | 67 | ||
67 | }; | 68 | }; |
68 | 69 | ||
70 | +exports.searchHospital = async ctx => { | ||
71 | + const { | ||
72 | + hospitalNm, | ||
73 | + page, | ||
74 | + } = ctx.query; | ||
75 | + | ||
76 | + const url = 'http://apis.data.go.kr/B551182/hospInfoService1/getHospBasisList1'; | ||
77 | + let queryParams = '?' + encodeURIComponent('ServiceKey') + '=' + process.env.SERVICE_KEY; | ||
78 | + queryParams += '&' + encodeURIComponent('pageNo') + '=' + encodeURIComponent(page); | ||
79 | + queryParams += '&' + encodeURIComponent('numOfRows') + '=' + encodeURIComponent(10); | ||
80 | + queryParams += '&' + encodeURIComponent('yadmNm') + '=' + encodeURIComponent(hospitalNm); | ||
81 | + | ||
82 | + const result = await axios.get(url + queryParams); | ||
83 | + | ||
84 | + ctx.status = 200; | ||
85 | + ctx.body = { | ||
86 | + hospitalList : result.data.response.body.items.item, | ||
87 | + }; | ||
88 | +}; | ||
89 | + | ||
69 | exports.doctorRegister = async ctx => { | 90 | exports.doctorRegister = async ctx => { |
70 | const { | 91 | const { |
71 | userId, | 92 | userId, | ... | ... |
... | @@ -12,6 +12,14 @@ const auth = new Router() | ... | @@ -12,6 +12,14 @@ const auth = new Router() |
12 | auth.post('/register', authCtrl.register) | 12 | auth.post('/register', authCtrl.register) |
13 | 13 | ||
14 | /** | 14 | /** |
15 | + * 병원 검색 | ||
16 | + * url : http://localhost:4000/api/auth/hospital | ||
17 | + * request parameter : hospitalNm | ||
18 | + * return : xml type data | ||
19 | + */ | ||
20 | +auth.get('/hospital', authCtrl.searchHospital); | ||
21 | + | ||
22 | +/** | ||
15 | * 회원가입 (email type) : 의사 회원가입 | 23 | * 회원가입 (email type) : 의사 회원가입 |
16 | * url : http://localhost:4000/api/auth/register/doctor | 24 | * url : http://localhost:4000/api/auth/register/doctor |
17 | * request parameter : userId, password, passwordCheck, doctorInfo | 25 | * request parameter : userId, password, passwordCheck, doctorInfo | ... | ... |
... | @@ -11,6 +11,7 @@ exports.updateMedicineInfo = async() => { | ... | @@ -11,6 +11,7 @@ exports.updateMedicineInfo = async() => { |
11 | //queryUrl을 return하는 함수 : 한 페이지에 100개의 item씩 요청할 수 있다. | 11 | //queryUrl을 return하는 함수 : 한 페이지에 100개의 item씩 요청할 수 있다. |
12 | const getQueryURL = (i) => { | 12 | const getQueryURL = (i) => { |
13 | const url = 'http://apis.data.go.kr/1471000/DrbEasyDrugInfoService/getDrbEasyDrugList'; | 13 | const url = 'http://apis.data.go.kr/1471000/DrbEasyDrugInfoService/getDrbEasyDrugList'; |
14 | + // eslint-disable-next-line no-undef | ||
14 | const queryParams = '?' + encodeURIComponent('ServiceKey') + '=' + process.env.SERVICE_KEY; | 15 | const queryParams = '?' + encodeURIComponent('ServiceKey') + '=' + process.env.SERVICE_KEY; |
15 | const pageNum = '&' + encodeURIComponent('pageNo') + '=' + encodeURIComponent(i); | 16 | const pageNum = '&' + encodeURIComponent('pageNo') + '=' + encodeURIComponent(i); |
16 | const numOfItem = '&' + encodeURIComponent('numOfRows') + '=' + encodeURIComponent(100); | 17 | const numOfItem = '&' + encodeURIComponent('numOfRows') + '=' + encodeURIComponent(100); |
... | @@ -24,6 +25,7 @@ const getItemsList = async(queryUrl) => { | ... | @@ -24,6 +25,7 @@ const getItemsList = async(queryUrl) => { |
24 | let i = 1, getItem = null, items = null; | 25 | let i = 1, getItem = null, items = null; |
25 | const result = []; | 26 | const result = []; |
26 | 27 | ||
28 | + // eslint-disable-next-line no-constant-condition | ||
27 | while(true) { | 29 | while(true) { |
28 | getItem = await axios.get(queryUrl(i)); | 30 | getItem = await axios.get(queryUrl(i)); |
29 | items = getItem.data.body.items; | 31 | items = getItem.data.body.items; | ... | ... |
web/.eslintrc.js
0 → 100644
1 | +module.exports = { | ||
2 | + "env": { | ||
3 | + "browser": true, | ||
4 | + "es2021": true | ||
5 | + }, | ||
6 | + "extends": [ | ||
7 | + "eslint:recommended", | ||
8 | + "plugin:react/recommended", | ||
9 | + "plugin:@typescript-eslint/recommended" | ||
10 | + ], | ||
11 | + "parser": "@typescript-eslint/parser", | ||
12 | + "parserOptions": { | ||
13 | + "ecmaFeatures": { | ||
14 | + "jsx": true | ||
15 | + }, | ||
16 | + "ecmaVersion": 12, | ||
17 | + "sourceType": "module" | ||
18 | + }, | ||
19 | + "plugins": [ | ||
20 | + "react", | ||
21 | + "@typescript-eslint" | ||
22 | + ], | ||
23 | + "rules": { | ||
24 | + } | ||
25 | +}; |
web/package-lock.json
0 → 100644
This diff could not be displayed because it is too large.
-
Please register or login to post a comment