1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-24 15:59:41 +02:00

feat(license): remove untrusted devices from node count [EE-5357] (#8817)

This commit is contained in:
Chaim Lev-Ari 2023-05-05 09:02:31 +07:00 committed by GitHub
parent 5f6ddc2fad
commit cfed481d6e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 102 additions and 35 deletions

View file

@ -1,9 +1,10 @@
import { useMutation, useQueryClient } from 'react-query';
import { EnvironmentId } from '@/react/portainer/environments/types';
import { EdgeTypes, EnvironmentId } from '@/react/portainer/environments/types';
import axios, { parseAxiosError } from '@/portainer/services/axios';
import { promiseSequence } from '@/portainer/helpers/promise-utils';
import { useIntegratedLicenseInfo } from '@/react/portainer/licenses/use-license.service';
import { useEnvironmentList } from '@/react/portainer/environments/queries';
export function useAssociateDeviceMutation() {
const queryClient = useQueryClient();
@ -35,8 +36,23 @@ async function associateDevice(environmentId: EnvironmentId) {
export function useLicenseOverused() {
const integratedInfo = useIntegratedLicenseInfo();
if (integratedInfo && integratedInfo.licenseInfo.enforcedAt > 0) {
return true;
return {
willExceed,
isOverused: willExceed(0),
};
function willExceed(moreNodes: number) {
return (
!!integratedInfo &&
integratedInfo.usedNodes + moreNodes >= integratedInfo.licenseInfo.nodes
);
}
return false;
}
export function useUntrustedCount() {
const query = useEnvironmentList({
edgeDeviceUntrusted: true,
types: EdgeTypes,
});
return query.totalCount;
}