整理代码结构
This commit is contained in:
+1
-1
@@ -1,7 +1,7 @@
|
||||
import { getDbInstance, runDb, getDb, allDb } from '../database/connection';
|
||||
import { AppearanceSettings, UpdateAppearanceDto } from '../types/appearance.types';
|
||||
import { defaultUiTheme } from '../config/default-themes';
|
||||
import { findThemeById as findTerminalThemeById } from './terminal-theme.repository';
|
||||
import { findThemeById as findTerminalThemeById } from '../terminal-themes/terminal-theme.repository';
|
||||
import * as sqlite3 from 'sqlite3';
|
||||
|
||||
const TABLE_NAME = 'appearance_settings';
|
||||
@@ -9,8 +9,8 @@ import { ipBlacklistService } from '../services/ip-blacklist.service';
|
||||
import { captchaService } from '../services/captcha.service';
|
||||
import { settingsService } from '../services/settings.service';
|
||||
import { passkeyService } from '../services/passkey.service'; // +++ Passkey Service
|
||||
import { passkeyRepository } from '../repositories/passkey.repository'; // +++ Passkey Repository
|
||||
import { userRepository } from '../repositories/user.repository'; // For passkey auth success
|
||||
import { passkeyRepository } from '../passkey/passkey.repository'; // +++ Passkey Repository
|
||||
import { userRepository } from '../user/user.repository'; // For passkey auth success
|
||||
|
||||
const notificationService = new NotificationService();
|
||||
const auditLogService = new AuditLogService();
|
||||
|
||||
@@ -3,7 +3,7 @@ import * as ConnectionService from '../services/connection.service';
|
||||
import * as SshService from '../services/ssh.service';
|
||||
import * as GuacamoleService from '../services/guacamole.service';
|
||||
import * as ImportExportService from '../services/import-export.service';
|
||||
import * as ConnectionRepository from '../repositories/connection.repository';
|
||||
import * as ConnectionRepository from './connection.repository';
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Database } from 'sqlite3';
|
||||
import * as schemaSql from './schema';
|
||||
import * as appearanceRepository from '../repositories/appearance.repository';
|
||||
import * as terminalThemeRepository from '../repositories/terminal-theme.repository';
|
||||
import * as settingsRepository from '../repositories/settings.repository';
|
||||
import * as appearanceRepository from '../appearance/appearance.repository';
|
||||
import * as terminalThemeRepository from '../terminal-themes/terminal-theme.repository';
|
||||
import * as settingsRepository from '../settings/settings.repository';
|
||||
import { presetTerminalThemes } from '../config/preset-themes-definition';
|
||||
import { runDb } from './connection';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Request, Response } from 'express';
|
||||
import { NotificationSettingsRepository } from '../repositories/notification.repository'; // Use repository
|
||||
import { NotificationSettingsRepository } from './notification.repository'; // Use repository
|
||||
import { NotificationSetting, NotificationChannelType, NotificationChannelConfig, WebhookConfig, EmailConfig, TelegramConfig, NotificationEvent } from '../types/notification.types';
|
||||
// import { AuditLogService } from '../services/audit.service'; // Keep for now if other parts use it - Removed as eventService is used
|
||||
import { AppEventType, default as eventService } from '../services/event.service'; // Import event service
|
||||
|
||||
@@ -2,7 +2,7 @@ import fs from 'fs/promises'; // 使用 promises API
|
||||
import path from 'path';
|
||||
import * as appearanceRepository from '../repositories/appearance.repository';
|
||||
import { AppearanceSettings, UpdateAppearanceDto } from '../types/appearance.types';
|
||||
import * as terminalThemeRepository from '../repositories/terminal-theme.repository';
|
||||
import * as terminalThemeRepository from '../terminal-themes/terminal-theme.repository';
|
||||
import axios from 'axios';
|
||||
import sanitize from 'sanitize-filename'; // 用于清理文件名
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { AuditLogRepository } from '../repositories/audit.repository';
|
||||
import { AuditLogRepository } from '../audit/audit.repository';
|
||||
import { AuditLogActionType, AuditLogEntry } from '../types/audit.types';
|
||||
|
||||
export class AuditLogService {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as CommandHistoryRepository from '../repositories/command-history.repository';
|
||||
import { CommandHistoryEntry } from '../repositories/command-history.repository';
|
||||
import * as CommandHistoryRepository from '../command-history/command-history.repository';
|
||||
import { CommandHistoryEntry } from '../command-history/command-history.repository';
|
||||
|
||||
/**
|
||||
* 添加一条命令历史记录
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import * as ConnectionRepository from '../repositories/connection.repository';
|
||||
import * as ConnectionRepository from '../connections/connection.repository';
|
||||
import { encrypt, decrypt } from '../utils/crypto';
|
||||
import { AuditLogService } from './audit.service';
|
||||
import * as SshKeyService from './ssh_key.service';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as FavoritePathsRepository from '../repositories/favorite-paths.repository';
|
||||
import { FavoritePath } from '../repositories/favorite-paths.repository';
|
||||
import * as FavoritePathsRepository from '../favorite-paths/favorite-paths.repository';
|
||||
import { FavoritePath } from '../favorite-paths/favorite-paths.repository';
|
||||
|
||||
// 定义排序类型
|
||||
export type FavoritePathSortBy = 'name' | 'last_used_at';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
import * as ConnectionRepository from '../repositories/connection.repository';
|
||||
import * as ProxyRepository from '../repositories/proxy.repository';
|
||||
import * as ConnectionRepository from '../connections/connection.repository';
|
||||
import * as ProxyRepository from '../proxies/proxy.repository';
|
||||
import * as TagService from '../services/tag.service';
|
||||
import { getDbInstance, runDb, getDb as getDbRow, allDb } from '../database/connection';
|
||||
import { decrypt, getEncryptionKeyBuffer as getCryptoKeyBuffer } from '../utils/crypto';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import eventService, { AppEventType, AppEventPayload } from './event.service';
|
||||
import { NotificationSettingsRepository } from '../repositories/notification.repository';
|
||||
import { NotificationSettingsRepository } from '../notifications/notification.repository';
|
||||
import { NotificationSetting, NotificationEvent, NotificationChannelType, WebhookConfig, EmailConfig, TelegramConfig, NotificationChannelConfig } from '../types/notification.types';
|
||||
import i18next, { i18nInitializationPromise } from '../i18n';
|
||||
import { EventEmitter } from 'events';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import axios, { AxiosRequestConfig } from "axios";
|
||||
import { NotificationSettingsRepository } from "../repositories/notification.repository";
|
||||
import { NotificationSettingsRepository } from "../notifications/notification.repository";
|
||||
import {
|
||||
NotificationSetting,
|
||||
NotificationEvent,
|
||||
|
||||
@@ -18,8 +18,8 @@ import type {
|
||||
// and for verification.authenticationInfo is AuthenticationInfo.
|
||||
// We will rely on TypeScript's inference from the VerifiedRegistrationResponse/VerifiedAuthenticationResponse types.
|
||||
} from '@simplewebauthn/server';
|
||||
import { passkeyRepository, Passkey, NewPasskey } from '../repositories/passkey.repository';
|
||||
import { userRepository, User } from '../repositories/user.repository';
|
||||
import { passkeyRepository, Passkey, NewPasskey } from '../passkey/passkey.repository';
|
||||
import { userRepository, User } from '../user/user.repository';
|
||||
import { config } from '../config/app.config';
|
||||
|
||||
const RP_ID = config.rpId;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as PathHistoryRepository from '../repositories/path-history.repository';
|
||||
import { PathHistoryEntry } from '../repositories/path-history.repository';
|
||||
import * as PathHistoryRepository from '../path-history/path-history.repository';
|
||||
import { PathHistoryEntry } from '../path-history/path-history.repository';
|
||||
|
||||
/**
|
||||
* 添加一条路径历史记录
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import * as ProxyRepository from '../repositories/proxy.repository';
|
||||
import * as ProxyRepository from '../proxies/proxy.repository';
|
||||
import { encrypt, decrypt } from '../utils/crypto';
|
||||
|
||||
export interface ProxyData extends ProxyRepository.ProxyData {}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as QuickCommandTagRepository from '../repositories/quick-command-tag.repository';
|
||||
import { QuickCommandTag } from '../repositories/quick-command-tag.repository';
|
||||
import * as QuickCommandTagRepository from '../quick-command-tags/quick-command-tag.repository';
|
||||
import { QuickCommandTag } from '../quick-command-tags/quick-command-tag.repository';
|
||||
|
||||
/**
|
||||
* 获取所有快捷指令标签
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import * as QuickCommandsRepository from '../repositories/quick-commands.repository';
|
||||
import { QuickCommandWithTags } from '../repositories/quick-commands.repository';
|
||||
import * as QuickCommandTagRepository from '../repositories/quick-command-tag.repository';
|
||||
import * as QuickCommandsRepository from '../quick-commands/quick-commands.repository';
|
||||
import { QuickCommandWithTags } from '../quick-commands/quick-commands.repository';
|
||||
import * as QuickCommandTagRepository from '../quick-command-tags/quick-command-tag.repository';
|
||||
|
||||
// 定义排序类型
|
||||
export type QuickCommandSortBy = 'name' | 'usage_count';
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
setSidebarConfig as setSidebarConfigInRepo,
|
||||
getCaptchaConfig as getCaptchaConfigFromRepo,
|
||||
setCaptchaConfig as setCaptchaConfigInRepo,
|
||||
} from '../repositories/settings.repository';
|
||||
} from '../settings/settings.repository';
|
||||
import {
|
||||
SidebarConfig,
|
||||
PaneName,
|
||||
|
||||
@@ -2,8 +2,8 @@ import { Client, ClientChannel, ConnectConfig } from 'ssh2';
|
||||
import { SocksClient, SocksClientOptions } from 'socks';
|
||||
import http from 'http';
|
||||
import net from 'net';
|
||||
import * as ConnectionRepository from '../repositories/connection.repository';
|
||||
import * as ProxyRepository from '../repositories/proxy.repository';
|
||||
import * as ConnectionRepository from '../connections/connection.repository';
|
||||
import * as ProxyRepository from '../proxies/proxy.repository';
|
||||
import { decrypt } from '../utils/crypto';
|
||||
import * as SshKeyService from './ssh_key.service';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import * as SshKeyRepository from '../repositories/ssh_key.repository';
|
||||
import * as SshKeyRepository from '../ssh_keys/ssh_key.repository';
|
||||
import { encrypt, decrypt } from '../utils/crypto';
|
||||
import { SshKeyDbRow, CreateSshKeyData, UpdateSshKeyData } from '../repositories/ssh_key.repository';
|
||||
import { SshKeyDbRow, CreateSshKeyData, UpdateSshKeyData } from '../ssh_keys/ssh_key.repository';
|
||||
|
||||
// 定义 Service 层返回给 Controller 的基本密钥信息 (不含加密内容)
|
||||
export interface SshKeyBasicInfo {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import * as TagRepository from '../repositories/tag.repository';
|
||||
import * as TagRepository from '../tags/tag.repository';
|
||||
|
||||
// Re-export or define types
|
||||
export interface TagData extends TagRepository.TagData {}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import * as terminalThemeRepository from '../repositories/terminal-theme.repository';
|
||||
import * as terminalThemeRepository from '../terminal-themes/terminal-theme.repository';
|
||||
import { TerminalTheme, CreateTerminalThemeDto, UpdateTerminalThemeDto } from '../types/terminal-theme.types';
|
||||
import type { ITheme } from 'xterm';
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import { ipBlacklistService } from '../services/ip-blacklist.service';
|
||||
import { exportConnectionsAsEncryptedZip } from '../services/import-export.service';
|
||||
import { UpdateSidebarConfigDto, UpdateCaptchaSettingsDto, CaptchaSettings } from '../types/settings.types';
|
||||
import { AppearanceSettings, UpdateAppearanceDto } from '../types/appearance.types';
|
||||
import { getAppearanceSettings, updateAppearanceSettings as updateAppearanceSettingsInRepo } from '../repositories/appearance.repository';
|
||||
import { getAppearanceSettings, updateAppearanceSettings as updateAppearanceSettingsInRepo } from '../appearance/appearance.repository';
|
||||
import i18next from '../i18n';
|
||||
|
||||
const auditLogService = new AuditLogService();
|
||||
|
||||
Reference in New Issue
Block a user