Slide 44
Slide 44 text
Ϟσϧྫ
export default class Username extends ValueObject {
static validators = [
maxLength(MAX_LENGTH),
format(FORMAT),
notNumbersOnly()
];
}
export default class Password extends ValueObject {
static validators = [
maxLength(MAX_LENGTH),
minLength(MIN_LENGTH),
format(FORMAT),
multipleKindChars({
kinds: [REGEX_NUMBER, REGEX_ALPHABET, REGEX_SYMBOL],
min: 2
})
];
}
export default class AuthService {
provider: IAuthServiceProvider;
accessTokenRepository: IAccessTokenRepository;
async login(params: {password: Password, username: Username}): Promise<{accessTokenId: Token}> {
const token = await this.provider.login(params);
await this.accessTokenRepository.save(token);
return {accessTokenId: token.getId()};
}
}