feat: Implement api/v1/users API endpoint
This commit is contained in:
18
packages/backend/src/controllers/api/v1/users/get-users.js
Normal file
18
packages/backend/src/controllers/api/v1/users/get-users.js
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
import { renderObject } from '../../../../helpers/renderer.js';
|
||||||
|
import User from '../../../../models/user.js';
|
||||||
|
import paginateRest from '../../../../helpers/pagination-rest.js';
|
||||||
|
|
||||||
|
export default async (request, response) => {
|
||||||
|
const usersQuery = User.query()
|
||||||
|
.leftJoinRelated({
|
||||||
|
role: true,
|
||||||
|
})
|
||||||
|
.withGraphFetched({
|
||||||
|
role: true,
|
||||||
|
})
|
||||||
|
.orderBy('full_name', 'asc');
|
||||||
|
|
||||||
|
const users = await paginateRest(usersQuery, request.query.page);
|
||||||
|
|
||||||
|
renderObject(response, users);
|
||||||
|
};
|
@@ -3,9 +3,11 @@ import { authenticateUser } from '../../../helpers/authentication.js';
|
|||||||
import { authorizeUser } from '../../../helpers/authorization.js';
|
import { authorizeUser } from '../../../helpers/authorization.js';
|
||||||
import getCurrentUserAction from '../../../controllers/api/v1/users/get-current-user.js';
|
import getCurrentUserAction from '../../../controllers/api/v1/users/get-current-user.js';
|
||||||
import getUserAction from '../../../controllers/api/v1/users/get-user.js';
|
import getUserAction from '../../../controllers/api/v1/users/get-user.js';
|
||||||
|
import getUsersAction from '../../../controllers/api/v1/users/get-users.js';
|
||||||
|
|
||||||
const router = Router();
|
const router = Router();
|
||||||
|
|
||||||
|
router.get('/', authenticateUser, authorizeUser, getUsersAction);
|
||||||
router.get('/me', authenticateUser, getCurrentUserAction);
|
router.get('/me', authenticateUser, getCurrentUserAction);
|
||||||
router.get('/:userId', authenticateUser, authorizeUser, getUserAction);
|
router.get('/:userId', authenticateUser, authorizeUser, getUserAction);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user