diff --git a/package-lock.json b/package-lock.json index 713da3164..39e3377e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.0", "dependencies": { "@faker-js/faker": "7.6.0", - "@iqss/dataverse-client-javascript": "2.0.0-alpha.11", + "@iqss/dataverse-client-javascript": "2.0.0-alpha.13", "@iqss/dataverse-design-system": "*", "@istanbuljs/nyc-config-typescript": "1.0.2", "@tanstack/react-table": "8.9.2", @@ -3674,9 +3674,9 @@ }, "node_modules/@iqss/dataverse-client-javascript": { "name": "@IQSS/dataverse-client-javascript", - "version": "2.0.0-alpha.11", - "resolved": "https://npm.pkg.github.com/download/@IQSS/dataverse-client-javascript/2.0.0-alpha.11/77723d5bcef1f38f1dcfa0fd195d2edc2baa7ed9", - "integrity": "sha512-KKgrCeKT9tplhRUxjzgaI2fg8X6OfH2DAnFzDdcFQpoJejwBH4BSbp4d58zG7WxrjRI+sP0Iw5A1o8fsc9TOqw==", + "version": "2.0.0-alpha.13", + "resolved": "https://npm.pkg.github.com/download/@IQSS/dataverse-client-javascript/2.0.0-alpha.13/99f81ce18bdd855a54cd79520367516c28b262b8", + "integrity": "sha512-Giv/g1+6bFUTiVcwnzrJhdhWhyMd6gcXLnArN36kxAPrhoR0adRjUa8bevE41Vb5lASw56UoVF17XS/G9Uhj7A==", "license": "MIT", "dependencies": { "@types/node": "^18.15.11", diff --git a/package.json b/package.json index c74c8e142..a373e4161 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@faker-js/faker": "7.6.0", - "@iqss/dataverse-client-javascript": "2.0.0-alpha.11", + "@iqss/dataverse-client-javascript": "2.0.0-alpha.13", "@iqss/dataverse-design-system": "*", "@istanbuljs/nyc-config-typescript": "1.0.2", "@tanstack/react-table": "8.9.2", diff --git a/src/files/domain/models/FileItemTypePreview.ts b/src/files/domain/models/FileItemTypePreview.ts index 3c129bfdf..881dab1a7 100644 --- a/src/files/domain/models/FileItemTypePreview.ts +++ b/src/files/domain/models/FileItemTypePreview.ts @@ -21,6 +21,8 @@ export interface FileItemTypePreview { datasetCitation: string publicationStatuses: PublicationStatus[] releaseOrCreateDate: Date + restricted: boolean + canDownloadFile: boolean } export interface FilePreviewChecksum { diff --git a/src/files/infrastructure/mappers/JSFileItemTypePreviewMapper.ts b/src/files/infrastructure/mappers/JSFileItemTypePreviewMapper.ts index e3ae4dea3..af31af661 100644 --- a/src/files/infrastructure/mappers/JSFileItemTypePreviewMapper.ts +++ b/src/files/infrastructure/mappers/JSFileItemTypePreviewMapper.ts @@ -22,7 +22,9 @@ export class JSFileItemTypePreviewMapper { datasetPersistentId: jsFilePreview.datasetPersistentId, datasetCitation: jsFilePreview.datasetCitation, publicationStatuses: jsFilePreview.publicationStatuses, - releaseOrCreateDate: jsFilePreview.releaseOrCreateDate + releaseOrCreateDate: jsFilePreview.releaseOrCreateDate, + restricted: jsFilePreview.restricted, + canDownloadFile: jsFilePreview.canDownloadFile } } } diff --git a/src/sections/collection/collection-items-panel/items-list/file-card/FileCard.module.scss b/src/sections/collection/collection-items-panel/items-list/file-card/FileCard.module.scss index efa7e29d2..80dbf4d5b 100644 --- a/src/sections/collection/collection-items-panel/items-list/file-card/FileCard.module.scss +++ b/src/sections/collection/collection-items-panel/items-list/file-card/FileCard.module.scss @@ -111,3 +111,7 @@ color: black; } } + +.restricted-icon { + margin: -5px -5px 0 0; +} diff --git a/src/sections/collection/collection-items-panel/items-list/file-card/FileCardHeader.tsx b/src/sections/collection/collection-items-panel/items-list/file-card/FileCardHeader.tsx index 43f5f0c0b..5e1946f77 100644 --- a/src/sections/collection/collection-items-panel/items-list/file-card/FileCardHeader.tsx +++ b/src/sections/collection/collection-items-panel/items-list/file-card/FileCardHeader.tsx @@ -8,6 +8,7 @@ import { Route } from '@/sections/Route.enum' import { LinkToPage } from '@/sections/shared/link-to-page/LinkToPage' import { DatasetLabels } from '@/sections/dataset/dataset-labels/DatasetLabels' import { FileCardHelper } from './FileCardHelper' +import { FileAccessRestrictedIcon } from '../../../../file/file-access/FileAccessRestrictedIcon' import styles from './FileCard.module.scss' interface FileCardHeaderProps { @@ -21,6 +22,12 @@ export function FileCardHeader({ filePreview }: FileCardHeaderProps) { return (
+
+ +
{ const filePreview = FileItemTypePreviewMother.create() cy.customMount() + filePreview.restricted + ? cy.findByTestId('file-access-restricted-icon').should('exist') + : cy.findByTestId('file-access-restricted-icon').should('not.exist') cy.contains(DateHelper.toDisplayFormat(filePreview.releaseOrCreateDate)).should('exist') cy.contains(filePreview.fileType).should('exist') filePreview.checksum?.type && cy.contains(filePreview.checksum?.type).should('exist')