X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/1a9eb2261e6030ba78078e2a206bad27653f2475..05010c44073b52c0e414d180cfc21bae215c4d33:/src/models/collection.ts diff --git a/src/models/collection.ts b/src/models/collection.ts index 316b1fac..defaca76 100644 --- a/src/models/collection.ts +++ b/src/models/collection.ts @@ -2,7 +2,73 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { Resource } from "./resource"; +import { + ResourceKind, + TrashableResource, + ResourceWithProperties +} from "./resource"; -export interface Collection extends Resource { +export interface CollectionResource extends TrashableResource, ResourceWithProperties { + kind: ResourceKind.COLLECTION; + name: string; + description: string; + portableDataHash: string; + manifestText: string; + replicationDesired: number; + replicationConfirmed: number; + replicationConfirmedAt: string; + 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', }