You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Global-sales/wai-server/api/messages/message.controller.js

55 lines
1.2 KiB
JavaScript

'use strict';
const generateId = require('../../utils/generateId.util');
/**
* Mock database, replace this with your db models import, required to perform query to your database.
*/
const db = {
users: [
{
id: 'bff28903-042e-47c2-b9ee-07c3954989ec',
name: 'Marco',
created_at: 1558536830937,
},
{
id: 'dca01a32-36e6-4886-af75-8e7caa0162a9',
name: 'Leonardo',
created_at: 1558536843742,
},
{
id: 'dca01a32-36e6-4886-af75-8e7caa0162a9',
name: 'Berta',
created_at: 1558536863550,
},
],
};
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
exports.getOne = async ctx => {
const { id } = ctx.params;
const user = db.users.find(user => user.id === id);
await sleep(500);
ctx.assert(user, 404, "The requested user doesn't exist");
return user;
};
exports.getAll = async ctx => {
return db.users;
};
exports.createOne = async ctx => {
const { name } = ctx.request.body;
ctx.assert(name, 400, 'The user info is malformed!');
const id = generateId();
const newUser = {
id,
name,
timestamp: Date.now(),
};
db.users.push(newUser);
const createdUser = db.users.find(user => user.id === id);
return createdUser;
};