add mongodb access lib
This commit is contained in:
		
							parent
							
								
									c69679dfe2
								
							
						
					
					
						commit
						e0dcf3bd6c
					
				| @ -1,6 +1,7 @@ | ||||
| const koa = require('koa'); | ||||
| const path = require('path'); | ||||
| const fs = require('fs'); | ||||
| const mongoose = require('mongoose'); | ||||
| 
 | ||||
| // Load config
 | ||||
| const config = require('./config.json'); | ||||
| @ -16,6 +17,11 @@ mysql.password = config.db.mysql.pass; | ||||
| mysql.port = config.db.mysql.port; | ||||
| mysql.createPool(); | ||||
| 
 | ||||
| // init mongodb connection
 | ||||
| let mongoAuth = `${config.db.mongo.user.length > 0 && config.db.mongo.pass.length > 0 ? `${config.db.mongo.user}:${config.db.mongo.pass}@` : ''}`; | ||||
| let mongoUrl = `mongodb://${mongoAuth}${config.db.mongo.host}:${config.db.mongo.port}/${config.db.mongo.dbname}${mongoAuth.length > 0 ? '?authSource=admin': ''}`; | ||||
| mongoose.connect(mongoUrl); | ||||
| 
 | ||||
| // Koa Middleware
 | ||||
| const session = require('koa-session'); | ||||
| const Router = require('koa-router'); | ||||
|  | ||||
| @ -14,9 +14,5 @@ | ||||
|             "port": 27017, | ||||
|             "dbname": "lora" | ||||
|         } | ||||
|     }, | ||||
|     "memcached": { | ||||
|         "host": "localhost", | ||||
|         "port": 11211 | ||||
|     } | ||||
| } | ||||
							
								
								
									
										18
									
								
								server-api/libs/mongo_model.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								server-api/libs/mongo_model.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | ||||
| const mongoose = require('mongoose'); | ||||
| 
 | ||||
| const tokenSchema = mongoose.Schema({ | ||||
|     object: Object, | ||||
|     expire: { | ||||
|         type: Number, | ||||
|         default: Date.now | ||||
|     } | ||||
| }); | ||||
| // tokenSchema.method.clearExpire = function(cb) {
 | ||||
| //     return this.model('token').remove({ expire: { $lte: Date.now() } }, cb);
 | ||||
| // }
 | ||||
| 
 | ||||
| const token = mongoose.model('token', tokenSchema, 'token'); | ||||
| 
 | ||||
| module.exports = { | ||||
|     token | ||||
| } | ||||
| @ -13,6 +13,7 @@ | ||||
|     "koa-session": "^5.0.0", | ||||
|     "koa-static": "^3.0.0", | ||||
|     "memcached": "^2.2.2", | ||||
|     "mongoose": "^4.10.4", | ||||
|     "mysql": "^2.13.0" | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -4,6 +4,7 @@ const router = new Router(); | ||||
| // import tools 
 | ||||
| const crypto = require('../../libs/crypto.js'); | ||||
| const so = require('../../libs/storeObject'); | ||||
| const mongo = require('../../libs/mongo_model.js'); | ||||
| 
 | ||||
| router | ||||
|     .post('/login', async(c, n) => { | ||||
| @ -28,12 +29,13 @@ router | ||||
|         } | ||||
| 
 | ||||
|         let u = c.body.record[0]; | ||||
|         let uuid = null; | ||||
|         while (true) { | ||||
|             uuid = crypto.random(10); | ||||
|             if (!so.chkKey(uuid)) { break; } | ||||
|         let token = new mongo.token({ object: u, expire: Date.now() }); | ||||
|         token.save(); | ||||
|         c.body.rt = { | ||||
|             token: { | ||||
|                 id: token._id | ||||
|             } | ||||
|         } | ||||
|         so.set(uuid, u); | ||||
|     }) | ||||
| 
 | ||||
| module.exports = router; | ||||
| @ -13,6 +13,12 @@ any-promise@^1.0.0, any-promise@^1.1.0: | ||||
|   version "1.3.0" | ||||
|   resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" | ||||
| 
 | ||||
| async@2.1.4: | ||||
|   version "2.1.4" | ||||
|   resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" | ||||
|   dependencies: | ||||
|     lodash "^4.14.0" | ||||
| 
 | ||||
| basic-auth@~1.1.0: | ||||
|   version "1.1.0" | ||||
|   resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.1.0.tgz#45221ee429f7ee1e5035be3f51533f1cdfd29884" | ||||
| @ -21,6 +27,18 @@ bignumber.js@3.1.2: | ||||
|   version "3.1.2" | ||||
|   resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-3.1.2.tgz#f3bdb99ad5268a15fc1f0bed2fb018e2693fe236" | ||||
| 
 | ||||
| bluebird@2.10.2: | ||||
|   version "2.10.2" | ||||
|   resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.10.2.tgz#024a5517295308857f14f91f1106fc3b555f446b" | ||||
| 
 | ||||
| bson@~1.0.4: | ||||
|   version "1.0.4" | ||||
|   resolved "https://registry.yarnpkg.com/bson/-/bson-1.0.4.tgz#93c10d39eaa5b58415cbc4052f3e53e562b0b72c" | ||||
| 
 | ||||
| buffer-shims@~1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" | ||||
| 
 | ||||
| bytes@2.4.0: | ||||
|   version "2.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" | ||||
| @ -95,6 +113,10 @@ error-inject@~1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37" | ||||
| 
 | ||||
| es6-promise@3.2.1: | ||||
|   version "3.2.1" | ||||
|   resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.2.1.tgz#ec56233868032909207170c39448e24449dd1fc4" | ||||
| 
 | ||||
| escape-html@~1.0.1: | ||||
|   version "1.0.3" | ||||
|   resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" | ||||
| @ -114,6 +136,10 @@ hashring@3.2.x: | ||||
|     connection-parse "0.0.x" | ||||
|     simple-lru-cache "0.0.x" | ||||
| 
 | ||||
| hooks-fixed@2.0.0: | ||||
|   version "2.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/hooks-fixed/-/hooks-fixed-2.0.0.tgz#a01d894d52ac7f6599bbb1f63dfc9c411df70cba" | ||||
| 
 | ||||
| http-assert@^1.1.0: | ||||
|   version "1.3.0" | ||||
|   resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.3.0.tgz#a31a5cf88c873ecbb5796907d4d6f132e8c01e4a" | ||||
| @ -158,12 +184,20 @@ isarray@0.0.1: | ||||
|   version "0.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" | ||||
| 
 | ||||
| isarray@~1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" | ||||
| 
 | ||||
| jackpot@>=0.0.6: | ||||
|   version "0.0.6" | ||||
|   resolved "https://registry.yarnpkg.com/jackpot/-/jackpot-0.0.6.tgz#3cff064285cbf66f4eab2593c90bce816a821849" | ||||
|   dependencies: | ||||
|     retry "0.6.0" | ||||
| 
 | ||||
| kareem@1.4.1: | ||||
|   version "1.4.1" | ||||
|   resolved "https://registry.yarnpkg.com/kareem/-/kareem-1.4.1.tgz#ed76200044fa041ef32b4da8261e2553f1173531" | ||||
| 
 | ||||
| kcors@2: | ||||
|   version "2.2.1" | ||||
|   resolved "https://registry.yarnpkg.com/kcors/-/kcors-2.2.1.tgz#7160a94f2eae633436d2cef8eadd0ce232386779" | ||||
| @ -265,6 +299,10 @@ koa@^2.2.0: | ||||
|     type-is "^1.5.5" | ||||
|     vary "^1.0.0" | ||||
| 
 | ||||
| lodash@^4.14.0: | ||||
|   version "4.17.4" | ||||
|   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" | ||||
| 
 | ||||
| media-typer@0.3.0: | ||||
|   version "0.3.0" | ||||
|   resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" | ||||
| @ -290,6 +328,38 @@ mime-types@^2.0.7, mime-types@~2.1.11, mime-types@~2.1.15: | ||||
|   dependencies: | ||||
|     mime-db "~1.27.0" | ||||
| 
 | ||||
| mongodb-core@2.1.11: | ||||
|   version "2.1.11" | ||||
|   resolved "https://registry.yarnpkg.com/mongodb-core/-/mongodb-core-2.1.11.tgz#1c38776ceb174997a99c28860eed9028da9b3e1a" | ||||
|   dependencies: | ||||
|     bson "~1.0.4" | ||||
|     require_optional "~1.0.0" | ||||
| 
 | ||||
| mongodb@2.2.27: | ||||
|   version "2.2.27" | ||||
|   resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-2.2.27.tgz#34122034db66d983bcf6ab5adb26a24a70fef6e6" | ||||
|   dependencies: | ||||
|     es6-promise "3.2.1" | ||||
|     mongodb-core "2.1.11" | ||||
|     readable-stream "2.2.7" | ||||
| 
 | ||||
| mongoose@^4.10.4: | ||||
|   version "4.10.4" | ||||
|   resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-4.10.4.tgz#b9a0a033725e5c29efd9eefb4687d1371956c7b6" | ||||
|   dependencies: | ||||
|     async "2.1.4" | ||||
|     bson "~1.0.4" | ||||
|     hooks-fixed "2.0.0" | ||||
|     kareem "1.4.1" | ||||
|     mongodb "2.2.27" | ||||
|     mpath "0.2.1" | ||||
|     mpromise "0.5.5" | ||||
|     mquery "2.3.1" | ||||
|     ms "2.0.0" | ||||
|     muri "1.2.1" | ||||
|     regexp-clone "0.0.1" | ||||
|     sliced "1.0.1" | ||||
| 
 | ||||
| morgan@^1.6.1: | ||||
|   version "1.8.2" | ||||
|   resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.8.2.tgz#784ac7734e4a453a9c6e6e8680a9329275c8b687" | ||||
| @ -300,10 +370,31 @@ morgan@^1.6.1: | ||||
|     on-finished "~2.3.0" | ||||
|     on-headers "~1.0.1" | ||||
| 
 | ||||
| mpath@0.2.1: | ||||
|   version "0.2.1" | ||||
|   resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.2.1.tgz#3a4e829359801de96309c27a6b2e102e89f9e96e" | ||||
| 
 | ||||
| mpromise@0.5.5: | ||||
|   version "0.5.5" | ||||
|   resolved "https://registry.yarnpkg.com/mpromise/-/mpromise-0.5.5.tgz#f5b24259d763acc2257b0a0c8c6d866fd51732e6" | ||||
| 
 | ||||
| mquery@2.3.1: | ||||
|   version "2.3.1" | ||||
|   resolved "https://registry.yarnpkg.com/mquery/-/mquery-2.3.1.tgz#9ab36749714800ff0bb53a681ce4bc4d5f07c87b" | ||||
|   dependencies: | ||||
|     bluebird "2.10.2" | ||||
|     debug "2.6.8" | ||||
|     regexp-clone "0.0.1" | ||||
|     sliced "0.0.5" | ||||
| 
 | ||||
| ms@2.0.0: | ||||
|   version "2.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" | ||||
| 
 | ||||
| muri@1.2.1: | ||||
|   version "1.2.1" | ||||
|   resolved "https://registry.yarnpkg.com/muri/-/muri-1.2.1.tgz#ec7ea5ce6ca6a523eb1ab35bacda5fa816c9aa3c" | ||||
| 
 | ||||
| mysql@^2.13.0: | ||||
|   version "2.13.0" | ||||
|   resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.13.0.tgz#998f1f8ca46e2e3dd7149ce982413653986aae47" | ||||
| @ -356,6 +447,10 @@ path-to-regexp@^1.1.1: | ||||
|   dependencies: | ||||
|     isarray "0.0.1" | ||||
| 
 | ||||
| process-nextick-args@~1.0.6: | ||||
|   version "1.0.7" | ||||
|   resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" | ||||
| 
 | ||||
| qs@^6.4.0: | ||||
|   version "6.4.0" | ||||
|   resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" | ||||
| @ -381,6 +476,33 @@ readable-stream@1.1.14: | ||||
|     isarray "0.0.1" | ||||
|     string_decoder "~0.10.x" | ||||
| 
 | ||||
| readable-stream@2.2.7: | ||||
|   version "2.2.7" | ||||
|   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.7.tgz#07057acbe2467b22042d36f98c5ad507054e95b1" | ||||
|   dependencies: | ||||
|     buffer-shims "~1.0.0" | ||||
|     core-util-is "~1.0.0" | ||||
|     inherits "~2.0.1" | ||||
|     isarray "~1.0.0" | ||||
|     process-nextick-args "~1.0.6" | ||||
|     string_decoder "~1.0.0" | ||||
|     util-deprecate "~1.0.1" | ||||
| 
 | ||||
| regexp-clone@0.0.1: | ||||
|   version "0.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-0.0.1.tgz#a7c2e09891fdbf38fbb10d376fb73003e68ac589" | ||||
| 
 | ||||
| require_optional@~1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/require_optional/-/require_optional-1.0.0.tgz#52a86137a849728eb60a55533617f8f914f59abf" | ||||
|   dependencies: | ||||
|     resolve-from "^2.0.0" | ||||
|     semver "^5.1.0" | ||||
| 
 | ||||
| resolve-from@^2.0.0: | ||||
|   version "2.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" | ||||
| 
 | ||||
| resolve-path@^1.3.1: | ||||
|   version "1.3.3" | ||||
|   resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.3.3.tgz#4d83aba6468c2b8e632a575e3f52b0fa0dbe1a5c" | ||||
| @ -392,6 +514,14 @@ retry@0.6.0: | ||||
|   version "0.6.0" | ||||
|   resolved "https://registry.yarnpkg.com/retry/-/retry-0.6.0.tgz#1c010713279a6fd1e8def28af0c3ff1871caa537" | ||||
| 
 | ||||
| safe-buffer@^5.0.1: | ||||
|   version "5.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" | ||||
| 
 | ||||
| semver@^5.1.0: | ||||
|   version "5.3.0" | ||||
|   resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" | ||||
| 
 | ||||
| setprototypeof@1.0.2: | ||||
|   version "1.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" | ||||
| @ -404,6 +534,14 @@ simple-lru-cache@0.0.x: | ||||
|   version "0.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz#d59cc3a193c1a5d0320f84ee732f6e4713e511dd" | ||||
| 
 | ||||
| sliced@0.0.5: | ||||
|   version "0.0.5" | ||||
|   resolved "https://registry.yarnpkg.com/sliced/-/sliced-0.0.5.tgz#5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f" | ||||
| 
 | ||||
| sliced@1.0.1: | ||||
|   version "1.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" | ||||
| 
 | ||||
| sqlstring@2.2.0: | ||||
|   version "2.2.0" | ||||
|   resolved "https://registry.yarnpkg.com/sqlstring/-/sqlstring-2.2.0.tgz#c3135c4ea8abcd7e7ee741a4966a891d86a4f191" | ||||
| @ -416,6 +554,12 @@ string_decoder@~0.10.x: | ||||
|   version "0.10.31" | ||||
|   resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" | ||||
| 
 | ||||
| string_decoder@~1.0.0: | ||||
|   version "1.0.1" | ||||
|   resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.1.tgz#62e200f039955a6810d8df0a33ffc0f013662d98" | ||||
|   dependencies: | ||||
|     safe-buffer "^5.0.1" | ||||
| 
 | ||||
| thenify-all@^1.0.0: | ||||
|   version "1.6.0" | ||||
|   resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" | ||||
| @ -445,6 +589,10 @@ unpipe@1.0.0: | ||||
|   version "1.0.0" | ||||
|   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" | ||||
| 
 | ||||
| util-deprecate@~1.0.1: | ||||
|   version "1.0.2" | ||||
|   resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" | ||||
| 
 | ||||
| vary@^1.0.0: | ||||
|   version "1.1.1" | ||||
|   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user