TSK-1436: fixed breaking REST API change for workbasketAccessItems

This commit is contained in:
Mustapha Zorgati 2020-12-21 21:14:35 +01:00
parent 149aae8e85
commit b508feca01
4 changed files with 28 additions and 27 deletions

View File

@ -1,9 +1,9 @@
package pro.taskana.workbasket.rest;
import java.beans.ConstructorProperties;
import java.util.ArrayList;
import java.util.List;
import java.util.function.BiConsumer;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -320,13 +320,9 @@ public class WorkbasketController {
throw new InvalidArgumentException("Can´t create something with NULL body-value.");
}
List<WorkbasketAccessItem> wbAccessItems = new ArrayList<>();
workbasketAccessItemRepModels
.getContent()
.forEach(
item ->
wbAccessItems.add(
workbasketAccessItemRepresentationModelAssembler.toEntityModel(item)));
List<WorkbasketAccessItem> wbAccessItems = workbasketAccessItemRepModels.getContent().stream()
.map(workbasketAccessItemRepresentationModelAssembler::toEntityModel)
.collect(Collectors.toList());
workbasketService.setWorkbasketAccessItems(workbasketId, wbAccessItems);
List<WorkbasketAccessItem> updatedWbAccessItems =
workbasketService.getWorkbasketAccessItems(workbasketId);

View File

@ -3,5 +3,5 @@ import { WorkbasketAccessItems } from './workbasket-access-items';
export interface WorkbasketAccessItemsRepresentation {
accessItems: WorkbasketAccessItems[];
_links: Links;
_links?: Links;
}

View File

@ -95,7 +95,10 @@ export class WorkbasketService {
}
// PUT
updateWorkBasketAccessItem(url: string, workbasketAccessItem: Array<WorkbasketAccessItems>): Observable<string> {
updateWorkBasketAccessItem(
url: string,
workbasketAccessItem: WorkbasketAccessItemsRepresentation
): Observable<string> {
return this.httpClient.put<string>(url, workbasketAccessItem);
}

View File

@ -309,23 +309,25 @@ export class WorkbasketState implements NgxsAfterBootstrap {
action: UpdateWorkbasketAccessItems
): Observable<any> {
ctx.dispatch(new OnButtonPressed(undefined));
return this.workbasketService.updateWorkBasketAccessItem(action.url, action.workbasketAccessItems).pipe(
take(1),
tap(
(workbasketAccessItems) => {
ctx.patchState({
workbasketAccessItems
});
this.notificationService.showToast(
NOTIFICATION_TYPES.SUCCESS_ALERT_7,
new Map<string, string>([['workbasketKey', ctx.getState().selectedWorkbasket.key]])
);
},
(error) => {
this.notificationService.triggerError(NOTIFICATION_TYPES.SAVE_ERR_2, error);
}
)
);
return this.workbasketService
.updateWorkBasketAccessItem(action.url, { accessItems: action.workbasketAccessItems })
.pipe(
take(1),
tap(
(workbasketAccessItems) => {
ctx.patchState({
workbasketAccessItems
});
this.notificationService.showToast(
NOTIFICATION_TYPES.SUCCESS_ALERT_7,
new Map<string, string>([['workbasketKey', ctx.getState().selectedWorkbasket.key]])
);
},
(error) => {
this.notificationService.triggerError(NOTIFICATION_TYPES.SAVE_ERR_2, error);
}
)
);
}
@Action(GetWorkbasketDistributionTargets)