This commit is contained in:
Gsk54
2022-12-14 15:08:01 +01:00
parent ed09ceea15
commit c6d8a50fd6
9 changed files with 99 additions and 21 deletions

View File

@@ -21,10 +21,14 @@ message User {
string email = 4;
}
message UserFilter {}
message UserFilter {
optional int32 page = 1;
optional int32 perPage = 2;
}
message Users {
repeated User users = 1;
repeated User data = 1;
int32 total = 2;
}
message Empty {}

View File

@@ -8,11 +8,14 @@ import { CreateUserCommand } from '../../commands/create-user.command';
import { DeleteUserCommand } from '../../commands/delete-user.command';
import { UpdateUserCommand } from '../../commands/update-user.command';
import { CreateUserRequest } from '../../domain/dto/create-user.request';
import { FindAllUsersRequest } from '../../domain/dto/find-all-users.request';
import { FindUserByUuidRequest } from '../../domain/dto/find-user-by-uuid.request';
import { UpdateUserRequest } from '../../domain/dto/update-user.request';
import { User } from '../../domain/entities/user';
import { FindAllUsersQuery } from '../../queries/find-all-users.query';
import { FindUserByUuidQuery } from '../../queries/find-user-by-uuid.query';
import { UserPresenter } from './user.presenter';
import { ICollection } from '../../../database/src/interfaces/collection.interface';
@Controller()
export class UsersController {
@@ -22,6 +25,19 @@ export class UsersController {
@InjectMapper() private readonly _mapper: Mapper,
) {}
@GrpcMethod('UsersService', 'FindAll')
async findAll(data: FindAllUsersRequest): Promise<ICollection<User>> {
const userCollection = await this._queryBus.execute(
new FindAllUsersQuery(data),
);
return Promise.resolve({
data: userCollection.data.map((user: User) =>
this._mapper.map(user, User, UserPresenter),
),
total: userCollection.total,
});
}
@GrpcMethod('UsersService', 'FindOneByUuid')
async findOneByUuid(data: FindUserByUuidRequest): Promise<UserPresenter> {
const user = await this._queryBus.execute(