refactor(core): Remove deprecated TIME constant (#11740)

This commit is contained in:
Iván Ovejero 2024-11-15 10:28:21 +01:00 committed by GitHub
parent fb123b44af
commit f4f0b5110c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 12 additions and 28 deletions

View file

@ -110,25 +110,12 @@ export const UM_FIX_INSTRUCTION =
'Please fix the database by running ./packages/cli/bin/n8n user-management:reset'; 'Please fix the database by running ./packages/cli/bin/n8n user-management:reset';
/** /**
* Units of time in milliseconds * Convert time from any time unit to any other unit
* @deprecated Please use constants.Time instead.
*/
export const TIME = {
SECOND: 1000,
MINUTE: 60 * 1000,
HOUR: 60 * 60 * 1000,
DAY: 24 * 60 * 60 * 1000,
} as const;
/**
* Convert time from any unit to any other unit
*
* Please amend conversions as necessary.
* Eventually this will superseed `TIME` above
*/ */
export const Time = { export const Time = {
milliseconds: { milliseconds: {
toMinutes: 1 / (60 * 1000), toMinutes: 1 / (60 * 1000),
toSeconds: 1 / 1000,
}, },
seconds: { seconds: {
toMilliseconds: 1000, toMilliseconds: 1000,
@ -150,9 +137,9 @@ export const MIN_PASSWORD_CHAR_LENGTH = 8;
export const MAX_PASSWORD_CHAR_LENGTH = 64; export const MAX_PASSWORD_CHAR_LENGTH = 64;
export const TEST_WEBHOOK_TIMEOUT = 2 * TIME.MINUTE; export const TEST_WEBHOOK_TIMEOUT = 2 * Time.minutes.toMilliseconds;
export const TEST_WEBHOOK_TIMEOUT_BUFFER = 30 * TIME.SECOND; export const TEST_WEBHOOK_TIMEOUT_BUFFER = 30 * Time.seconds.toMilliseconds;
export const GENERIC_OAUTH2_CREDENTIALS_WITH_EDITABLE_SCOPE = [ export const GENERIC_OAUTH2_CREDENTIALS_WITH_EDITABLE_SCOPE = [
'oAuth2Api', 'oAuth2Api',

View file

@ -3,7 +3,7 @@ import { InstanceSettings } from 'n8n-core';
import { Service } from 'typedi'; import { Service } from 'typedi';
import config from '@/config'; import config from '@/config';
import { TIME } from '@/constants'; import { Time } from '@/constants';
import { Logger } from '@/logging/logger.service'; import { Logger } from '@/logging/logger.service';
import { Publisher } from '@/scaling/pubsub/publisher.service'; import { Publisher } from '@/scaling/pubsub/publisher.service';
import { RedisClientService } from '@/services/redis-client.service'; import { RedisClientService } from '@/services/redis-client.service';
@ -54,7 +54,7 @@ export class MultiMainSetup extends TypedEmitter<MultiMainEvents> {
this.leaderCheckInterval = setInterval(async () => { this.leaderCheckInterval = setInterval(async () => {
await this.checkLeader(); await this.checkLeader();
}, this.globalConfig.multiMainSetup.interval * TIME.SECOND); }, this.globalConfig.multiMainSetup.interval * Time.seconds.toMilliseconds);
} }
async shutdown() { async shutdown() {

View file

@ -4,7 +4,7 @@ import { ApplicationError, jsonStringify } from 'n8n-workflow';
import Container, { Service } from 'typedi'; import Container, { Service } from 'typedi';
import config from '@/config'; import config from '@/config';
import { TIME } from '@/constants'; import { Time } from '@/constants';
import { MalformedRefreshValueError } from '@/errors/cache-errors/malformed-refresh-value.error'; import { MalformedRefreshValueError } from '@/errors/cache-errors/malformed-refresh-value.error';
import { UncacheableValueError } from '@/errors/cache-errors/uncacheable-value.error'; import { UncacheableValueError } from '@/errors/cache-errors/uncacheable-value.error';
import type { import type {
@ -160,7 +160,7 @@ export class CacheService extends TypedEmitter<CacheEvents> {
}); });
} }
await this.cache.store.expire(key, ttlMs / TIME.SECOND); await this.cache.store.expire(key, ttlMs * Time.milliseconds.toSeconds);
} }
// ---------------------------------- // ----------------------------------

View file

@ -1,3 +0,0 @@
import { TIME } from '@/constants';
export const WORKFLOW_HISTORY_PRUNE_INTERVAL = 1 * TIME.HOUR;

View file

@ -1,9 +1,9 @@
import { DateTime } from 'luxon'; import { DateTime } from 'luxon';
import { Service } from 'typedi'; import { Service } from 'typedi';
import { Time } from '@/constants';
import { WorkflowHistoryRepository } from '@/databases/repositories/workflow-history.repository'; import { WorkflowHistoryRepository } from '@/databases/repositories/workflow-history.repository';
import { WORKFLOW_HISTORY_PRUNE_INTERVAL } from './constants';
import { import {
getWorkflowHistoryPruneTime, getWorkflowHistoryPruneTime,
isWorkflowHistoryEnabled, isWorkflowHistoryEnabled,
@ -20,7 +20,7 @@ export class WorkflowHistoryManager {
clearInterval(this.pruneTimer); clearInterval(this.pruneTimer);
} }
this.pruneTimer = setInterval(async () => await this.prune(), WORKFLOW_HISTORY_PRUNE_INTERVAL); this.pruneTimer = setInterval(async () => await this.prune(), 1 * Time.hours.toMilliseconds);
} }
shutdown() { shutdown() {

View file

@ -4,7 +4,7 @@ import { BinaryDataService, InstanceSettings } from 'n8n-core';
import type { ExecutionStatus } from 'n8n-workflow'; import type { ExecutionStatus } from 'n8n-workflow';
import Container from 'typedi'; import Container from 'typedi';
import { TIME } from '@/constants'; import { Time } from '@/constants';
import type { ExecutionEntity } from '@/databases/entities/execution-entity'; import type { ExecutionEntity } from '@/databases/entities/execution-entity';
import type { WorkflowEntity } from '@/databases/entities/workflow-entity'; import type { WorkflowEntity } from '@/databases/entities/workflow-entity';
import { ExecutionRepository } from '@/databases/repositories/execution.repository'; import { ExecutionRepository } from '@/databases/repositories/execution.repository';
@ -25,7 +25,7 @@ describe('softDeleteOnPruningCycle()', () => {
instanceSettings.markAsLeader(); instanceSettings.markAsLeader();
const now = new Date(); const now = new Date();
const yesterday = new Date(Date.now() - TIME.DAY); const yesterday = new Date(Date.now() - 1 * Time.days.toMilliseconds);
let workflow: WorkflowEntity; let workflow: WorkflowEntity;
let pruningConfig: PruningConfig; let pruningConfig: PruningConfig;