This repository has been archived on 2024-12-15. You can view files and clone it, but cannot push or open issues or pull requests.
seepur/app/Controllers/Http/AdminApiController.js

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