65 lines
No EOL
1.7 KiB
JavaScript
65 lines
No EOL
1.7 KiB
JavaScript
'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 |