Files
xingrin/frontend/types/api-key-settings.types.ts
yyhuni 1269e5a314 refactor(scan): reorganize models and serializers into modular structure
- Split monolithic models.py into separate model files (scan_models.py, scan_log_model.py, scheduled_scan_model.py, subfinder_provider_settings_model.py)
- Split monolithic serializers.py into separate serializer files with dedicated modules for each domain
- Add SubfinderProviderSettings model to store API key configurations for subfinder data sources
- Create SubfinderProviderConfigService to generate provider configuration files dynamically
- Add subfinder_provider_settings views and serializers for API key management
- Update subdomain_discovery_flow to support provider configuration file generation and passing to subfinder
- Update command templates to use provider config file and remove recursive flag for better source coverage
- Add frontend settings page for managing API keys at /settings/api-keys
- Add frontend hooks and services for API key settings management
- Update sidebar navigation to include API keys settings link
- Add internationalization support for new API keys settings UI (English and Chinese)
- Improves code maintainability by organizing related models and serializers into logical modules
2026-01-05 10:00:19 +08:00

43 lines
1.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* API Key 配置类型定义
* 用于 subfinder 第三方数据源配置
*/
// 单字段 Provider 配置hunter, shodan, zoomeye, securitytrails, threatbook, quake
export interface SingleFieldProviderConfig {
enabled: boolean
apiKey: string
}
// FOFA Provider 配置email + apiKey
export interface FofaProviderConfig {
enabled: boolean
email: string
apiKey: string
}
// Censys Provider 配置apiId + apiSecret
export interface CensysProviderConfig {
enabled: boolean
apiId: string
apiSecret: string
}
// 完整的 API Key 配置
export interface ApiKeySettings {
fofa: FofaProviderConfig
hunter: SingleFieldProviderConfig
shodan: SingleFieldProviderConfig
censys: CensysProviderConfig
zoomeye: SingleFieldProviderConfig
securitytrails: SingleFieldProviderConfig
threatbook: SingleFieldProviderConfig
quake: SingleFieldProviderConfig
}
// Provider 类型
export type ProviderKey = keyof ApiKeySettings
// Provider 配置联合类型
export type ProviderConfig = FofaProviderConfig | CensysProviderConfig | SingleFieldProviderConfig