'use strict' const User = use('App/Models/User'); const Child = use('App/Models/Child'); const Link = use('App/Models/Link'); const IceServer = use('App/Models/IceServer'); const EmailUtils = use('App/Utils/EmailUtils'); const UserChildUtils = use('App/Utils/UserChildUtils'); class AdminApiController { async getUsers({ response }) { const users = await User.all(); // console.log(typeof users); // return users.rows.map(u => { // return u.publicJSON(); // }); return users; } async deleteUser({ request, response }) { const { id } = request.params const user = await User.find(id) let userLinks = await user.links().fetch(); //my links const links = userLinks.rows; //children and children links const childrenLinks = links.filter(l => l.is_parent) for (const link of childrenLinks) { await UserChildUtils.deleteChild(link.child_id) } const promises = [...links.map(l => (l.delete())), user.delete()]; return await Promise.all(promises); } async addStunServer({ request, response }) {} async addTurnServer({ request, response }) {} async testEmailSettings({ auth, response }) { try { if (EmailUtils.sendTestEmail(auth.user)) { return { code: 0, data: {} } } return { code: 500, message: 'Something went wrong' } } catch (e) { response.code(500); return { code: 500, message: e.message } } } } module.exports = AdminApiController