var vogels = require('vogels'), Joi = require('joi') var User = vogels.define('User', { hashKey : 'email', timestamps: true, tableName : 'ConappsUsers', schema : { ID : vogels.types.uuid(), email : Joi.string().email(), passwordHash: Joi.string(), passwordSalt: Joi.string(), permissions : Joi.array(), username : Joi.string(), verified : Joi.boolean().default(true), verifyToken: Joi.string() }, indexes: [ { hashKey: 'ID', name: 'ID-index', type: 'global' } ] }) module.exports = User
var NODE_ENV = process.env.NODE_ENV || "development"; //Setting connection to dynamodb and load specific configuration var vogels = require('vogels'); var Joi = require('joi'); var dynamoDbConf = require('./../../dynamodb.json'); vogels.AWS.config.update(dynamoDbConf[NODE_ENV]); var User = vogels.define('User', { hashKey : 'userId', rangeKey : 'email', // add the timestamp attributes (updatedAt, createdAt) timestamps : true, schema : { userId : vogels.types.uuid(), email : Joi.string().email(), password: Joi.string(), name : Joi.string(), age : Joi.number(), roles : vogels.types.stringSet(), settings : { nickname : Joi.string(), acceptedTerms : Joi.boolean().default(false) } } }); module.exports = User;
// globally use custom DynamoDB instance // all defined models will now use this driver vogels.dynamoDriver(dynamo); var _ = require('lodash'); var util = require('util'); var Joi = require('joi'); var Account = vogels.define('Foobar', { hashKey : 'email', schema : { email : Joi.string(), name : Joi.string(), age : Joi.number(), scores : vogels.types.numberSet(), created : Joi.date().default(Date.now, 'yay'), list : Joi.array(), settings : { nickname : Joi.string(), luckyNumber : Joi.number().min(1).default(7) } } }); var printAccountInfo = function (err, acc) { if(err) { console.log('got error', err); } else if (acc) { console.log('got account', acc.get()); } else {