Display the access status badges

This commit is contained in:
nibou230
2022-04-13 13:03:37 -04:00
parent 9b56911c43
commit 459da211be
16 changed files with 313 additions and 4 deletions

View File

@@ -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