Merge branch 'fixBcrypt' into 'main'

Fix bcrypt

See merge request v3/service/auth!52
This commit is contained in:
Sylvain Briat 2023-10-17 15:11:06 +00:00
commit 72f2333508
7 changed files with 937 additions and 1775 deletions

View File

@ -11,5 +11,5 @@ MESSAGE_BROKER_URI=amqp://v3-broker:5672
MESSAGE_BROKER_EXCHANGE=mobicoop
# OPA
OPA_IMAGE=openpolicyagent/opa:0.54.0
OPA_IMAGE=openpolicyagent/opa:0.57.0
OPA_URL=http://v3-auth-opa:8181/v1/data/

2674
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "@mobicoop/auth",
"version": "0.6.0",
"version": "0.6.1",
"description": "Mobicoop V3 Auth Service",
"author": "sbriat",
"private": true,
@ -47,7 +47,7 @@
"@nestjs/terminus": "^10.1.1",
"@prisma/client": "^5.4.2",
"axios": "^1.5.1",
"bcrypt": "^5.1.1",
"bcrypt": "5.1.0",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.0",
"reflect-metadata": "^0.1.13",

View File

@ -31,12 +31,14 @@ export class AuthenticationMapper
const record: AuthenticationWriteModel = {
uuid: copy.id,
password: copy.password,
usernames: {
create: copy.usernames.map((username: UsernameProps) => ({
username: username.name,
type: username.type,
})),
},
usernames: copy.usernames
? {
create: copy.usernames.map((username: UsernameProps) => ({
username: username.name,
type: username.type,
})),
}
: undefined,
};
return record;
};

View File

@ -13,7 +13,6 @@ import {
AuthenticationAlreadyExistsException,
UsernameAlreadyExistsException,
} from '@modules/authentication/core/domain/authentication.errors';
import { Username } from '../../types/username';
@CommandHandler(CreateAuthenticationCommand)
export class CreateAuthenticationService implements ICommandHandler {
@ -27,11 +26,7 @@ export class CreateAuthenticationService implements ICommandHandler {
await AuthenticationEntity.create({
userId: command.userId,
password: command.password,
usernames: command.usernames.map((username: Username) => ({
name: username.name,
type: username.type,
userId: command.userId,
})),
usernames: command.usernames,
});
try {
await this.authenticationRepository.insert(authentication);

View File

@ -23,7 +23,7 @@ export type AuthenticationReadModel = AuthenticationBaseModel & {
};
export type AuthenticationWriteModel = AuthenticationBaseModel & {
usernames: {
usernames?: {
create: UsernameModel[];
};
};

View File

@ -4,6 +4,7 @@ import { Type } from '@modules/authentication/core/domain/username.types';
import {
AuthenticationReadModel,
AuthenticationWriteModel,
UsernameModel,
} from '@modules/authentication/infrastructure/authentication.repository';
import { AuthenticationResponseDto } from '@modules/authentication/interface/dtos/authentication.response.dto';
import { Test } from '@nestjs/testing';
@ -63,8 +64,12 @@ describe('Authentication Mapper', () => {
it('should map domain entity to persistence data', async () => {
const mapped: AuthenticationWriteModel =
authenticationMapper.toPersistence(authenticationEntity);
expect(mapped.usernames.create[0].username).toBe('john.doe@email.com');
expect(mapped.usernames.create[1].username).toBe('+33611223344');
expect(
(mapped.usernames as { create: UsernameModel[] }).create[0].username,
).toBe('john.doe@email.com');
expect(
(mapped.usernames as { create: UsernameModel[] }).create[1].username,
).toBe('+33611223344');
});
it('should map persisted data to domain entity', async () => {