|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- //
- // Copyright (C) Stanislaw Adaszewski, 2020
- // Contact: s.adaszewski@gmail.com
- // Website: https://adared.ch/wba
- // License: GNU Affero General Public License, Version 3
- //
-
- import makeArvadosRequest from 'make-arvados-request';
- import arvadosTypeName from 'arvados-type-name';
- import arvadosObjectName from 'arvados-object-name';
-
- function fetchObjectParents(arvHost, arvToken, uuid) {
- let parents = [];
-
- let cb = xhr => {
- const item = xhr.response.items[0];
- if (!item)
- return parents.reverse();
-
- item.name = arvadosObjectName(item);
- parents.push(item);
-
- if (!item.owner_uuid ||
- item.owner_uuid.endsWith('-tpzed-000000000000000')) {
-
- return parents.reverse();
- }
-
- const objectType = arvadosTypeName(item.owner_uuid);
- const filters = [
- ['uuid', '=', item.owner_uuid]
- ];
-
- return makeArvadosRequest(arvHost, arvToken,
- '/arvados/v1/' + objectType + 's' +
- '?filters=' + encodeURIComponent(JSON.stringify(filters))).then(cb);
- };
-
- const objectType = arvadosTypeName(uuid);
- const filters = [
- ['uuid', '=', uuid]
- ];
- let prom = makeArvadosRequest(arvHost, arvToken,
- '/arvados/v1/' + objectType + 's' +
- '?filters=' + encodeURIComponent(JSON.stringify(filters)));
- prom = prom.then(cb);
-
- return prom;
- }
-
- export default fetchObjectParents;
|