mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-18 07:23:03 +00:00
Display the access status badges
This commit is contained in:
@@ -36,6 +36,7 @@ import { sendRequest } from '../shared/request.operators';
|
||||
import { RestRequest } from './rest-request.model';
|
||||
import { CoreState } from '../core-state.model';
|
||||
import { FindListOptions } from './find-list-options.model';
|
||||
import { AccessStatusObject } from 'src/app/shared/object-list/access-status-badge/access-status.model';
|
||||
|
||||
@Injectable()
|
||||
@dataService(ITEM)
|
||||
@@ -291,6 +292,27 @@ export class ItemDataService extends DataService<Item> {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the the access status
|
||||
* @param itemId
|
||||
*/
|
||||
public getAccessStatus(itemId: string): Observable<RemoteData<AccessStatusObject>> {
|
||||
const requestId = this.requestService.generateRequestId();
|
||||
const href$ = this.halService.getEndpoint('accessStatus').pipe(
|
||||
map((href) => href.replace('{?uuid}', `?uuid=${itemId}`))
|
||||
);
|
||||
|
||||
href$.pipe(
|
||||
find((href: string) => hasValue(href)),
|
||||
map((href: string) => {
|
||||
const request = new GetRequest(requestId, href);
|
||||
this.requestService.send(request);
|
||||
})
|
||||
).subscribe();
|
||||
|
||||
return this.rdbService.buildFromRequestUUID(requestId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Invalidate the cache of the item
|
||||
* @param itemUUID
|
||||
|
Reference in New Issue
Block a user