Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import { IUserService, IUserUsecase } from '@INTERFACE/user/application'; import { IUserAggregate } from '@INTERFACE/user/domain'; import { Inject, Injectable } from '@nestjs/common'; import { UserAggregate } from '@USER/domain'; @Injectable() export class UserUsecase implements IUserUsecase { constructor( @Inject(IUserService) private readonly userService: IUserService, ) {} async me(profile: IUserAggregate.Profile): Promise<IUserAggregate.Public> { return UserAggregate.getPublic(await this.userService.findOne(profile)); } async setRole( profile: IUserAggregate.Profile, { role }: Pick<IUserAggregate.State, 'role'>, ): Promise<void> { const user = await this.userService.findOne(profile); await this.userService.save(UserAggregate.setRole(user, role)); return; } remove({ id }: IUserAggregate.Profile): Promise<void> { return this.userService.remove({ id }); } } |