Skip to content

Commit

Permalink
feat: update dashboard to show if repository is not ready (#212)
Browse files Browse the repository at this point in the history
This change updates the dashboard on the Landing Page to show if any of the repositories are not ready.
  • Loading branch information
ChristopherFry committed Nov 12, 2022
1 parent 610dfcc commit 7744860
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import React, { Fragment } from 'react';
import { PackageRevisionLifecycle } from '../../../types/PackageRevision';
import { Repository } from '../../../types/Repository';
import { PackageSummary } from '../../../utils/packageSummary';
import { isRepositoryReady } from '../../../utils/repository';
import { toLowerCase } from '../../../utils/string';
import { RepositoryLink } from '../../Links';

Expand Down Expand Up @@ -98,6 +99,10 @@ export const ContentInfoCard = ({
const title = `${contentType}s`;
const contentTypeLowerCase = toLowerCase(contentType);

const repositoriesNotReady = repositories.filter(
repository => !isRepositoryReady(repository),
);

const published = getPublishedPackages(packages).length;
const upgradesAvailable = getUpgradePackages(packages).length;
const pendingReview = getDraftPackages(packages).length;
Expand All @@ -124,6 +129,12 @@ export const ContentInfoCard = ({
</Alert>
)}

{repositoriesNotReady.map(repository => (
<Alert severity="error" key={repository.metadata.name}>
repository <RepositoryLink repository={repository} /> is not ready
</Alert>
))}

{upgradesAvailable > 0 && (
<Alert severity="info">
{upgradesAvailable} {contentTypeLowerCase}s with upgrades available
Expand Down
8 changes: 8 additions & 0 deletions plugins/cad/src/utils/repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,14 @@ export const PackageContentSummaryOrder = [
ContentSummary.EXTERNAL_BLUEPRINT,
];

export const isRepositoryReady = (repository: Repository): boolean => {
if (!repository.status?.conditions) {
return true;
}

return !repository.status.conditions.some(r => r.status !== 'True');
};

export const isFunctionRepository = (repository: Repository): boolean => {
return repository.spec.content === RepositoryContent.FUNCTION;
};
Expand Down

0 comments on commit 7744860

Please sign in to comment.