mirror of
				https://github.com/optim-enterprises-bv/OptimCloud-gw-ui.git
				synced 2025-11-03 19:57:46 +00:00 
			
		
		
		
	Merge pull request #147 from stephb9959/main
[WIFI-11875] Custom timeframes for commands/deviceslogs/commands now …
This commit is contained in:
		
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,12 +1,12 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "ucentral-client",
 | 
					  "name": "ucentral-client",
 | 
				
			||||||
  "version": "2.8.0(39)",
 | 
					  "version": "2.8.0(40)",
 | 
				
			||||||
  "lockfileVersion": 2,
 | 
					  "lockfileVersion": 2,
 | 
				
			||||||
  "requires": true,
 | 
					  "requires": true,
 | 
				
			||||||
  "packages": {
 | 
					  "packages": {
 | 
				
			||||||
    "": {
 | 
					    "": {
 | 
				
			||||||
      "name": "ucentral-client",
 | 
					      "name": "ucentral-client",
 | 
				
			||||||
      "version": "2.8.0(39)",
 | 
					      "version": "2.8.0(40)",
 | 
				
			||||||
      "license": "ISC",
 | 
					      "license": "ISC",
 | 
				
			||||||
      "dependencies": {
 | 
					      "dependencies": {
 | 
				
			||||||
        "@chakra-ui/icons": "^2.0.11",
 | 
					        "@chakra-ui/icons": "^2.0.11",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "ucentral-client",
 | 
					  "name": "ucentral-client",
 | 
				
			||||||
  "version": "2.8.0(39)",
 | 
					  "version": "2.8.0(40)",
 | 
				
			||||||
  "description": "",
 | 
					  "description": "",
 | 
				
			||||||
  "private": true,
 | 
					  "private": true,
 | 
				
			||||||
  "main": "index.tsx",
 | 
					  "main": "index.tsx",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,12 +57,31 @@ export const useGetCommandHistory = ({
 | 
				
			|||||||
    onError,
 | 
					    onError,
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getCommandsWithTimestamps = (serialNumber?: string, start?: number, end?: number) => async () =>
 | 
					const getCommandsBatch = (serialNumber?: string, start?: number, end?: number, limit?: number, offset?: number) =>
 | 
				
			||||||
  axiosGw
 | 
					  axiosGw
 | 
				
			||||||
    .get(`commands?serialNumber=${serialNumber}&startDate=${start}&endDate=${end}`)
 | 
					    .get(`commands?serialNumber=${serialNumber}&startDate=${start}&endDate=${end}&limit=${limit}&offset=${offset}`)
 | 
				
			||||||
    .then((response) => response.data) as Promise<{
 | 
					    .then((response) => response.data) as Promise<{
 | 
				
			||||||
    commands: DeviceCommandHistory[];
 | 
					    commands: DeviceCommandHistory[];
 | 
				
			||||||
  }>;
 | 
					  }>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const getCommandsByBatches = (serialNumber?: string, start?: number, end?: number) => async () => {
 | 
				
			||||||
 | 
					  let offset = 0;
 | 
				
			||||||
 | 
					  const limit = 100;
 | 
				
			||||||
 | 
					  let commands: DeviceCommandHistory[] = [];
 | 
				
			||||||
 | 
					  let latestResponse: {
 | 
				
			||||||
 | 
					    commands: DeviceCommandHistory[];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  do {
 | 
				
			||||||
 | 
					    // eslint-disable-next-line no-await-in-loop
 | 
				
			||||||
 | 
					    latestResponse = await getCommandsBatch(serialNumber, start, end, limit, offset);
 | 
				
			||||||
 | 
					    commands = commands.concat(latestResponse.commands);
 | 
				
			||||||
 | 
					    offset += limit;
 | 
				
			||||||
 | 
					  } while (latestResponse.commands.length === limit);
 | 
				
			||||||
 | 
					  return {
 | 
				
			||||||
 | 
					    commands,
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const useGetCommandHistoryWithTimestamps = ({
 | 
					export const useGetCommandHistoryWithTimestamps = ({
 | 
				
			||||||
  serialNumber,
 | 
					  serialNumber,
 | 
				
			||||||
  start,
 | 
					  start,
 | 
				
			||||||
@@ -74,7 +93,7 @@ export const useGetCommandHistoryWithTimestamps = ({
 | 
				
			|||||||
  end?: number;
 | 
					  end?: number;
 | 
				
			||||||
  onError?: (e: AxiosError) => void;
 | 
					  onError?: (e: AxiosError) => void;
 | 
				
			||||||
}) =>
 | 
					}) =>
 | 
				
			||||||
  useQuery(['commands', serialNumber, { start, end }], getCommandsWithTimestamps(serialNumber, start, end), {
 | 
					  useQuery(['commands', serialNumber, { start, end }], getCommandsByBatches(serialNumber, start, end), {
 | 
				
			||||||
    enabled: serialNumber !== undefined && serialNumber !== '' && start !== undefined && end !== undefined,
 | 
					    enabled: serialNumber !== undefined && serialNumber !== '' && start !== undefined && end !== undefined,
 | 
				
			||||||
    staleTime: 1000 * 60,
 | 
					    staleTime: 1000 * 60,
 | 
				
			||||||
    onError,
 | 
					    onError,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,13 +45,33 @@ export const useDeleteLogs = () => {
 | 
				
			|||||||
  });
 | 
					  });
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getDeviceLogsWithTimestamps = (serialNumber?: string, start?: number, end?: number) => async () =>
 | 
					const getLogsBatch = (serialNumber?: string, start?: number, end?: number, limit?: number, offset?: number) =>
 | 
				
			||||||
  axiosGw
 | 
					  axiosGw
 | 
				
			||||||
    .get(`device/${serialNumber}/logs?startDate=${start}&endDate=${end}`)
 | 
					    .get(`device/${serialNumber}/logs?startDate=${start}&endDate=${end}&limit=${limit}&offset=${offset}`)
 | 
				
			||||||
    .then((response) => response.data) as Promise<{
 | 
					    .then((response) => response.data) as Promise<{
 | 
				
			||||||
    values: DeviceLog[];
 | 
					    values: DeviceLog[];
 | 
				
			||||||
    serialNumber: string;
 | 
					    serialNumber: string;
 | 
				
			||||||
  }>;
 | 
					  }>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const getDeviceLogsWithTimestamps = (serialNumber?: string, start?: number, end?: number) => async () => {
 | 
				
			||||||
 | 
					  let offset = 0;
 | 
				
			||||||
 | 
					  const limit = 100;
 | 
				
			||||||
 | 
					  let logs: DeviceLog[] = [];
 | 
				
			||||||
 | 
					  let latestResponse: {
 | 
				
			||||||
 | 
					    values: DeviceLog[];
 | 
				
			||||||
 | 
					    serialNumber: string;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  do {
 | 
				
			||||||
 | 
					    // eslint-disable-next-line no-await-in-loop
 | 
				
			||||||
 | 
					    latestResponse = await getLogsBatch(serialNumber, start, end, limit, offset);
 | 
				
			||||||
 | 
					    logs = logs.concat(latestResponse.values);
 | 
				
			||||||
 | 
					    offset += limit;
 | 
				
			||||||
 | 
					  } while (latestResponse.values.length === limit);
 | 
				
			||||||
 | 
					  return {
 | 
				
			||||||
 | 
					    values: logs,
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const useGetDeviceLogsWithTimestamps = ({
 | 
					export const useGetDeviceLogsWithTimestamps = ({
 | 
				
			||||||
  serialNumber,
 | 
					  serialNumber,
 | 
				
			||||||
  start,
 | 
					  start,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,13 +33,34 @@ export const useGetHealthChecks = ({
 | 
				
			|||||||
    onError,
 | 
					    onError,
 | 
				
			||||||
  });
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getHealthChecksWithTimestamps = (serialNumber?: string, start?: number, end?: number) => async () =>
 | 
					const getHealthChecksBatch = (serialNumber?: string, start?: number, end?: number, limit?: number, offset?: number) =>
 | 
				
			||||||
  axiosGw
 | 
					  axiosGw
 | 
				
			||||||
    .get(`device/${serialNumber}/healthchecks?startDate=${start}&endDate=${end}`)
 | 
					    .get(`device/${serialNumber}/healthchecks?startDate=${start}&endDate=${end}&limit=${limit}&offset=${offset}`)
 | 
				
			||||||
    .then((response) => response.data) as Promise<{
 | 
					    .then((response) => response.data) as Promise<{
 | 
				
			||||||
    values: HealthCheck[];
 | 
					    values: HealthCheck[];
 | 
				
			||||||
    serialNumber: string;
 | 
					    serialNumber: string;
 | 
				
			||||||
  }>;
 | 
					  }>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const getHealthChecksByBatches = (serialNumber?: string, start?: number, end?: number) => async () => {
 | 
				
			||||||
 | 
					  let offset = 0;
 | 
				
			||||||
 | 
					  const limit = 100;
 | 
				
			||||||
 | 
					  let checks: HealthCheck[] = [];
 | 
				
			||||||
 | 
					  let latestResponse: {
 | 
				
			||||||
 | 
					    values: HealthCheck[];
 | 
				
			||||||
 | 
					    serialNumber: string;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  do {
 | 
				
			||||||
 | 
					    // eslint-disable-next-line no-await-in-loop
 | 
				
			||||||
 | 
					    latestResponse = await getHealthChecksBatch(serialNumber, start, end, limit, offset);
 | 
				
			||||||
 | 
					    checks = checks.concat(latestResponse.values);
 | 
				
			||||||
 | 
					    offset += limit;
 | 
				
			||||||
 | 
					  } while (latestResponse.values.length === limit);
 | 
				
			||||||
 | 
					  return {
 | 
				
			||||||
 | 
					    values: checks,
 | 
				
			||||||
 | 
					    serialNumber: latestResponse.serialNumber,
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const useGetHealthChecksWithTimestamps = ({
 | 
					export const useGetHealthChecksWithTimestamps = ({
 | 
				
			||||||
  serialNumber,
 | 
					  serialNumber,
 | 
				
			||||||
  start,
 | 
					  start,
 | 
				
			||||||
@@ -51,7 +72,7 @@ export const useGetHealthChecksWithTimestamps = ({
 | 
				
			|||||||
  end?: number;
 | 
					  end?: number;
 | 
				
			||||||
  onError?: (e: AxiosError) => void;
 | 
					  onError?: (e: AxiosError) => void;
 | 
				
			||||||
}) =>
 | 
					}) =>
 | 
				
			||||||
  useQuery(['healthchecks', serialNumber, { start, end }], getHealthChecksWithTimestamps(serialNumber, start, end), {
 | 
					  useQuery(['healthchecks', serialNumber, { start, end }], getHealthChecksByBatches(serialNumber, start, end), {
 | 
				
			||||||
    enabled: serialNumber !== undefined && serialNumber !== '' && start !== undefined && end !== undefined,
 | 
					    enabled: serialNumber !== undefined && serialNumber !== '' && start !== undefined && end !== undefined,
 | 
				
			||||||
    staleTime: 1000 * 60,
 | 
					    staleTime: 1000 * 60,
 | 
				
			||||||
    onError,
 | 
					    onError,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user