diff --git a/.github/workflows/backend.yaml b/.github/workflows/backend.yaml index 211ac477e..9edd809db 100644 --- a/.github/workflows/backend.yaml +++ b/.github/workflows/backend.yaml @@ -52,7 +52,7 @@ jobs: name: Build and push uses: docker/build-push-action@v3 with: - context: ./frontend + context: ./backend platforms: linux/amd64,linux/arm64 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} diff --git a/frontend/src/components/datasets/Dataset.tsx b/frontend/src/components/datasets/Dataset.tsx index 049a68d6f..dfe1da88e 100644 --- a/frontend/src/components/datasets/Dataset.tsx +++ b/frontend/src/components/datasets/Dataset.tsx @@ -1,5 +1,5 @@ import React, {useEffect, useState} from "react"; -import {Box, Button, Dialog, DialogTitle, Divider, Grid, Menu, MenuItem, Tab, Tabs, Typography} from "@mui/material"; +import {Box, Button, Dialog, Divider, Grid, Menu, MenuItem, Tab, Tabs, Typography} from "@mui/material"; import {ClowderInput} from "../styledComponents/ClowderInput"; import {ClowderButton} from "../styledComponents/ClowderButton"; import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown"; diff --git a/frontend/src/components/files/FileMenu.tsx b/frontend/src/components/files/FileMenu.tsx index 38bf589c8..feaee4b6f 100644 --- a/frontend/src/components/files/FileMenu.tsx +++ b/frontend/src/components/files/FileMenu.tsx @@ -3,7 +3,7 @@ import Button from '@mui/material/Button'; import Menu from '@mui/material/Menu'; import MenuItem from '@mui/material/MenuItem'; import MenuIcon from '@mui/icons-material/Menu'; -import {File} from "../../types/data"; +import {FileOut as File} from "../../openapi/v2"; import {useState} from "react"; import {fileDeleted, fileDownloaded} from "../../actions/file"; import {useDispatch} from "react-redux"; diff --git a/frontend/src/components/files/FilesTable.tsx b/frontend/src/components/files/FilesTable.tsx index 96743e26c..0315f206b 100644 --- a/frontend/src/components/files/FilesTable.tsx +++ b/frontend/src/components/files/FilesTable.tsx @@ -33,7 +33,7 @@ export default function FilesTable(props: FilesTableProps) { const foldersInDataset = useSelector((state:RootState) => state.dataset.folders); // use history hook to redirect/navigate between routes const history = useNavigate(); - const selectFile = (selectedFileId: string) => { + const selectFile = (selectedFileId: string | undefined) => { // Redirect to file route with file Id and dataset id history(`/files/${selectedFileId}?dataset=${props.datasetId}&name=${props.datasetName}`); }; @@ -48,8 +48,8 @@ export default function FilesTable(props: FilesTableProps) { Name Updated - Size - Type + {/*Size*/} + {/*Type*/} @@ -80,11 +80,12 @@ export default function FilesTable(props: FilesTableProps) { {/*TODO this should be version number; for now put version ID instead*/} - + {parseDate(file.created)} by {file.creator.first_name} {file.creator.last_name} - {file.size} - {file.contentType} + {/*TODO we don't have those in backend yet*/} + {/*{file.size}*/} + {/*{file.contentType}*/} )) } diff --git a/frontend/src/components/metadata/DisplayMetadata.tsx b/frontend/src/components/metadata/DisplayMetadata.tsx index 2e6260a5a..536466f7c 100644 --- a/frontend/src/components/metadata/DisplayMetadata.tsx +++ b/frontend/src/components/metadata/DisplayMetadata.tsx @@ -1,4 +1,4 @@ -import React, {useEffect, useState} from "react"; +import React, {useEffect} from "react"; import {Box, Typography} from "@mui/material"; import metadataConfig from "../../metadata.config"; import {useSelector, useDispatch} from "react-redux"; diff --git a/frontend/src/components/versions/FileVersionHistory.tsx b/frontend/src/components/versions/FileVersionHistory.tsx index 8ee23523c..e32056d9f 100644 --- a/frontend/src/components/versions/FileVersionHistory.tsx +++ b/frontend/src/components/versions/FileVersionHistory.tsx @@ -1,9 +1,8 @@ import React from "react"; -import {Box, Button, List, ListItem, ListItemAvatar, ListItemText} from "@mui/material"; -import {FileVersion} from "../../types/data"; -import MoreHorizIcon from '@mui/icons-material/MoreHoriz'; +import {Box, List, ListItem, ListItemAvatar, ListItemText} from "@mui/material"; import {VersionChip} from "./VersionChip"; import {parseDate} from "../../utils/common"; +import {FileVersion} from "../../openapi/v2"; type FileVersionHistoryProps = { fileVersions: FileVersion[] @@ -17,23 +16,24 @@ export function FileVersionHistory(props: FileVersionHistoryProps) { { // sort by date decending fileVersions.map((fileVersion) => { - const {version_id, creator, created} = fileVersion; + const {version_num, creator, created} = fileVersion; return ( {/*TODO replace with pretty version name*/} - + - - - + {/*TODO implement those actions*/} + {/**/} + {/**/} + {/**/} ); diff --git a/frontend/src/components/versions/VersionChip.tsx b/frontend/src/components/versions/VersionChip.tsx index 80b71a0db..d3c31c374 100644 --- a/frontend/src/components/versions/VersionChip.tsx +++ b/frontend/src/components/versions/VersionChip.tsx @@ -3,7 +3,7 @@ import {Chip} from "@mui/material"; type VersionChipProps = { - versionNumber: string, + versionNumber: number|undefined, } export function VersionChip(props: VersionChipProps) { @@ -11,7 +11,7 @@ export function VersionChip(props: VersionChipProps) { const { versionNumber } = props; return ( - + // TODO can make this a clickable item // : <> ); diff --git a/frontend/src/reducers/dataset.ts b/frontend/src/reducers/dataset.ts index f42d386ca..b4cd30d91 100644 --- a/frontend/src/reducers/dataset.ts +++ b/frontend/src/reducers/dataset.ts @@ -11,7 +11,8 @@ import { } from "../actions/dataset"; import {CREATE_FILE, UPDATE_FILE, DELETE_FILE} from "../actions/file"; import {DataAction} from "../types/action"; -import {Author, Dataset, File, DatasetState} from "../types/data"; +import {Author, Dataset, DatasetState} from "../types/data"; +import {FileOut as File} from "../openapi/v2"; const defaultState: DatasetState = { files: [], diff --git a/frontend/src/types/action.ts b/frontend/src/types/action.ts index 5b08c549e..367dd2580 100644 --- a/frontend/src/types/action.ts +++ b/frontend/src/types/action.ts @@ -1,16 +1,16 @@ -import {Dataset, ExtractedMetadata, File, MetadataJsonld, FilePreview, FileVersion, Folder} from "./data"; -import {MetadataOut as Metadata, FileOut as FileSummary} from "../openapi/v2"; +import {Dataset, ExtractedMetadata, MetadataJsonld, FilePreview, Folder} from "./data"; +import {MetadataOut as Metadata, FileOut as FileSummary, FileVersion} from "../openapi/v2"; import {MetadataDefinitionOut as MetadataDefinition} from "../openapi/v2"; import {POST_DATASET_METADATA, UPDATE_DATASET_METADATA} from "../actions/metadata"; interface RECEIVE_FILES_IN_DATASET { type: "RECEIVE_FILES_IN_DATASET"; - files: File[]; + files: FileSummary[]; } interface DELETE_FILE { type: "DELETE_FILE"; - file: File; + file: FileSummary; } interface RECEIVE_DATASET_ABOUT{ @@ -84,7 +84,7 @@ interface CREATE_DATASET{ interface CREATE_FILE{ type: "CREATE_FILE", - file: File + file: FileSummary } interface FAILED{ diff --git a/frontend/src/types/data.ts b/frontend/src/types/data.ts index e2d85454f..c5367ad86 100644 --- a/frontend/src/types/data.ts +++ b/frontend/src/types/data.ts @@ -1,4 +1,7 @@ -import {MetadataDefinitionOut, MetadataOut as Metadata, FileOut as FileSummary} from "../openapi/v2"; +import {MetadataDefinitionOut, + MetadataOut as Metadata, + FileOut as FileSummary, + FileVersion} from "../openapi/v2"; export interface Dataset { name: string; @@ -22,17 +25,6 @@ export interface Author { "last_name": string|null; } -export interface File { - version: string; - creator: Author; - created: string | Date; - id: string; - name: string; - size: number; - "date-created": string; - contentType:string; -} - export interface Folder { id: string; name: string; @@ -55,14 +47,6 @@ export interface FileMetadata { version: string; } -export interface FileVersion { - id: string; - "version_id": string; - "file_id": string; - "creator": Author; - "created": string | Date; -} - export interface FileMetadataList{ id: string; metadata: FileMetadata; @@ -131,10 +115,10 @@ export interface Thumbnail{ } export interface DatasetState{ - files: File[]; + files: FileSummary[]; datasets: Dataset[]; newDataset: Dataset; - newFile: File; + newFile: FileSummary; about: Dataset; folders: Folder[]; folderPath: string[];