Fixed some issues with invites mock-data and response from api

This commit is contained in:
Erik Tiekstra
2021-09-01 13:39:01 +02:00
parent 70ab2c3ee4
commit 803422dbc5
6 changed files with 91 additions and 48 deletions
@@ -1,4 +1,18 @@
export interface EmployeeInviteMockApiResponse {
id: number,
createdAt: number
interface ExistingUser {
ciamUserId: string;
firstName: string;
lastName: string;
email: string;
status: string;
roles: string[];
tjansteKoder: string[];
allaUtforandeVerksamheter: boolean;
utforandeVerksamhetIds: number[];
adressIds: number[];
}
export interface EmployeeInviteResponse {
assignedUsers: ExistingUser[];
invitedUsers: string[];
existingUsersInCurrentOrg: ExistingUser[];
}
@@ -42,12 +42,16 @@ export interface EmployeeRequestData {
adressIds: number[];
}
export interface EmployeeInviteRequestData {
emails: string[];
}
export function mapEmployeeToRequestData(data: Employee): EmployeeRequestData {
const { email, roles, tjanstCodes, allaUtforandeVerksamheter, utforandeVerksamhet, utforandeVerksamhetIds, utforandeAdressIds } = data;
const {
email,
roles,
tjanstCodes,
allaUtforandeVerksamheter,
utforandeVerksamhet,
utforandeVerksamhetIds,
utforandeAdressIds,
} = data;
return {
email,
@@ -56,7 +60,7 @@ export function mapEmployeeToRequestData(data: Employee): EmployeeRequestData {
utforandeVerksamhetIds,
adressIds: utforandeAdressIds,
allaUtforandeVerksamheter: allaUtforandeVerksamheter,
utforandeVerksamhet: utforandeVerksamhet
utforandeVerksamhet: utforandeVerksamhet,
};
}
@@ -6,6 +6,7 @@ import { RoleEnum } from '@msfa-enums/role.enum';
import { SortOrder } from '@msfa-enums/sort-order.enum';
import { environment } from '@msfa-environment';
import { DeleteEmployeeMockApiResponse } from '@msfa-models/api/delete-employee.response.model';
import { EmployeeInviteResponse } from '@msfa-models/api/employee-invite.response.model';
import {
EmployeeCompactResponse,
EmployeeResponse,
@@ -14,7 +15,6 @@ import {
import { Params } from '@msfa-models/api/params.model';
import {
Employee,
EmployeeInviteRequestData,
EmployeesData,
mapEmployeeToRequestData,
mapResponseToEmployee,
@@ -25,7 +25,7 @@ import { mapRoleResponseToRoleObject, Role } from '@msfa-models/role.model';
import { Sort } from '@msfa-models/sort.model';
import { ErrorService } from '@msfa-services/error.service';
import { BehaviorSubject, combineLatest, Observable, of, throwError } from 'rxjs';
import { catchError, filter, map, switchMap, take } from 'rxjs/operators';
import { catchError, filter, map, switchMap, take, tap } from 'rxjs/operators';
import { TjanstService } from './tjanst.service';
@Injectable({
@@ -177,14 +177,15 @@ export class EmployeeService extends UnsubscribeDirective {
);
}
public postEmployeeInvitation(email: string): Observable<string[]> {
public postEmployeeInvitation(email: string): Observable<EmployeeInviteResponse> {
return this.httpClient
.patch<{ data: EmployeeInviteRequestData }>(`${this._apiBaseUrl}/invite`, {
emails: Object.values(email),
.patch<{ data: EmployeeInviteResponse }>(`${this._apiBaseUrl}/invite`, {
emails: [email],
})
.pipe(
take(1),
map(res => res.data.emails),
tap(res => console.log(res)),
map(res => res.data),
catchError(error => throwError({ message: error as string, type: ErrorType.API }))
);
}