Skip to content

Commit

Permalink
incorporated DB, starting to layout svcs
Browse files Browse the repository at this point in the history
  • Loading branch information
ignacionr committed Aug 27, 2016
1 parent fda2554 commit 1aeabf5
Show file tree
Hide file tree
Showing 16 changed files with 442 additions and 8 deletions.
18 changes: 14 additions & 4 deletions dist/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@
"use strict";
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
const express = require("express");
const bodyParser = require("body-parser");
const Device = require("./services/device");
const User = require("./services/user");
const Session = require("./services/session");
let app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var port = process.env.PORT || 8080;
var switch_status = true;
let switch_status = true;
let user_service = new User.Service();
let session_service = new Session.Service();
let device_service = new Device.Service();
var router = express.Router();
router.post("/signup", (req, res) => {
let user = { username: req.body.username, password: req.body.password };
user_service.signup(user).then(() => res.json(true)).catch(() => res.json(false));
});
router.post('/login', function (req, res) {
res.json({ token: 'youmadeit' });
});
Expand Down
5 changes: 5 additions & 0 deletions dist/services/device.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"use strict";
class Service {
}
exports.Service = Service;
;
5 changes: 5 additions & 0 deletions dist/services/session.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"use strict";
class Service {
}
exports.Service = Service;
;
35 changes: 35 additions & 0 deletions dist/services/user.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
"use strict";
const Datastore = require("nedb");
class Model {
}
exports.Model = Model;
;
class Service {
constructor() {
this.db = new Datastore({ filename: "./users.db", autoload: true });
}
signup(user) {
return new Promise((resolve, reject) => this.db.insert(user, (err, document) => {
if (err) {
return reject(err);
}
return resolve();
}));
}
;
login(username, password) {
return new Promise((resolve, reject) => this.db.findOne({
username: username, password: password
}, (err, document) => {
if (err) {
return reject(err);
}
else {
return resolve(document);
}
}));
}
;
}
exports.Service = Service;
;
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
"homepage": "https://github.com/smartbnbkit/backend#readme",
"dependencies": {
"body-parser": "^1.15.2",
"express": "^4.14.0"
"express": "^4.14.0",
"nedb": "^1.8.0"
},
"devDependencies": {
"gulp": "^3.9.1",
Expand Down
14 changes: 13 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
import express = require("express");
import bodyParser = require("body-parser");

import * as Device from "./services/device";
import * as User from "./services/user";
import * as Session from "./services/session";

let app = express();

app.use(bodyParser.urlencoded({ extended: true }));
Expand All @@ -12,9 +16,17 @@ var port = process.env.PORT || 8080;

let switch_status = true;

let user_service = new User.Service();
let session_service = new Session.Service();
let device_service = new Device.Service();

var router = express.Router();
router.post("/signup", (req,res) => {
let user: User.Model = { username: req.body.username, password: req.body.password };
user_service.signup(user).then(() => res.json(true)).catch(() => res.json(false));
});
router.post('/login', function(req, res) {
res.json({ token: 'youmadeit' });
res.json({ token: 'youmadeit' });
});
router.get('/switch', function(req, res) {
res.json({ status: switch_status });
Expand Down
3 changes: 3 additions & 0 deletions src/services/device.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export class Service {

};
3 changes: 3 additions & 0 deletions src/services/session.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export class Service {

};
33 changes: 33 additions & 0 deletions src/services/user.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import Datastore = require("nedb");

export class Model {
username: string;
password: string;
};

export class Service {
db: Datastore;
constructor() {
this.db = new Datastore({filename: "./users.db", autoload: true});
}
signup(user: Model): Promise<any> {
return new Promise((resolve,reject) => this.db.insert(user, (err,document) => {
if (err) {
return reject(err);
}
return resolve();
}));
};
login(username: string, password: string): Promise<Model> {
return new Promise<Model>((resolve,reject) => this.db.findOne({
username: username, password: password
}, (err,document) => {
if (err) {
return reject(err);
}
else {
return resolve(document as Model);
}
}));
};
};
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"target": "es6",
"noImplicitAny": false,
"sourceMap": false
},
Expand Down
7 changes: 6 additions & 1 deletion typings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
{
"name": "smartbnbkit-backend",
"dependencies": {}
"dependencies": {
"es6-promise": "registry:npm/es6-promise#3.0.0+20160723033700"
},
"globalDependencies": {
"nedb": "registry:dt/nedb#0.0.0+20160505185910"
}
}
Loading

0 comments on commit 1aeabf5

Please sign in to comment.