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…
Reference in New Issue
Block a user