From d31c2c6c0f82110bd3e6f03432a9e811df727e7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Santanch=C3=A8?= Date: Mon, 31 Jan 2022 09:59:14 -0300 Subject: [PATCH] feat (terms): access to terms of a group --- .../app/Controllers/Http/v1/TermController.js | 27 ++++++++++++++++++- src/adonisjs/start/routes.js | 1 + 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/adonisjs/app/Controllers/Http/v1/TermController.js b/src/adonisjs/app/Controllers/Http/v1/TermController.js index e6977e3..4e9e14b 100644 --- a/src/adonisjs/app/Controllers/Http/v1/TermController.js +++ b/src/adonisjs/app/Controllers/Http/v1/TermController.js @@ -71,7 +71,7 @@ class TermController { /** * Display a link between a term and a user. - * GET term/user/:id + * GET term/user * * @param {object} ctx * @param {Request} ctx.request @@ -94,6 +94,31 @@ class TermController { return response.status(e.status).json({ message: e.message }) } } + + /** + * List all term and users. + * GET term/users + * + * @param {object} ctx + * @param {Request} ctx.request + * @param {Response} ctx.response + * @param {View} ctx.view + */ + async listTermUsers ({ params, request, response, view }) { + try { + const uterm = await Database + .select('*') + .from('users_terms') + .where('term_id', request.input('termId')) + if (uterm != null) + return response.json(uterm) + else + return response.status(500).json('user not found') + } catch (e) { + console.log(e) + return response.status(e.status).json({ message: e.message }) + } + } } module.exports = TermController diff --git a/src/adonisjs/start/routes.js b/src/adonisjs/start/routes.js index 2ca6b4f..593a411 100644 --- a/src/adonisjs/start/routes.js +++ b/src/adonisjs/start/routes.js @@ -215,6 +215,7 @@ Route.group(() => { Route.post( '', 'v1/TermController.store').middleware('auth') Route.post( 'link/user', 'v1/TermController.linkUser') Route.get( 'user', 'v1/TermController.showTermUser') + Route.get( 'users', 'v1/TermController.listTermUsers').middleware(['auth', 'is:admin']) }).prefix('/api/v1/term') /*