diff --git a/server/src/browser-management/classes/RemoteBrowser.ts b/server/src/browser-management/classes/RemoteBrowser.ts index 72098a1f..483abb8c 100644 --- a/server/src/browser-management/classes/RemoteBrowser.ts +++ b/server/src/browser-management/classes/RemoteBrowser.ts @@ -9,11 +9,9 @@ import { chromium } from 'playwright-extra'; import stealthPlugin from 'puppeteer-extra-plugin-stealth'; import { PlaywrightBlocker } from '@cliqz/adblocker-playwright'; import fetch from 'cross-fetch'; -import { throttle } from 'lodash'; import sharp from 'sharp'; - import logger from '../../logger'; -import { InterpreterSettings, RemoteBrowserOptions } from "../../types"; +import { InterpreterSettings } from "../../types"; import { WorkflowGenerator } from "../../workflow-management/classes/Generator"; import { WorkflowInterpreter } from "../../workflow-management/classes/Interpreter"; import { getDecryptedProxyConfig } from '../../routes/proxy'; diff --git a/server/src/middlewares/api.ts b/server/src/middlewares/api.ts index 81ae028e..5374af9b 100644 --- a/server/src/middlewares/api.ts +++ b/server/src/middlewares/api.ts @@ -1,4 +1,4 @@ -import { Request, Response } from "express"; +import { Response } from "express"; import User from "../models/User"; import { AuthenticatedRequest } from "../routes/record" diff --git a/server/src/models/Robot.ts b/server/src/models/Robot.ts index 1d03999e..1681eaac 100644 --- a/server/src/models/Robot.ts +++ b/server/src/models/Robot.ts @@ -1,6 +1,6 @@ import { Model, DataTypes, Optional } from 'sequelize'; import sequelize from '../storage/db'; -import { WorkflowFile, Where, What, WhereWhatPair } from 'maxun-core'; +import { WhereWhatPair } from 'maxun-core'; interface RobotMeta { name: string; @@ -143,9 +143,4 @@ Robot.init( } ); -// Robot.hasMany(Run, { -// foreignKey: 'robotId', -// as: 'runs', // Alias for the relation -// }); - export default Robot; \ No newline at end of file diff --git a/server/src/models/User.ts b/server/src/models/User.ts index c8d6884e..6664f381 100644 --- a/server/src/models/User.ts +++ b/server/src/models/User.ts @@ -1,6 +1,5 @@ import { DataTypes, Model, Optional } from 'sequelize'; import sequelize from '../storage/db'; -import Robot from './Robot'; interface UserAttributes { id: number; @@ -61,13 +60,6 @@ User.init( proxy_username: { type: DataTypes.STRING, allowNull: true, - // validate: { - // isProxyPasswordRequired(value: string | null) { - // if (value && !this.proxy_password) { - // throw new Error('Proxy password is required when proxy username is provided'); - // } - // }, - // }, }, proxy_password: { type: DataTypes.STRING, @@ -80,9 +72,4 @@ User.init( } ); -// User.hasMany(Robot, { -// foreignKey: 'userId', -// as: 'robots', // Alias for the relation -// }); - export default User; diff --git a/server/src/pgboss-worker.ts b/server/src/pgboss-worker.ts index 269f6773..0771cc27 100644 --- a/server/src/pgboss-worker.ts +++ b/server/src/pgboss-worker.ts @@ -8,7 +8,6 @@ import { destroyRemoteBrowser, interpretWholeWorkflow, stopRunningInterpretation, - createRemoteBrowserForRun } from './browser-management/controller'; import { WorkflowFile } from 'maxun-core'; import Run from './models/Run'; diff --git a/server/src/routes/auth.ts b/server/src/routes/auth.ts index 4a435cd6..1ce415b1 100644 --- a/server/src/routes/auth.ts +++ b/server/src/routes/auth.ts @@ -1,5 +1,4 @@ import { Router, Request, Response } from "express"; - import User from "../models/User"; import Robot from "../models/Robot"; import jwt from "jsonwebtoken"; @@ -10,7 +9,6 @@ import { google } from "googleapis"; import { capture } from "../utils/analytics"; import crypto from 'crypto'; - declare module "express-session" { interface SessionData { code_verifier: string; diff --git a/server/src/routes/record.ts b/server/src/routes/record.ts index fee5039a..7bd24708 100644 --- a/server/src/routes/record.ts +++ b/server/src/routes/record.ts @@ -5,8 +5,6 @@ import { Router, Request, Response } from 'express'; import { initializeRemoteBrowserForRecording, - destroyRemoteBrowser, - getActiveBrowserId, interpretWholeWorkflow, stopRunningInterpretation, getRemoteBrowserCurrentUrl, @@ -16,7 +14,6 @@ import { import { chromium } from 'playwright-extra'; import stealthPlugin from 'puppeteer-extra-plugin-stealth'; import logger from "../logger"; -import { getDecryptedProxyConfig } from './proxy'; import { requireSignIn } from '../middlewares/auth'; import { pgBoss } from '../pgboss-worker'; diff --git a/server/src/routes/storage.ts b/server/src/routes/storage.ts index 7643a59c..b8c9a1ab 100644 --- a/server/src/routes/storage.ts +++ b/server/src/routes/storage.ts @@ -1,27 +1,21 @@ import { Router } from 'express'; import logger from "../logger"; -import { createRemoteBrowserForRun, destroyRemoteBrowser, getActiveBrowserIdByState } from "../browser-management/controller"; +import { createRemoteBrowserForRun, getActiveBrowserIdByState } from "../browser-management/controller"; import { chromium } from 'playwright-extra'; import stealthPlugin from 'puppeteer-extra-plugin-stealth'; import { browserPool } from "../server"; import { uuid } from "uuidv4"; import moment from 'moment-timezone'; import cron from 'node-cron'; -import { googleSheetUpdateTasks, processGoogleSheetUpdates } from '../workflow-management/integrations/gsheet'; import { getDecryptedProxyConfig } from './proxy'; import { requireSignIn } from '../middlewares/auth'; import Robot from '../models/Robot'; import Run from '../models/Run'; -import { BinaryOutputService } from '../storage/mino'; -import { workflowQueue } from '../worker'; import { AuthenticatedRequest } from './record'; import { computeNextRun } from '../utils/schedule'; import { capture } from "../utils/analytics"; -import { tryCatch } from 'bullmq'; import { encrypt, decrypt } from '../utils/auth'; import { WorkflowFile } from 'maxun-core'; -import { Page } from 'playwright'; -import { airtableUpdateTasks, processAirtableUpdates } from '../workflow-management/integrations/airtable'; import { cancelScheduledWorkflow, scheduleWorkflow } from '../schedule-worker'; import { pgBoss } from '../pgboss-worker'; chromium.use(stealthPlugin()); diff --git a/server/src/schedule-worker.ts b/server/src/schedule-worker.ts index bb376c18..73afd872 100644 --- a/server/src/schedule-worker.ts +++ b/server/src/schedule-worker.ts @@ -6,7 +6,6 @@ import logger from './logger'; import Robot from './models/Robot'; import { handleRunRecording } from './workflow-management/scheduler'; import { computeNextRun } from './utils/schedule'; -import { capture } from './utils/analytics'; const pgBossConnectionString = `postgres://${process.env.DB_USER}:${process.env.DB_PASSWORD}@${process.env.DB_HOST}:${process.env.DB_PORT}/${process.env.DB_NAME}`; diff --git a/server/src/server.ts b/server/src/server.ts index cc3dc199..91174cca 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -8,9 +8,7 @@ import { record, workflow, storage, auth, integration, proxy } from './routes'; import { BrowserPool } from "./browser-management/classes/BrowserPool"; import logger from './logger'; import { connectDB, syncDB } from './storage/db' -import bodyParser from 'body-parser'; import cookieParser from 'cookie-parser'; -import csrf from 'csurf'; import { SERVER_PORT } from "./constants/config"; import { Server } from "socket.io"; import { readdirSync } from "fs" @@ -20,9 +18,7 @@ import swaggerUi from 'swagger-ui-express'; import swaggerSpec from './swagger/config'; import connectPgSimple from 'connect-pg-simple'; import pg from 'pg'; - import session from 'express-session'; - import Run from './models/Run'; const app = express(); diff --git a/server/src/socket-connection/connection.ts b/server/src/socket-connection/connection.ts index 66294ecf..a7f7565d 100644 --- a/server/src/socket-connection/connection.ts +++ b/server/src/socket-connection/connection.ts @@ -1,6 +1,6 @@ import { Namespace, Socket } from 'socket.io'; import { IncomingMessage } from 'http'; -import { verify, JwtPayload, sign } from 'jsonwebtoken'; +import { verify, JwtPayload } from 'jsonwebtoken'; import logger from "../logger"; import registerInputHandlers from '../browser-management/inputHandlers'; diff --git a/server/src/storage/db.ts b/server/src/storage/db.ts index cdd84655..25c1d104 100644 --- a/server/src/storage/db.ts +++ b/server/src/storage/db.ts @@ -1,6 +1,5 @@ import { Sequelize } from 'sequelize'; import dotenv from 'dotenv'; -import setupAssociations from '../models/associations'; dotenv.config(); diff --git a/server/src/workflow-management/classes/Generator.ts b/server/src/workflow-management/classes/Generator.ts index aea37126..004126bd 100644 --- a/server/src/workflow-management/classes/Generator.ts +++ b/server/src/workflow-management/classes/Generator.ts @@ -13,11 +13,7 @@ import { selectorAlreadyInWorkflow } from "../selector"; import { CustomActions } from "../../../../src/shared/types"; -import { workflow } from "../../routes"; import Robot from "../../models/Robot"; -import Run from "../../models/Run"; -import { saveFile } from "../storage"; -import fs from "fs"; import { getBestSelectorForAction } from "../utils"; import { browserPool } from "../../server"; import { uuid } from "uuidv4"; diff --git a/src/components/browser/BrowserNavBar.tsx b/src/components/browser/BrowserNavBar.tsx index 64759d62..a9a1a8d0 100644 --- a/src/components/browser/BrowserNavBar.tsx +++ b/src/components/browser/BrowserNavBar.tsx @@ -5,7 +5,7 @@ import ArrowBackIcon from '@mui/icons-material/ArrowBack'; import ArrowForwardIcon from '@mui/icons-material/ArrowForward'; import { NavBarButton } from '../ui/buttons/buttons'; import { UrlForm } from './UrlForm'; -import { useCallback, useEffect, useState } from "react"; +import { useCallback, useEffect } from "react"; import { useSocketStore } from "../../context/socket"; import { getCurrentUrl } from "../../api/recording"; import { useGlobalInfoStore } from '../../context/globalInfo'; diff --git a/src/components/dashboard/MainMenu.tsx b/src/components/dashboard/MainMenu.tsx index df7b41ae..8fcdaedf 100644 --- a/src/components/dashboard/MainMenu.tsx +++ b/src/components/dashboard/MainMenu.tsx @@ -4,7 +4,7 @@ import Tab from '@mui/material/Tab'; import Box from '@mui/material/Box'; import { useNavigate } from 'react-router-dom'; import { Paper, Button, useTheme } from "@mui/material"; -import { AutoAwesome, FormatListBulleted, VpnKey, Usb, Article, CloudQueue, Code, } from "@mui/icons-material"; +import { AutoAwesome, FormatListBulleted, VpnKey, Usb, CloudQueue, Code, } from "@mui/icons-material"; import { apiUrl } from "../../apiConfig"; import { useTranslation } from 'react-i18next'; import i18n from '../../i18n'; diff --git a/src/components/run/InterpretationLog.tsx b/src/components/run/InterpretationLog.tsx index 09025c99..fa749efa 100644 --- a/src/components/run/InterpretationLog.tsx +++ b/src/components/run/InterpretationLog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import SwipeableDrawer from '@mui/material/SwipeableDrawer'; import Typography from '@mui/material/Typography'; -import { Button, TextField, Grid } from '@mui/material'; +import { Button, Grid } from '@mui/material'; import { useCallback, useEffect, useRef, useState } from "react"; import { useSocketStore } from "../../context/socket"; import { Buffer } from 'buffer'; diff --git a/src/components/run/Runs.tsx b/src/components/run/Runs.tsx index cedbf348..736378f6 100644 --- a/src/components/run/Runs.tsx +++ b/src/components/run/Runs.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import React from 'react'; import { Grid } from "@mui/material"; import { RunsTable } from "./RunsTable"; diff --git a/src/components/run/RunsTable.tsx b/src/components/run/RunsTable.tsx index 53d29433..1e52f1c7 100644 --- a/src/components/run/RunsTable.tsx +++ b/src/components/run/RunsTable.tsx @@ -9,7 +9,7 @@ import TableContainer from '@mui/material/TableContainer'; import TableHead from '@mui/material/TableHead'; import TablePagination from '@mui/material/TablePagination'; import TableRow from '@mui/material/TableRow'; -import { Accordion, AccordionSummary, AccordionDetails, Typography, Box, TextField, CircularProgress, Tooltip } from '@mui/material'; +import { Accordion, AccordionSummary, AccordionDetails, Typography, Box, TextField, Tooltip } from '@mui/material'; import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; import SearchIcon from '@mui/icons-material/Search'; import { useLocation, useNavigate } from 'react-router-dom'; diff --git a/src/components/ui/ConfirmationBox.tsx b/src/components/ui/ConfirmationBox.tsx index b3eb10c2..1e667b03 100644 --- a/src/components/ui/ConfirmationBox.tsx +++ b/src/components/ui/ConfirmationBox.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { Box, Button, IconButton, Stack, Typography } from "@mui/material"; +import { Box, Button, Typography } from "@mui/material"; interface ConfirmationBoxProps { selector: string; diff --git a/src/pages/MainPage.tsx b/src/pages/MainPage.tsx index 60990291..aa896d50 100644 --- a/src/pages/MainPage.tsx +++ b/src/pages/MainPage.tsx @@ -12,8 +12,6 @@ import { io, Socket } from "socket.io-client"; import { stopRecording } from "../api/recording"; import { RunSettings } from "../components/run/RunSettings"; import { ScheduleSettings } from "../components/robot/ScheduleSettings"; -import { IntegrationSettings } from "../components/integration/IntegrationSettings"; -import { RobotSettings } from "../components/robot/RobotSettings"; import { apiUrl } from "../apiConfig"; import { useNavigate } from 'react-router-dom'; diff --git a/src/pages/PageWrapper.tsx b/src/pages/PageWrapper.tsx index 16f2e50d..e7361b2f 100644 --- a/src/pages/PageWrapper.tsx +++ b/src/pages/PageWrapper.tsx @@ -6,7 +6,6 @@ import { AuthProvider } from '../context/auth'; import { RecordingPage } from "./RecordingPage"; import { MainPage } from "./MainPage"; import { useGlobalInfoStore } from "../context/globalInfo"; -import { getActiveBrowserId } from "../api/recording"; import { AlertSnackbar } from "../components/ui/AlertSnackbar"; import Login from './Login'; import Register from './Register'; diff --git a/src/pages/RecordingPage.tsx b/src/pages/RecordingPage.tsx index 034b2ea8..34c2f90d 100644 --- a/src/pages/RecordingPage.tsx +++ b/src/pages/RecordingPage.tsx @@ -3,7 +3,6 @@ import { Grid } from '@mui/material'; import { BrowserContent } from "../components/browser/BrowserContent"; import { InterpretationLog } from "../components/run/InterpretationLog"; import { startRecording, getActiveBrowserId } from "../api/recording"; -import { LeftSidePanel } from "../components/recorder/LeftSidePanel"; import { RightSidePanel } from "../components/recorder/RightSidePanel"; import { Loader } from "../components/ui/Loader"; import { useSocketStore } from "../context/socket";