diff --git a/app/client/hooks/use-server-events.ts b/app/client/hooks/use-server-events.ts index b4001501..4898643c 100644 --- a/app/client/hooks/use-server-events.ts +++ b/app/client/hooks/use-server-events.ts @@ -34,10 +34,8 @@ const invalidatingEvents = new Set([ "doctor:cancelled", ]); -export type RestoreEvent = ServerEventsPayloadMap["restore:started"] | ServerEventsPayloadMap["restore:completed"]; export type RestoreProgressEvent = ServerEventsPayloadMap["restore:progress"]; export type RestoreCompletedEvent = ServerEventsPayloadMap["restore:completed"]; -export type BackupProgressEvent = ServerEventsPayloadMap["backup:progress"]; const sharedState: SharedServerEventsState = { eventSource: null, diff --git a/app/client/lib/sso-errors.ts b/app/client/lib/sso-errors.ts index a87b867d..1a343c0a 100644 --- a/app/client/lib/sso-errors.ts +++ b/app/client/lib/sso-errors.ts @@ -1,6 +1,5 @@ import { LOGIN_ERROR_CODES, type LoginErrorCode } from "~/lib/sso-errors"; -export type { LoginErrorCode } from "~/lib/sso-errors"; export { getLoginErrorDescription } from "~/lib/sso-errors"; const VALID_ERROR_CODES = new Set(LOGIN_ERROR_CODES); diff --git a/app/client/modules/backups/lib/cron-utils.ts b/app/client/modules/backups/lib/cron-utils.ts index a6fa4997..1cafbd70 100644 --- a/app/client/modules/backups/lib/cron-utils.ts +++ b/app/client/modules/backups/lib/cron-utils.ts @@ -1,4 +1,4 @@ -export type CronFormValues = { +type CronFormValues = { frequency: string; dailyTime?: string; weeklyDay?: string; diff --git a/app/lib/request-client.ts b/app/lib/request-client.ts index c8613f55..12624984 100644 --- a/app/lib/request-client.ts +++ b/app/lib/request-client.ts @@ -1,7 +1,7 @@ import type { Config } from "~/client/api-client/client"; import { createClient, createConfig } from "~/client/api-client/client"; -export type RequestClient = ReturnType; +type RequestClient = ReturnType; type RequestClientStore = { getStore: () => RequestClient | undefined; diff --git a/app/schemas/events-dto.ts b/app/schemas/events-dto.ts index e964b440..a671205c 100644 --- a/app/schemas/events-dto.ts +++ b/app/schemas/events-dto.ts @@ -67,14 +67,7 @@ const serverRestoreCompletedEventSchema = organizationScopedSchema.extend(restor const serverDumpStartedEventSchema = organizationScopedSchema.extend(dumpStartedEventSchema.shape); -export type BackupEventStatusDto = z.infer; -export type BackupStartedEventDto = z.infer; export type BackupProgressEventDto = z.infer; -export type BackupCompletedEventDto = z.infer; -export type RestoreStartedEventDto = z.infer; -export type RestoreProgressEventDto = z.infer; -export type RestoreCompletedEventDto = z.infer; -export type DumpStartedEventDto = z.infer; export type ServerBackupStartedEventDto = z.infer; export type ServerBackupProgressEventDto = z.infer; export type ServerBackupCompletedEventDto = z.infer; diff --git a/app/server/core/capabilities.ts b/app/server/core/capabilities.ts index b5621acc..2ad65e23 100644 --- a/app/server/core/capabilities.ts +++ b/app/server/core/capabilities.ts @@ -2,7 +2,7 @@ import * as fs from "node:fs/promises"; import { RCLONE_CONFIG_DIR, RCLONE_CONFIG_FILE } from "./constants"; import { logger } from "@zerobyte/core/node"; -export type SystemCapabilities = { +type SystemCapabilities = { rclone: boolean; sysAdmin: boolean; }; diff --git a/app/server/core/events.ts b/app/server/core/events.ts index 5b4d026b..98353153 100644 --- a/app/server/core/events.ts +++ b/app/server/core/events.ts @@ -1,7 +1,6 @@ import { EventEmitter } from "node:events"; import type { TypedEmitter } from "tiny-typed-emitter"; import type { ServerEventHandlers } from "~/schemas/server-events"; -export type { ServerEventHandlers, ServerEventPayloadMap } from "~/schemas/server-events"; /** * Global event emitter for server-side events diff --git a/app/server/core/repository-mutex.ts b/app/server/core/repository-mutex.ts index 63fb0026..a1a056ff 100644 --- a/app/server/core/repository-mutex.ts +++ b/app/server/core/repository-mutex.ts @@ -1,8 +1,8 @@ import { logger } from "@zerobyte/core/node"; -export type LockType = "shared" | "exclusive"; +type LockType = "shared" | "exclusive"; -export interface LockRequest { +interface LockRequest { repositoryId: string; type: LockType; operation: string; diff --git a/app/server/core/request-context.ts b/app/server/core/request-context.ts index eed3bcc5..35b65903 100644 --- a/app/server/core/request-context.ts +++ b/app/server/core/request-context.ts @@ -1,6 +1,6 @@ import { AsyncLocalStorage } from "node:async_hooks"; -export type RequestContext = { +type RequestContext = { organizationId: string; userId?: string; }; diff --git a/app/server/modules/agents/agents-manager.ts b/app/server/modules/agents/agents-manager.ts index 7830f349..6986b671 100644 --- a/app/server/modules/agents/agents-manager.ts +++ b/app/server/modules/agents/agents-manager.ts @@ -11,7 +11,7 @@ export type { ProcessWithAgentRuntime } from "./helpers/runtime-state.dev"; const productionRuntimeState = createAgentRuntimeState(); -export type AgentRunBackupRequest = { +type AgentRunBackupRequest = { scheduleId: number; payload: BackupRunPayload; signal: AbortSignal; diff --git a/app/server/modules/backups/backup-executor.ts b/app/server/modules/backups/backup-executor.ts index 7a074e5e..93cb420b 100644 --- a/app/server/modules/backups/backup-executor.ts +++ b/app/server/modules/backups/backup-executor.ts @@ -21,8 +21,6 @@ type BackupExecutionRequest = { onProgress: (progress: BackupExecutionProgress) => void; }; -export type { BackupExecutionResult } from "../agents/agents-manager"; - const activeControllersByScheduleId = new Map(); const createBackupRunPayload = async ({ diff --git a/app/server/modules/backups/backups.dto.ts b/app/server/modules/backups/backups.dto.ts index facf490a..9244cdce 100644 --- a/app/server/modules/backups/backups.dto.ts +++ b/app/server/modules/backups/backups.dto.ts @@ -14,8 +14,6 @@ const retentionPolicySchema = z.object({ keepWithinDuration: z.string().optional(), }); -export type RetentionPolicy = z.infer; - const backupScheduleSchema = z.object({ id: z.number(), shortId: z.string(), @@ -54,8 +52,6 @@ const scheduleMirrorSchema = z.object({ repository: repositorySchema, }); -export type ScheduleMirrorDto = z.infer; - export const listBackupSchedulesResponse = backupScheduleSchema.array(); export type ListBackupSchedulesResponseDto = z.infer; @@ -376,8 +372,6 @@ export const reorderBackupSchedulesBody = z.object({ scheduleShortIds: z.array(z.string()), }); -export type ReorderBackupSchedulesBody = z.infer; - const reorderBackupSchedulesResponse = z.object({ success: z.boolean(), }); @@ -433,8 +427,6 @@ export const syncMirrorBody = z.object({ snapshotIds: z.array(z.string()).optional(), }); -export type SyncMirrorBody = z.infer; - const syncMirrorResponse = z.object({ success: z.boolean(), }); diff --git a/app/server/modules/backups/backups.queries.ts b/app/server/modules/backups/backups.queries.ts index 37d411db..00b2641a 100644 --- a/app/server/modules/backups/backups.queries.ts +++ b/app/server/modules/backups/backups.queries.ts @@ -2,8 +2,8 @@ import { and, eq } from "drizzle-orm"; import { db } from "../../db/db"; import { backupSchedulesTable, backupScheduleMirrorsTable } from "../../db/schema"; -export type BackupStatusType = "in_progress" | "success" | "warning" | "error"; -export type MirrorStatusType = "in_progress" | "success" | "error"; +type BackupStatusType = "in_progress" | "success" | "warning" | "error"; +type MirrorStatusType = "in_progress" | "success" | "error"; type MirrorStatusUpdate = { lastCopyAt?: number | null; diff --git a/app/server/modules/backups/helpers/backup-lifecycle.ts b/app/server/modules/backups/helpers/backup-lifecycle.ts index 82525e06..522a0166 100644 --- a/app/server/modules/backups/helpers/backup-lifecycle.ts +++ b/app/server/modules/backups/helpers/backup-lifecycle.ts @@ -15,7 +15,7 @@ import { repositoriesService } from "../../repositories/repositories.service"; import { volumeService } from "../../volumes/volume.service"; import { copyToMirrors, runForget } from "./backup-maintenance"; -export interface BackupContext { +interface BackupContext { schedule: BackupSchedule; volume: Volume; repository: Repository; @@ -38,7 +38,7 @@ type ValidationSkipped = { reason: string; }; -export type ValidationResult = ValidationSuccess | ValidationFailure | ValidationSkipped; +type ValidationResult = ValidationSuccess | ValidationFailure | ValidationSkipped; export function getBackupProgress(scheduleId: number): BackupProgressEventDto | undefined { return cache.get(cacheKeys.backup.progress(scheduleId)); diff --git a/app/server/modules/notifications/notifications.dto.ts b/app/server/modules/notifications/notifications.dto.ts index b227d28a..864422ab 100644 --- a/app/server/modules/notifications/notifications.dto.ts +++ b/app/server/modules/notifications/notifications.dto.ts @@ -12,8 +12,6 @@ const notificationDestinationSchema = z.object({ updatedAt: z.number(), }); -export type NotificationDestinationDto = z.infer; - const listDestinationsResponse = notificationDestinationSchema.array(); export type ListDestinationsDto = z.infer; @@ -172,8 +170,6 @@ const scheduleNotificationAssignmentSchema = z.object({ destination: notificationDestinationSchema, }); -export type ScheduleNotificationAssignmentDto = z.infer; - const getScheduleNotificationsResponse = scheduleNotificationAssignmentSchema.array(); export type GetScheduleNotificationsDto = z.infer; diff --git a/app/server/modules/repositories/repositories.dto.ts b/app/server/modules/repositories/repositories.dto.ts index ec01918a..79ca2d00 100644 --- a/app/server/modules/repositories/repositories.dto.ts +++ b/app/server/modules/repositories/repositories.dto.ts @@ -27,8 +27,6 @@ export const repositorySchema = z.object({ updatedAt: z.number(), }); -export type RepositoryDto = z.infer; - const listRepositoriesResponse = repositorySchema.array(); export type ListRepositoriesDto = z.infer; @@ -54,8 +52,6 @@ export const createRepositoryBody = z.object({ config: repositoryConfigSchema, }); -export type CreateRepositoryBody = z.infer; - const createRepositoryResponse = z.object({ message: z.string(), repository: z.object({ @@ -65,8 +61,6 @@ const createRepositoryResponse = z.object({ }), }); -export type CreateRepositoryDto = z.infer; - export const createRepositoryDto = describeRoute({ description: "Create a new restic repository", operationId: "createRepository", @@ -352,8 +346,6 @@ export const restoreSnapshotBody = z.object({ overwrite: overwriteModeSchema.optional(), }); -export type RestoreSnapshotBody = z.infer; - const restoreSnapshotResponse = z.object({ success: z.boolean(), message: z.string(), @@ -559,8 +551,6 @@ export const devPanelExecBody = z.object({ args: z.array(z.string()).optional(), }); -export type DevPanelExecBody = z.infer; - export const devPanelExecDto = describeRoute({ description: "Execute a restic command against a repository (dev panel only)", tags: ["Repositories"], diff --git a/app/server/modules/volumes/volume.dto.ts b/app/server/modules/volumes/volume.dto.ts index 3aa187fc..d669c8cf 100644 --- a/app/server/modules/volumes/volume.dto.ts +++ b/app/server/modules/volumes/volume.dto.ts @@ -17,8 +17,6 @@ export const volumeSchema = z.object({ autoRemount: z.boolean(), }); -export type VolumeDto = z.infer; - const listVolumesResponse = volumeSchema.array(); export type ListVolumesDto = z.infer; @@ -65,7 +63,6 @@ export const createVolumeDto = describeRoute({ const deleteVolumeResponse = z.object({ message: z.string(), }); -export type DeleteVolumeDto = z.infer; export const deleteVolumeDto = describeRoute({ description: "Delete a volume", @@ -153,7 +150,6 @@ const testConnectionResponse = z.object({ success: z.boolean(), message: z.string(), }); -export type TestConnectionDto = z.infer; export const testConnectionDto = describeRoute({ description: "Test connection to backend", @@ -175,7 +171,6 @@ const mountVolumeResponse = z.object({ error: z.string().optional(), status: z.enum(BACKEND_STATUS), }); -export type MountVolumeDto = z.infer; export const mountVolumeDto = describeRoute({ description: "Mount a volume", @@ -197,7 +192,6 @@ const unmountVolumeResponse = z.object({ error: z.string().optional(), status: z.enum(BACKEND_STATUS), }); -export type UnmountVolumeDto = z.infer; export const unmountVolumeDto = describeRoute({ description: "Unmount a volume", @@ -219,7 +213,6 @@ const healthCheckResponse = z.object({ error: z.string().optional(), status: z.enum(BACKEND_STATUS), }); -export type HealthCheckDto = z.infer; export const healthCheckDto = describeRoute({ description: "Perform a health check on a volume", diff --git a/app/server/utils/backend-compatibility.ts b/app/server/utils/backend-compatibility.ts index c07f463d..b75eb9d5 100644 --- a/app/server/utils/backend-compatibility.ts +++ b/app/server/utils/backend-compatibility.ts @@ -89,7 +89,7 @@ const hasCompatibleCredentials = async (config1: RepositoryConfig, config2: Repo } }; -export interface CompatibilityResult { +interface CompatibilityResult { repositoryId: string; compatible: boolean; reason: string | null; diff --git a/app/server/utils/branded.ts b/app/server/utils/branded.ts index f0221b72..a34e59b9 100644 --- a/app/server/utils/branded.ts +++ b/app/server/utils/branded.ts @@ -1,6 +1,6 @@ declare const brand: unique symbol; -export type Branded = T & { [brand]: B }; +type Branded = T & { [brand]: B }; export type ShortId = Branded; diff --git a/app/server/utils/cache.ts b/app/server/utils/cache.ts index 5a0a152e..a4e37611 100644 --- a/app/server/utils/cache.ts +++ b/app/server/utils/cache.ts @@ -5,7 +5,7 @@ import { DATABASE_URL } from "../core/constants"; const ONE_DAY_IN_SECONDS = 60 * 60 * 24; -export interface CacheOptions { +interface CacheOptions { dbPath?: string; } diff --git a/app/server/utils/shoutrrr.ts b/app/server/utils/shoutrrr.ts index 9a774fe2..336ba7b6 100644 --- a/app/server/utils/shoutrrr.ts +++ b/app/server/utils/shoutrrr.ts @@ -2,7 +2,7 @@ import { safeExec } from "@zerobyte/core/node"; import { logger } from "@zerobyte/core/node"; import { toMessage } from "./errors"; -export interface SendNotificationParams { +interface SendNotificationParams { shoutrrrUrl: string; title: string; body: string; diff --git a/app/utils/format-bytes.ts b/app/utils/format-bytes.ts index 01a03da9..772c9eb5 100644 --- a/app/utils/format-bytes.ts +++ b/app/utils/format-bytes.ts @@ -1,7 +1,7 @@ const SI_UNITS = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"] as const; const IEC_UNITS = ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"] as const; -export type FormatBytesResult = { +type FormatBytesResult = { text: string; unit: string; unitIndex: number; @@ -17,13 +17,7 @@ export type FormatBytesOptions = { }; export function formatBytes(bytes: number, options?: FormatBytesOptions): FormatBytesResult { - const { - base = 1000, - maximumFractionDigits = 2, - smartRounding = true, - locale, - fallback = "—", - } = options ?? {}; + const { base = 1000, maximumFractionDigits = 2, smartRounding = true, locale, fallback = "—" } = options ?? {}; if (!Number.isFinite(bytes)) { return { diff --git a/packages/core/src/node/fs.ts b/packages/core/src/node/fs.ts index 4a2fec9b..1b5b4b06 100644 --- a/packages/core/src/node/fs.ts +++ b/packages/core/src/node/fs.ts @@ -4,7 +4,7 @@ export const FILE_MODES = { ownerReadWrite: 0o600, } as const; -export type FileMode = (typeof FILE_MODES)[keyof typeof FILE_MODES]; +type FileMode = (typeof FILE_MODES)[keyof typeof FILE_MODES]; export const writeFileWithMode = async (filePath: string, data: string, mode: FileMode) => { await fs.writeFile(filePath, data, { mode }); diff --git a/packages/core/src/node/spawn.ts b/packages/core/src/node/spawn.ts index dd626dcb..02cfafcf 100644 --- a/packages/core/src/node/spawn.ts +++ b/packages/core/src/node/spawn.ts @@ -34,7 +34,7 @@ export const safeExec = async ({ command, args = [], env = {}, ...rest }: ExecPr } }; -export interface SafeSpawnParamsBase { +interface SafeSpawnParamsBase { command: string; args: string[]; env?: NodeJS.ProcessEnv; diff --git a/packages/core/src/restic/commands/ls.ts b/packages/core/src/restic/commands/ls.ts index 4ea52265..07d18a99 100644 --- a/packages/core/src/restic/commands/ls.ts +++ b/packages/core/src/restic/commands/ls.ts @@ -38,7 +38,7 @@ const lsSnapshotInfoSchema = z.object({ type LsNode = z.infer; type LsSnapshotInfo = z.infer; -export type ResticLsResult = { +type ResticLsResult = { snapshot: LsSnapshotInfo | null; nodes: LsNode[]; pagination: {