'use strict';

const repl = require('repl');
// const request = require('supertest');

// const app = require('./app');
const models = require('./models');

const context = repl.start('node> ').context;
context.models = models;
// context.server = request(app);
// server.post('/api/users')
//   .send({ username: 'Justyna', password: 'pass' })
//   .end((err, res) => console.log(res.body))

Object.keys(models).forEach((name) => { context[name] = models[name]; });


// assign promise result to variable
// > assign('user', User.find({ where: { username: 'JaneDoe' } }))
context.assign = (name, promise) => {
  promise.then((obj) => {
    if (obj) {
      obj.print = () => obj.dataValues;
      obj.keys = () => Object.keys(obj);
      obj.log = () => console.log(obj);
      context[name] = obj;
    }
  });
};


console.log(`Available models: ${Object.keys(models).join(', ')}`);

debugger;