X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/b6ac7fe88d347582d39fffa002e300af222c578f..7e5633a7611e686389fa0c6b9f8b47db492e5bb7:/src/store/advanced-tab/advanced-tab.tsx?ds=sidebyside diff --git a/src/store/advanced-tab/advanced-tab.tsx b/src/store/advanced-tab/advanced-tab.tsx index cf30669d..ac088f02 100644 --- a/src/store/advanced-tab/advanced-tab.tsx +++ b/src/store/advanced-tab/advanced-tab.tsx @@ -21,14 +21,14 @@ import { VirtualMachinesResource } from 'models/virtual-machines'; import { UserResource } from 'models/user'; import { LinkResource } from 'models/link'; import { KeepServiceResource } from 'models/keep-services'; -import { NodeResource } from 'models/node'; import { ApiClientAuthorization } from 'models/api-client-authorization'; import React from 'react'; export const ADVANCED_TAB_DIALOG = 'advancedTabDialog'; -interface AdvancedTabDialogData { - apiResponse: any; +export interface AdvancedTabDialogData { + uuid: string; + apiResponse: JSX.Element; metadata: ListResults | string; user: UserResource | string; pythonHeader: string; @@ -76,7 +76,6 @@ enum ResourcePrefix { AUTORIZED_KEYS = 'authorized_keys', VIRTUAL_MACHINES = 'virtual_machines', KEEP_SERVICES = 'keep_services', - COMPUTE_NODES = 'nodes', USERS = 'users', API_CLIENT_AUTHORIZATIONS = 'api_client_authorizations', LINKS = 'links' @@ -92,11 +91,6 @@ enum UserData { USERNAME = 'username' } -enum ComputeNodeData { - COMPUTE_NODE = 'node', - PROPERTIES = 'properties' -} - enum ApiClientAuthorizationsData { API_CLIENT_AUTHORIZATION = 'api_client_authorization', DEFAULT_OWNER_UUID = 'default_owner_uuid' @@ -107,9 +101,9 @@ enum LinkData { PROPERTIES = 'properties' } -type AdvanceResourceKind = CollectionData | ProcessData | ProjectData | RepositoryData | SshKeyData | VirtualMachineData | KeepServiceData | ComputeNodeData | ApiClientAuthorizationsData | UserData | LinkData; +type AdvanceResourceKind = CollectionData | ProcessData | ProjectData | RepositoryData | SshKeyData | VirtualMachineData | KeepServiceData | ApiClientAuthorizationsData | UserData | LinkData; type AdvanceResourcePrefix = GroupContentsResourcePrefix | ResourcePrefix; -type AdvanceResponseData = ContainerRequestResource | ProjectResource | CollectionResource | RepositoryResource | SshKeyResource | VirtualMachinesResource | KeepServiceResource | NodeResource | ApiClientAuthorization | UserResource | LinkResource | undefined; +type AdvanceResponseData = ContainerRequestResource | ProjectResource | CollectionResource | RepositoryResource | SshKeyResource | VirtualMachinesResource | KeepServiceResource | ApiClientAuthorization | UserResource | LinkResource | undefined; export const openAdvancedTabDialog = (uuid: string) => async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { @@ -241,22 +235,6 @@ export const openAdvancedTabDialog = (uuid: string) => }); dispatch(initAdvancedTabDialog(advanceDataUser)); break; - case ResourceKind.NODE: - const computeNodeResources = getState().resources; - const dataComputeNode = getResource(uuid)(computeNodeResources); - const advanceDataComputeNode = advancedTabData({ - uuid, - metadata: '', - user: '', - apiResponseKind: computeNodeApiResponse, - data: dataComputeNode, - resourceKind: ComputeNodeData.COMPUTE_NODE, - resourcePrefix: ResourcePrefix.COMPUTE_NODES, - resourceKindProperty: ComputeNodeData.PROPERTIES, - property: dataComputeNode ? dataComputeNode.properties : {} - }); - dispatch(initAdvancedTabDialog(advanceDataComputeNode)); - break; case ResourceKind.API_CLIENT_AUTHORIZATION: const apiClientAuthorizationResources = getState().resources; const dataApiClientAuthorization = getResource(uuid)(apiClientAuthorizationResources); @@ -303,8 +281,8 @@ const getDataForAdvancedTab = (uuid: string) => .addEqual('head_uuid', uuid) .getFilters() }); - const user = metadata.itemsAvailable && await services.userService.get(metadata.items[0].tailUuid || ''); - return { data, metadata, user }; + + return { data, metadata }; }; const initAdvancedTabDialog = (data: AdvancedTabDialogData) => dialogActions.OPEN_DIALOG({ id: ADVANCED_TAB_DIALOG, data }); @@ -313,7 +291,7 @@ interface AdvancedTabData { uuid: string; metadata: ListResults | string; user: UserResource | string; - apiResponseKind: any; + apiResponseKind: (apiResponse) => JSX.Element; data: AdvanceResponseData; resourceKind: AdvanceResourceKind; resourcePrefix: AdvanceResourcePrefix; @@ -393,7 +371,7 @@ const stringify = (item: string | null | number | boolean) => const stringifyObject = (item: any) => JSON.stringify(item, null, 2) || 'null'; -const containerRequestApiResponse = (apiResponse: ContainerRequestResource) => { +const containerRequestApiResponse = (apiResponse: ContainerRequestResource): JSX.Element => { const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, name, description, properties, state, requestingContainerUuid, containerUuid, containerCountMax, mounts, runtimeConstraints, containerImage, environment, cwd, command, outputPath, priority, expiresAt, filters, containerCount, useExisting, schedulingParameters, outputUuid, logUuid, outputName, outputTtl } = apiResponse; @@ -432,9 +410,9 @@ const containerRequestApiResponse = (apiResponse: ContainerRequestResource) => { return {'{'} {response} {'\n'} {'}'}; }; -const collectionApiResponse = (apiResponse: CollectionResource) => { +const collectionApiResponse = (apiResponse: CollectionResource): JSX.Element => { const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, name, description, properties, portableDataHash, replicationDesired, - replicationConfirmedAt, replicationConfirmed, manifestText, deleteAt, trashAt, isTrashed, storageClassesDesired, + replicationConfirmedAt, replicationConfirmed, deleteAt, trashAt, isTrashed, storageClassesDesired, storageClassesConfirmed, storageClassesConfirmedAt, currentVersionUuid, version, preserveVersion, fileCount, fileSizeTotal } = apiResponse; const response = ` "uuid": "${uuid}", @@ -447,7 +425,6 @@ const collectionApiResponse = (apiResponse: CollectionResource) => { "replication_desired": ${stringify(replicationDesired)}, "replication_confirmed_at": ${stringify(replicationConfirmedAt)}, "replication_confirmed": ${stringify(replicationConfirmed)}, -"manifest_text": ${stringify(manifestText)}, "name": ${stringify(name)}, "description": ${stringify(description)}, "properties": ${stringifyObject(properties)}, @@ -466,7 +443,7 @@ const collectionApiResponse = (apiResponse: CollectionResource) => { return {'{'} {response} {'\n'} {'}'}; }; -const groupRequestApiResponse = (apiResponse: ProjectResource) => { +const groupRequestApiResponse = (apiResponse: ProjectResource): JSX.Element => { const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, name, description, groupClass, trashAt, isTrashed, deleteAt, properties, writableBy } = apiResponse; const response = ` "uuid": "${uuid}", @@ -487,7 +464,7 @@ const groupRequestApiResponse = (apiResponse: ProjectResource) => { return {'{'} {response} {'\n'} {'}'}; }; -const repositoryApiResponse = (apiResponse: RepositoryResource) => { +const repositoryApiResponse = (apiResponse: RepositoryResource): JSX.Element => { const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, name, cloneUrls } = apiResponse; const response = ` "uuid": "${uuid}", @@ -502,7 +479,7 @@ const repositoryApiResponse = (apiResponse: RepositoryResource) => { return {'{'} {response} {'\n'} {'}'}; }; -const sshKeyApiResponse = (apiResponse: SshKeyResource) => { +const sshKeyApiResponse = (apiResponse: SshKeyResource): JSX.Element => { const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, name, authorizedUserUuid, expiresAt } = apiResponse; const response = ` "uuid": "${uuid}", @@ -517,7 +494,7 @@ const sshKeyApiResponse = (apiResponse: SshKeyResource) => { return {'{'} {response} {'\n'} {'}'}; }; -const virtualMachineApiResponse = (apiResponse: VirtualMachinesResource) => { +const virtualMachineApiResponse = (apiResponse: VirtualMachinesResource): JSX.Element => { const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, hostname } = apiResponse; const response = ` "hostname": ${stringify(hostname)}, @@ -532,7 +509,7 @@ const virtualMachineApiResponse = (apiResponse: VirtualMachinesResource) => { return {'{'} {response} {'\n'} {'}'}; }; -const keepServiceApiResponse = (apiResponse: KeepServiceResource) => { +const keepServiceApiResponse = (apiResponse: KeepServiceResource): JSX.Element => { const { uuid, readOnly, serviceHost, servicePort, serviceSslFlag, serviceType, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid @@ -553,7 +530,7 @@ const keepServiceApiResponse = (apiResponse: KeepServiceResource) => { return {'{'} {response} {'\n'} {'}'}; }; -const userApiResponse = (apiResponse: UserResource) => { +const userApiResponse = (apiResponse: UserResource): JSX.Element => { const { uuid, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, email, firstName, lastName, username, isActive, isAdmin, prefs, defaultOwnerUuid, @@ -578,33 +555,7 @@ const userApiResponse = (apiResponse: UserResource) => { return {'{'} {response} {'\n'} {'}'}; }; -const computeNodeApiResponse = (apiResponse: NodeResource) => { - const { - uuid, slotNumber, hostname, domain, ipAddress, firstPingAt, lastPingAt, jobUuid, - ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid, - properties, info - } = apiResponse; - const response = ` -"uuid": "${uuid}", -"owner_uuid": "${ownerUuid}", -"modified_by_client_uuid": ${stringify(modifiedByClientUuid)}, -"modified_by_user_uuid": ${stringify(modifiedByUserUuid)}, -"modified_at": ${stringify(modifiedAt)}, -"created_at": "${createdAt}", -"slot_number": "${stringify(slotNumber)}", -"hostname": "${stringify(hostname)}", -"domain": "${stringify(domain)}", -"ip_address": "${stringify(ipAddress)}", -"first_ping_at": "${stringify(firstPingAt)}", -"last_ping_at": "${stringify(lastPingAt)}", -"job_uuid": "${stringify(jobUuid)}", -"properties": "${JSON.stringify(properties, null, 2)}", -"info": "${JSON.stringify(info, null, 2)}"`; - - return {'{'} {response} {'\n'} {'}'}; -}; - -const apiClientAuthorizationApiResponse = (apiResponse: ApiClientAuthorization) => { +const apiClientAuthorizationApiResponse = (apiResponse: ApiClientAuthorization): JSX.Element => { const { uuid, ownerUuid, apiToken, apiClientId, userId, createdByIpAddress, lastUsedByIpAddress, lastUsedAt, expiresAt, defaultOwnerUuid, scopes, updatedAt, createdAt @@ -627,7 +578,7 @@ const apiClientAuthorizationApiResponse = (apiResponse: ApiClientAuthorization) return {'{'} {response} {'\n'} {'}'}; }; -const linkApiResponse = (apiResponse: LinkResource) => { +const linkApiResponse = (apiResponse: LinkResource): JSX.Element => { const { uuid, name, headUuid, properties, headKind, tailUuid, tailKind, linkClass, ownerUuid, createdAt, modifiedAt, modifiedByClientUuid, modifiedByUserUuid