Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const knex = require('knex')({
- client: 'mysql',
- connection: {
- host: process.env.database_host,
- user: process.env.database_user,
- password: process.env.database_pass,
- database: process.env.database_db,
- charset: 'utf8'
- }
- });
- const bcrypt = require('bcrypt');
- const bookshelf = require('bookshelf')(knex);
- const User = bookshelf.Model.extend({
- tableName: 'users'
- });
- const checkValues = (values) => {
- // todo: add data validation
- return true;
- };
- exports.test = (database) => {
- // todo: add tests
- };
- exports.handler = (event, context, callback) => {
- let salt = bcrypt.genSaltSync();
- let values = {
- first_name: event.firstname,
- last_name: event.lastname,
- username: event.username,
- date_of_birth: event.birthday,
- password: bcrypt.hashSync(event.password, salt),
- password_salt: salt
- };
- if (!checkValues(values)) {
- callback(null, {
- success: false,
- error: {
- id: 2,
- details: 'data validation error'
- }
- });
- context.done(null, "User not created");
- return;
- }
- try {
- new User({
- 'first_name': values.first_name,
- 'last_name': values.last_name,
- 'username': values.username,
- 'date_of_birth': values.date_of_birth,
- 'password': values.password,
- 'password_salt': values.password_salt
- }).save();
- callback(null, {
- success: true
- });
- context.done(null, "User created");
- } catch (err) {
- console.log(err);
- callback(null, {
- success: false,
- error: {
- id: 1,
- details: 'error inserting user into database'
- }
- });
- context.done(null, "User not created");
- }
- };
- {
- "errorMessage": "2017-09-07T08:38:50.174Z f2368466-93a7-11e7-b4bc-01142a109ede Task timed out after 10.00 seconds"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement