mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-18 15:33:04 +00:00
Merge pull request #78 from 4Science/coar-notify-7-part-two-refactor-enqueue
ldn message: move enqueueretry from get to post
This commit is contained in:
@@ -13,7 +13,7 @@ import { map, mergeMap, switchMap, tap } from 'rxjs/operators';
|
|||||||
import { getAllSucceededRemoteDataPayload, getFirstCompletedRemoteData } from '../../../core/shared/operators';
|
import { getAllSucceededRemoteDataPayload, getFirstCompletedRemoteData } from '../../../core/shared/operators';
|
||||||
import { LdnServicesService } from '../../admin-ldn-services/ldn-services-data/ldn-services-data.service';
|
import { LdnServicesService } from '../../admin-ldn-services/ldn-services-data/ldn-services-data.service';
|
||||||
import { ItemDataService } from '../../../core/data/item-data.service';
|
import { ItemDataService } from '../../../core/data/item-data.service';
|
||||||
import { GetRequest } from '../../../core/data/request.models';
|
import { PostRequest } from '../../../core/data/request.models';
|
||||||
import { RestRequest } from '../../../core/data/rest-request.model';
|
import { RestRequest } from '../../../core/data/rest-request.model';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -73,28 +73,28 @@ export class AdminNotifyMessagesService extends IdentifiableDataService<AdminNot
|
|||||||
const requestId = this.requestService.generateRequestId();
|
const requestId = this.requestService.generateRequestId();
|
||||||
|
|
||||||
return this.halService.getEndpoint(this.reprocessEndpoint).pipe(
|
return this.halService.getEndpoint(this.reprocessEndpoint).pipe(
|
||||||
map(endpoint => endpoint.replace('{id}', message.id)),
|
map(endpoint => endpoint.replace('{id}', message.id)),
|
||||||
map((endpointURL: string) => new GetRequest(requestId, endpointURL)),
|
map((endpointURL: string) => new PostRequest(requestId, endpointURL)),
|
||||||
tap(request => this.requestService.send(request)),
|
tap(request => this.requestService.send(request)),
|
||||||
switchMap((request: RestRequest) => this.rdbService.buildFromRequestUUID<AdminNotifyMessage>(request.uuid)),
|
switchMap((request: RestRequest) => this.rdbService.buildFromRequestUUID<AdminNotifyMessage>(request.uuid)),
|
||||||
getFirstCompletedRemoteData(),
|
getFirstCompletedRemoteData(),
|
||||||
getAllSucceededRemoteDataPayload(),
|
getAllSucceededRemoteDataPayload(),
|
||||||
mergeMap(reprocessedMessage => this.getDetailedMessages([reprocessedMessage])),
|
mergeMap(reprocessedMessage => this.getDetailedMessages([reprocessedMessage])),
|
||||||
).pipe(
|
).pipe(
|
||||||
mergeMap((newMessages) => messageSubject.pipe(
|
mergeMap((newMessages) => messageSubject.pipe(
|
||||||
map(messages => {
|
map(messages => {
|
||||||
const detailedReprocessedMessage = newMessages[0];
|
const detailedReprocessedMessage = newMessages[0];
|
||||||
const messageToUpdate = messages.find(currentMessage => currentMessage.id === message.id);
|
const messageToUpdate = messages.find(currentMessage => currentMessage.id === message.id);
|
||||||
const indexOfMessageToUpdate = messages.indexOf(messageToUpdate);
|
const indexOfMessageToUpdate = messages.indexOf(messageToUpdate);
|
||||||
detailedReprocessedMessage.target = message.target;
|
detailedReprocessedMessage.target = message.target;
|
||||||
detailedReprocessedMessage.object = message.object;
|
detailedReprocessedMessage.object = message.object;
|
||||||
detailedReprocessedMessage.origin = message.origin;
|
detailedReprocessedMessage.origin = message.origin;
|
||||||
detailedReprocessedMessage.context = message.context;
|
detailedReprocessedMessage.context = message.context;
|
||||||
messages[indexOfMessageToUpdate] = detailedReprocessedMessage;
|
messages[indexOfMessageToUpdate] = detailedReprocessedMessage;
|
||||||
|
|
||||||
return messages;
|
return messages;
|
||||||
})
|
})
|
||||||
)),
|
)),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user