X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/1feb5aaffe6fee4a9c8c8c64877f1da6f3490e06..05010c44073b52c0e414d180cfc21bae215c4d33:/src/models/collection.ts diff --git a/src/models/collection.ts b/src/models/collection.ts index 9cb8bb84..defaca76 100644 --- a/src/models/collection.ts +++ b/src/models/collection.ts @@ -2,19 +2,73 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { Resource, ResourceKind } from "./resource"; +import { + ResourceKind, + TrashableResource, + ResourceWithProperties +} from "./resource"; -export interface CollectionResource extends Resource { +export interface CollectionResource extends TrashableResource, ResourceWithProperties { kind: ResourceKind.COLLECTION; name: string; description: string; - properties: any; portableDataHash: string; manifestText: string; replicationDesired: number; replicationConfirmed: number; replicationConfirmedAt: string; - trashAt: string; - deleteAt: string; - isTrashed: boolean; + storageClassesDesired: string[]; + storageClassesConfirmed: string[]; + storageClassesConfirmedAt: string; + currentVersionUuid: string; + version: number; + preserveVersion: boolean; + unsignedManifestText?: string; + fileCount: number; + fileSizeTotal: number; +} + +// We exclude 'manifestText' and 'unsignedManifestText' from the default +export const defaultCollectionSelectedFields = [ + 'name', + 'description', + 'portableDataHash', + 'replicationDesired', + 'replicationConfirmed', + 'replicationConfirmedAt', + 'storageClassesDesired', + 'storageClassesConfirmed', + 'storageClassesConfirmedAt', + 'currentVersionUuid', + 'version', + 'preserveVersion', + 'fileCount', + 'fileSizeTotal', + // ResourceWithProperties field + 'properties', + // TrashableResource fields + 'trashAt', + 'deleteAt', + 'isTrashed', + // Resource fields + 'uuid', + 'ownerUuid', + 'createdAt', + 'modifiedByClientUuid', + 'modifiedByUserUuid', + 'modifiedAt', + 'href', + 'kind', + 'etag', +]; + +export const getCollectionUrl = (uuid: string) => { + return `/collections/${uuid}`; +}; + +export enum CollectionType { + GENERAL = 'nil', + OUTPUT = 'output', + LOG = 'log', + INTERMEDIATE = 'intermediate', }