Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var bodyParser = require('body-parser');
- var multer = require('multer');
- var mongojs = require('mongojs');
- var crypto = require('crypto');
- var request = require('request');
- var connectionstring = "mongodb://127.0.0.1:27017/trendieapps";
- var db = mongojs(connectionstring);
- db.on('error', function (err) {
- console.log('database error', err)
- });
- db.on('connect', function () {
- console.log('database connected')
- });
- var campaigns = db.collection('campaigns');
- var users = db.collection('users');
- var mimes = {
- 'image/jpeg': 'jpg',
- 'image/png': 'png',
- 'image/gif': 'gif'
- };
- var storage = multer.diskStorage({
- destination: function (req, file, callback) {
- callback(null, './uploads');
- },
- filename: function (req, file, callback) {
- callback(null, file.fieldname + '-' + Date.now() + '.' + mimes[file.mimetype]);
- }
- });
- var upload = multer({
- storage: storage
- });
- var app = express()
- app.use(bodyParser.json());
- app.use(express.static('uploads'));
- app.use(bodyParser.urlencoded({
- extended: true
- }));
- app.post('/campaign/create', upload.single('file'), function (req, res, next) {
- var params = req.body;
- var cname = params.cname;
- var companyid = params.cid;
- var offer = params.offerdet;
- var details = params.detail;
- var filename = req.file.filename;
- var campaign = {
- companyname: req.body.cname,
- companyid: req.body.cid,
- offerpercent: req.body.offerdet,
- details: req.body.detail,
- url: filename
- };
- campaigns.save(campaign, function (err, doc) {
- if (!err) {
- res.json({
- stat: '1',
- url: '/' + filename,
- id: doc._id
- });
- return next();
- } else {
- res.json({
- stat: '0'
- });
- return next();
- }
- });
- });
- app.get('/campaigns', function (req, res, next) {
- campaigns.find(function (err, docs) {
- if (err) {
- res.json({
- stat: '0'
- });
- return next()
- } else {
- res.json(docs);
- return next()
- }
- })
- });
- app.get('/campaign/get/:id', function (req, res, next) {
- console.log(req.params.id);
- campaigns.findOne({
- _id: mongojs.ObjectId(req.params.id)
- }, function (err, doc) {
- if (err && !doc) {
- res.json({
- stat: '0'
- });
- return next();
- } else {
- res.json(doc);
- return next();
- }
- });
- });
- app.post('/user/create', function (req, res, next) {
- var username = req.body.username;
- var password = req.body.password;
- var phone = req.body.phone;
- var buf = crypto.randomBytes(2);
- var otp = buf.toString('hex').toUpperCase();
- var user = {
- username: username,
- password: password,
- phone: phone,
- otp: otp,
- verified: false,
- _id: phone
- };
- users.save(user, function (err, doc) {
- if (!err) {
- request('http://login.smsgatewayhub.com/api/mt/SendSMS?APIKey=f2ebe631-67a2-41a2-a94c-043d1ad651bf&senderid=WEBSMS&channel=2&DCS=0&flashsms=0&number=91' + phone + '&text=Dear ' + username + ', Your OTP for Trendieapp is ' + otp + '.&route=1');
- res.json({
- stat: 1,
- id: doc._id
- });
- next();
- } else {
- res.json({
- stat: 0,
- error: err.errmsg
- });
- next();
- }
- });
- });
- app.get('/user/verify/:phone/:otp', function (req, res, next) {
- var phone = req.params.phone;
- var otp = req.params.otp;
- users.findOne({
- _id: phone,
- otp: otp
- }, function (err, doc) {
- if (!err && doc) {
- doc.verified = true;
- users.save(doc);
- res.json({
- verified: 1,
- message: 'Account Verified'
- });
- } else {
- res.json({
- verified: 0,
- message: 'Account verification error',
- error: err
- });
- }
- next();
- });
- });
- app.get('/user/login/:phone/:password', function (req, res, next) {
- var phone = req.params.phone;
- var password = req.params.password;
- users.findOne({
- _id: phone,
- password: password
- }, function (err, doc) {
- if (!err && doc) {
- if (doc.verified == true) {
- res.json({
- stat: 1,
- id: doc._id,
- username: doc.username
- });
- } else {
- res.json({
- stat: 2,
- id: doc._id,
- username: doc.username
- });
- }
- } else {
- res.json({
- stat: 0,
- error: err.errmsg
- });
- }
- next();
- });
- });
- app.listen(4000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement