This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

@@ -4,10 +4,10 @@ var path = require('path'),
module.exports = {
root: rootPath,
port: process.env.PORT || 3000,
modelsDir: rootPath + '/app/models',
viewsDir: rootPath + '/app/views',
controllersDir: rootPath + '/app/controllers',
routesDir: rootPath + '/app/routes',
publicDir: rootPath + '/public',
middlewaresDir: rootPath + '/config/middlewares'
models: rootPath + '/app/models',
views: rootPath + '/app/views',
controllers: rootPath + '/app/controllers',
middlewares: rootPath + '/config/middlewares',
routes: rootPath + '/app/routes',
public: rootPath + '/public'
};
@@ -3,7 +3,10 @@ module.exports = {
name: "am",
username: "root",
password: process.env.DB_PASSWORD,
dialect: "mysql"
options: {
dialect: "mysql",
timezone: '-05:00'
}
},
app: {
name: "Arte Manifiesto"
@@ -11,20 +11,13 @@ var flash = require('connect-flash');
var multer = require('multer');
var swig = require('swig');

/**
* Load configuration
* ====================================================
*/
var config = require('./config');
var middlewares = require(config.middlewaresDir + "/app");

module.exports = function (app, passport) {
/**
* View engine setup
* ====================================================
*/
app.engine('html', swig.renderFile);
app.set('views', config.viewsDir);
app.set('views', global.cf.views);
app.set('view engine', 'html');
app.set('view cache', false);

@@ -36,11 +29,15 @@ module.exports = function (app, passport) {
*/
app.use(morgan('dev'));
app.use(cookieParser('luelennuckyinleDfOfkugGEsErLQQDcS'));
app.use(expressSession({secret: 'o/g8Ffy=]Nw(J624m7)c2;)/;EJy^6448', resave: false, saveUninitialized: false}));
app.use(expressSession({
secret: '123',
resave: false,
saveUninitialized: false
}));
app.use(flash());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(express.static(config.publicDir));
app.use(express.static(global.cf.public));

app.use(multer({
dest: './public/uploads/',
@@ -49,7 +46,6 @@ module.exports = function (app, passport) {
}
}));


/**
* Passport initialize
* ====================================================
@@ -67,6 +63,6 @@ module.exports = function (app, passport) {
next();
});

app.use(middlewares.check);
app.use(global.md.check);

};
@@ -143,9 +143,15 @@ exports.checkFillData = function (req, res, next) {
};

exports.check = function (req, res, next) {
if (!req.user)
var excepts = [
'/auth/logout',
'/auth/verify',
'/auth/forward'
];

if (!req.user || excepts.indexOf(req.url) > -1)
return next();

if (!req.user.verified)
return res.render('pages/confirm-email');

@@ -14,7 +14,6 @@ passport.serializeUser(function (user, done) {
* Deserialize user data
*/
passport.deserializeUser(function (id, done) {
var query = {attributes: ['id', 'photo', 'firstname']};
global.db.User.findById(id).then(function (user) {
done(null, user);
})
Empty file.

This file was deleted.

@@ -1,21 +1,16 @@
var express = require('express');

/**
* Load general configuration
* ====================================================
*/
var config = require('./config');

/**
* Load routers
* ====================================================
*/
var pagesRouter = require(config.routesDir + '/pages');
var authRouter = require(config.routesDir + '/auth');
var adminRouter = require(config.routesDir + '/admin');
var checkoutRouter = require(config.routesDir + '/checkout');
var userRouter = require(config.routesDir + '/user');
var middlewares = require(config.middlewaresDir + '/app');

console.log(global.cf);
var pagesRouter = require(global.cf.routes + '/pages');
var authRouter = require(global.cf.routes + '/auth');
var adminRouter = require(global.cf.routes + '/admin');
var checkoutRouter = require(global.cf.routes + '/checkout');
var userRouter = require(global.cf.routes + '/user');

/**
* Setup routers
@@ -25,6 +20,6 @@ exports.init = function (app) {
app.use('/', pagesRouter);
app.use('/auth', authRouter);
app.use('/admin', adminRouter);
app.use('/checkout', middlewares.isLogged, checkoutRouter);
app.use('/checkout', global.md.isLogged, checkoutRouter);
app.use('/:username', userRouter);
};
@@ -0,0 +1,77 @@
var Chance = require('chance');
var chance = new Chance();
var _ = require('lodash');

exports.start = function () {
var seeds = [
seedCategory(),
seedTag(20),
seedProductType()
];
return global.db.Sequelize.Promise.all(seeds).then(function () {
return seedUser(10);
});
};


var seedCategory = function () {
var categories = [
{name: 'Arte Urbano'}, {name: 'Collage'}, {name: 'Dibujo'},
{name: 'Fotografía'}, {name: 'Grabado'}, {name: 'Ilustración'},
{name: 'Instalación'}, {name: 'Pintura'}, {name: 'Técnica Mixta'},
{name: 'Digital'}, {name: 'Escultura'}
];
return global.db.Category.bulkCreate(categories);
};

var seedTag = function (numOfTags) {
var i, tagsData = [];
for (i = 0; i < numOfTags; i++)
tagsData.push({name: chance.word()});
return global.db.Tag.bulkCreate(tagsData);
};

var seedProductType = function () {
var productsType = [
{name: 'Prints'}, {name: 'Tazas'}, {name: 'Polos'},
{name: 'Carteras'}, {name: 'Gorras'}, {name: 'Tatuajes'}
];
return global.db.ProductType.bulkCreate(productsType);
};

var seedUser = function (numOfUsers) {
var i, username, email, promises = [];
for (i = 0; i < numOfUsers; i++) {
if (i == 0) {
username = 'juliocanares';
email = 'juliocanares@gmail.com';
} else if (i == 1) {
username = 'hanshavin';
email = 'hansevangelista@gmail.com';
} else if (i == 2) {
username = 'artjam';
email = 'artjam@gmail.com';
}
else {
username = chance.hashtag().replace('#', '');
email = chance.email();
}

promises.push(global.db.User.create({
username: username,
email: email,
firstname: chance.name(),
lastname: chance.last(),
gender: chance.gender(),
photo: '/img/artists/artist' + _.random(1, 4) + '.jpg',
isArtist: true,
city: chance.city(),
country: chance.country(),
school: chance.name(),
bigraphy: chance.paragraph({sentences: 1}),
isAdmin: _.sample([true, false])
}));
}

return global.db.Sequelize.Promise.all(promises);
};
@@ -2,10 +2,10 @@
* Load dependencies
* ====================================================
*/
var Sequelize = require('sequelize');

var fs = require('fs');
var path = require('path');
var Sequelize = require('sequelize');
var config = require('./config');
var _ = require('lodash');

/**
@@ -14,31 +14,27 @@ var _ = require('lodash');
*/
var sequelize;
if (process.env.NODE_ENV == 'production') {
sequelize = new Sequelize('heroku_082ce63f99d3d82', 'be72f71bb5432f', '520f5767', {
dialect: 'mysql',
protocol: 'mysql',
port: '3306',
host: 'us-cdbr-iron-east-02.cleardb.net',
timezone: '-05:00'
});
//TODO setup database for production
} else {
sequelize = new Sequelize(config.db.name, config.db.username, config.db.password, {
dialect: config.db.dialect,
timezone: '-05:00'
});
sequelize = new Sequelize(
global.cf.db.name,
global.cf.db.username,
global.cf.db.password,
global.cf.db.options
);
}

/**
* Load all files in models folder
* ====================================================
*/
var db = {};
fs.readdirSync(config.modelsDir)
fs.readdirSync(global.cf.models)
.filter(function (file) {
return (file.indexOf('.') !== 0) && (file !== 'index.js')
})
.forEach(function (file) {
var model = sequelize.import(path.join(config.modelsDir, file));
var model = sequelize.import(path.join(global.cf.models, file));
db[model.name] = model;
});

@@ -2,6 +2,20 @@ var moment = require('moment');
var email = require('../app/controllers/email');
var _ = require('lodash');


global.fbPermissions = [
'email', 'user_about_me',
'user_birthday', 'user_friends',
'user_website'
];

global.lift = function(app){
var server = app.listen(app.get('port'), function () {
var url = 'http://127.0.0.1:' + server.address().port + '/auth/login';
console.log('Express server listening on ' + url);
});
};

global.config = {
search: {
entities: ['works', 'users', 'products'],
@@ -161,6 +175,7 @@ global.emails = {
}
};


global.getPaginationEntity = function (options, query) {
var pages = global.getPagination(options.page, options.limit);
query = _.assign(query, {offset: pages.offset, limit: pages.limit});
@@ -201,8 +216,8 @@ global.objectToParameters = function (element) {
return Object.keys(element).map(function (key) {
return key + '=' + element[key];
}).join('&');
}
};

global.replaceAt = function (text, index, character) {
return text.substr(0, index) + character + text.substr(index + character.length);
}
};