X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/cc493b89840b48f40c2beaf626994724331aa196..59100a72caedbc8f3c9872de1153bf3d4129122a:/src/services/ancestors-service/ancestors-service.ts diff --git a/src/services/ancestors-service/ancestors-service.ts b/src/services/ancestors-service/ancestors-service.ts index 1cd42fb5..44e4eef5 100644 --- a/src/services/ancestors-service/ancestors-service.ts +++ b/src/services/ancestors-service/ancestors-service.ts @@ -6,7 +6,7 @@ import { GroupsService } from "~/services/groups-service/groups-service"; import { UserService } from '../user-service/user-service'; import { GroupResource } from '~/models/group'; import { UserResource } from '~/models/user'; -import { extractUuidObjectType, ResourceObjectType } from "~/models/resource"; +import { extractUuidObjectType, ResourceObjectType, TrashableResource } from "~/models/resource"; export class AncestorService { constructor( @@ -17,14 +17,18 @@ export class AncestorService { async ancestors(uuid: string, rootUuid: string): Promise> { const service = this.getService(extractUuidObjectType(uuid)); if (service) { - const resource = await service.get(uuid); - if (uuid === rootUuid) { - return [resource]; - } else { - return [ - ...await this.ancestors(resource.ownerUuid, rootUuid), - resource - ]; + try { + const resource = await service.get(uuid); + if (uuid === rootUuid) { + return [resource]; + } else { + return [ + ...await this.ancestors(resource.ownerUuid, rootUuid), + resource + ]; + } + } catch (e) { + return []; } } else { return []; @@ -41,4 +45,4 @@ export class AncestorService { return undefined; } } -} \ No newline at end of file +}