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

View File

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

View File

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

View File

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