Showing
7 changed files
with
22 additions
and
12 deletions
ServiceKey/festival.txt
0 → 100644
| 1 | +%2FsBWti235XX%2Fg1%2FqBZfiNQ6A%2BJmF3WL%2FboaNqJH4v3eWic59SiHc6W5vgZKU7Hjocj%2BAntIqHfhXOpmE5CpAFw%3D%3D | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
ServiceKey/weather.txt
0 → 100644
| 1 | +2lFkvQJYgzOOhwUKiUt8aZVNpd1PpBOf%2FfMNW17cl25DE0GUEDddeR9iGnuSUpggjUoIUgamfhcvnKQ3eH1dAw%3D%3D | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -14,4 +14,4 @@ RUN npm install | ... | @@ -14,4 +14,4 @@ RUN npm install |
| 14 | COPY ./ ./ | 14 | COPY ./ ./ |
| 15 | 15 | ||
| 16 | #start application | 16 | #start application |
| 17 | -CMD [ "node", "server.js" ] | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 17 | +CMD [ "npm", "start" ] | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -24,5 +24,4 @@ const festivalSchema = new Schema({ | ... | @@ -24,5 +24,4 @@ const festivalSchema = new Schema({ |
| 24 | versionKey: false | 24 | versionKey: false |
| 25 | }); | 25 | }); |
| 26 | 26 | ||
| 27 | - | ||
| 28 | module.exports = mongoose.model('Festival',festivalSchema); | 27 | module.exports = mongoose.model('Festival',festivalSchema); | ... | ... |
| ... | @@ -2,9 +2,9 @@ | ... | @@ -2,9 +2,9 @@ |
| 2 | "name": "REST-API", | 2 | "name": "REST-API", |
| 3 | "version": "1.0.0", | 3 | "version": "1.0.0", |
| 4 | "description": "", | 4 | "description": "", |
| 5 | - "main": "index.js", | 5 | + "main": "server.js", |
| 6 | "scripts": { | 6 | "scripts": { |
| 7 | - "test": "echo \"Error: no test specified\" && exit 1" | 7 | + "start": "node server" |
| 8 | }, | 8 | }, |
| 9 | "keywords": [], | 9 | "keywords": [], |
| 10 | "author": "", | 10 | "author": "", | ... | ... |
| ... | @@ -2,14 +2,12 @@ const mongoose = require('mongoose'); | ... | @@ -2,14 +2,12 @@ const mongoose = require('mongoose'); |
| 2 | // const db = require('mongodb'); | 2 | // const db = require('mongodb'); |
| 3 | const Festival = require('./models/Festival'); | 3 | const Festival = require('./models/Festival'); |
| 4 | const request = require('request-promise-native'); | 4 | const request = require('request-promise-native'); |
| 5 | +const fs = require('fs'); | ||
| 5 | 6 | ||
| 6 | const url = 'mongodb://mongo:27017'; | 7 | const url = 'mongodb://mongo:27017'; |
| 8 | +const ServiceKey = fs.readFileSync('./ServiceKey/festival.txt', 'utf-8'); | ||
| 9 | +const WeatherServiceKey = fs.readFileSync('./ServiceKey/weather.txt', 'utf-8'); | ||
| 7 | 10 | ||
| 8 | -const ServiceKey = '3zrQDvoNwUV9Se%2BHZv8DjCCNWRGJisQ7jjHP6LsbJqoRQ2cJpQKrHUGC4uslgXSVO9Dzb06BSC3kp9BunvIPSw%3D%3D'; | ||
| 9 | -const ServiceKey2 ='%2FGjtI8kwZeJTzJm%2BxUxz%2Bjh15wnmV3rwFuRvrq3oRSqyklfiZfbUaqmsG0McVPJMdXSUYetGaCXl0ZkbfMI0BQ%3D%3D' | ||
| 10 | -const ServiceKey3 ='%2FsBWti235XX%2Fg1%2FqBZfiNQ6A%2BJmF3WL%2FboaNqJH4v3eWic59SiHc6W5vgZKU7Hjocj%2BAntIqHfhXOpmE5CpAFw%3D%3D' | ||
| 11 | - | ||
| 12 | -const WeatherServiceKey = '2lFkvQJYgzOOhwUKiUt8aZVNpd1PpBOf%2FfMNW17cl25DE0GUEDddeR9iGnuSUpggjUoIUgamfhcvnKQ3eH1dAw%3D%3D'; | ||
| 13 | const COORDINATES = require('./coordinates')['COORDINATES']; | 11 | const COORDINATES = require('./coordinates')['COORDINATES']; |
| 14 | const DISTRICT = [ | 12 | const DISTRICT = [ |
| 15 | "서울특별시", "부산광역시", "울산광역시", "대구광역시", "대전광역시", | 13 | "서울특별시", "부산광역시", "울산광역시", "대구광역시", "대전광역시", |
| ... | @@ -49,9 +47,18 @@ mongoose.connect(url,(err)=>{ | ... | @@ -49,9 +47,18 @@ mongoose.connect(url,(err)=>{ |
| 49 | if(err) { | 47 | if(err) { |
| 50 | console.log(err); | 48 | console.log(err); |
| 51 | } else { | 49 | } else { |
| 50 | + | ||
| 51 | + mongoose.connection.db.listCollections().toArray(async (err, collection) => { | ||
| 52 | + if(!collection.includes('festivals')) { | ||
| 53 | + await mongoose.connection.db.createCollection("festivals"); | ||
| 54 | + } | ||
| 55 | + }); | ||
| 56 | + | ||
| 57 | + | ||
| 52 | mongoose.connection.db.dropCollection('festivals',function(err, result) { | 58 | mongoose.connection.db.dropCollection('festivals',function(err, result) { |
| 53 | if(err) { | 59 | if(err) { |
| 54 | console.log(err + "Reset Failed!"); | 60 | console.log(err + "Reset Failed!"); |
| 61 | + writeDB(); | ||
| 55 | } else { | 62 | } else { |
| 56 | console.log(result + "Reset Success!"); | 63 | console.log(result + "Reset Success!"); |
| 57 | 64 | ||
| ... | @@ -59,7 +66,7 @@ mongoose.connect(url,(err)=>{ | ... | @@ -59,7 +66,7 @@ mongoose.connect(url,(err)=>{ |
| 59 | let options = { | 66 | let options = { |
| 60 | 'method': 'GET', | 67 | 'method': 'GET', |
| 61 | 'url' : 'http://api.visitkorea.or.kr/openapi/service/rest/KorService/areaBasedList' | 68 | 'url' : 'http://api.visitkorea.or.kr/openapi/service/rest/KorService/areaBasedList' |
| 62 | - + '?ServiceKey=' + ServiceKey2 | 69 | + + '?ServiceKey=' + ServiceKey |
| 63 | + '&contentTypeId=15&areaCode=&sigunguCode=&cat1=&cat2=&cat3=&listYN=Y&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&arrange=C&numOfRows=12' | 70 | + '&contentTypeId=15&areaCode=&sigunguCode=&cat1=&cat2=&cat3=&listYN=Y&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&arrange=C&numOfRows=12' |
| 64 | + '&pageNo='+ i | 71 | + '&pageNo='+ i |
| 65 | + '&_type=json', | 72 | + '&_type=json', |
| ... | @@ -79,7 +86,7 @@ mongoose.connect(url,(err)=>{ | ... | @@ -79,7 +86,7 @@ mongoose.connect(url,(err)=>{ |
| 79 | 'public': { | 86 | 'public': { |
| 80 | 'method': 'GET', | 87 | 'method': 'GET', |
| 81 | 'url': 'http://api.visitkorea.or.kr/openapi/service/rest/KorService/detailCommon?' | 88 | 'url': 'http://api.visitkorea.or.kr/openapi/service/rest/KorService/detailCommon?' |
| 82 | - + 'ServiceKey=' + ServiceKey2 | 89 | + + 'ServiceKey=' + ServiceKey |
| 83 | + '&contentTypeId=' + '15' | 90 | + '&contentTypeId=' + '15' |
| 84 | + '&contentId=' + item['contentid'] | 91 | + '&contentId=' + item['contentid'] |
| 85 | + '&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&defaultYN=Y&firstImageYN=Y&areacodeYN=Y&catcodeYN=Y&addrinfoYN=Y&mapinfoYN=Y&overviewYN=Y&transGuideYN=Y&_type=json', | 92 | + '&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&defaultYN=Y&firstImageYN=Y&areacodeYN=Y&catcodeYN=Y&addrinfoYN=Y&mapinfoYN=Y&overviewYN=Y&transGuideYN=Y&_type=json', |
| ... | @@ -88,7 +95,7 @@ mongoose.connect(url,(err)=>{ | ... | @@ -88,7 +95,7 @@ mongoose.connect(url,(err)=>{ |
| 88 | 'detail': { | 95 | 'detail': { |
| 89 | 'method': 'GET', | 96 | 'method': 'GET', |
| 90 | 'url': 'http://api.visitkorea.or.kr/openapi/service/rest/KorService/detailIntro?' | 97 | 'url': 'http://api.visitkorea.or.kr/openapi/service/rest/KorService/detailIntro?' |
| 91 | - + 'ServiceKey=' + ServiceKey2 | 98 | + + 'ServiceKey=' + ServiceKey |
| 92 | + '&contentTypeId=' + '15' | 99 | + '&contentTypeId=' + '15' |
| 93 | + '&contentId=' + item['contentid'] | 100 | + '&contentId=' + item['contentid'] |
| 94 | + '&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&introYN=Y&_type=json', | 101 | + '&MobileOS=ETC&MobileApp=TourAPI3.0_Guide&introYN=Y&_type=json', | ... | ... |
-
Please register or login to post a comment