@@ -1,7 +1,7 @@
 | 
			
		||||
import { Authorized, Body, Delete, Get, JsonController, OnUndefined, Param, Post, Put, QueryParam } from 'routing-controllers';
 | 
			
		||||
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
 | 
			
		||||
import { getConnectionManager, Repository } from 'typeorm';
 | 
			
		||||
import { PasswordMustContainLowercaseLetterError, PasswordMustContainNumberError, PasswordMustContainUppercaseLetterError, PasswordTooShortError, UserDeletionNotConfirmedError, UserIdsNotMatchingError, UsernameContainsIllegalCharacterError, UserNotFoundError } from '../errors/UserErrors';
 | 
			
		||||
import { Repository, getConnectionManager } from 'typeorm';
 | 
			
		||||
import { PasswordMustContainLowercaseLetterError, PasswordMustContainNumberError, PasswordMustContainUppercaseLetterError, PasswordTooShortError, UserDeletionNotConfirmedError, UserIdsNotMatchingError, UserNotFoundError, UsernameContainsIllegalCharacterError } from '../errors/UserErrors';
 | 
			
		||||
import { UserGroupNotFoundError } from '../errors/UserGroupErrors';
 | 
			
		||||
import { CreateUser } from '../models/actions/create/CreateUser';
 | 
			
		||||
import { UpdateUser } from '../models/actions/update/UpdateUser';
 | 
			
		||||
@@ -28,9 +28,17 @@ export class UserController {
 | 
			
		||||
	@Authorized("USER:GET")
 | 
			
		||||
	@ResponseSchema(ResponseUser, { isArray: true })
 | 
			
		||||
	@OpenAPI({ description: 'Lists all users. <br> This includes their groups and permissions granted to them.' })
 | 
			
		||||
	async getAll() {
 | 
			
		||||
	async getAll(@QueryParam("page", { required: false }) page: number, @QueryParam("page_size", { required: false }) page_size: number = 100) {
 | 
			
		||||
		let responseUsers: ResponseUser[] = new Array<ResponseUser>();
 | 
			
		||||
		const users = await this.userRepository.find({ relations: ['permissions', 'groups', 'groups.permissions'] });
 | 
			
		||||
		let users: Array<User>;
 | 
			
		||||
 | 
			
		||||
		if (page) {
 | 
			
		||||
			users = await this.userRepository.find({ relations: ['permissions', 'groups', 'groups.permissions'], skip: page * page_size, take: page_size });
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			users = await this.userRepository.find({ relations: ['permissions', 'groups', 'groups.permissions'] });
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		users.forEach(user => {
 | 
			
		||||
			responseUsers.push(new ResponseUser(user));
 | 
			
		||||
		});
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user