2025-05-09 22:46:53 +00:00
|
|
|
import type { IForwardConfig } from './forwarding-types.js';
|
2025-05-09 17:00:27 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Domain configuration with unified forwarding configuration
|
|
|
|
*/
|
2025-05-09 22:46:53 +00:00
|
|
|
export interface IDomainConfig {
|
2025-05-09 17:00:27 +00:00
|
|
|
// Core properties - domain patterns
|
|
|
|
domains: string[];
|
|
|
|
|
|
|
|
// Unified forwarding configuration
|
2025-05-09 22:46:53 +00:00
|
|
|
forwarding: IForwardConfig;
|
2025-05-09 17:00:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Helper function to create a domain configuration
|
|
|
|
*/
|
|
|
|
export function createDomainConfig(
|
|
|
|
domains: string | string[],
|
2025-05-09 22:46:53 +00:00
|
|
|
forwarding: IForwardConfig
|
|
|
|
): IDomainConfig {
|
2025-05-09 17:00:27 +00:00
|
|
|
// Normalize domains to an array
|
|
|
|
const domainArray = Array.isArray(domains) ? domains : [domains];
|
|
|
|
|
|
|
|
return {
|
|
|
|
domains: domainArray,
|
|
|
|
forwarding
|
|
|
|
};
|
2025-05-09 22:46:53 +00:00
|
|
|
}
|