import { DirectConnectSecurityMode } from "./directConnect";
import { JwtSymmetricSecurityMode } from "./jwt";
import { SecurityMode, SecurityModeImplementation } from "./securityMode";

export function getSecurityMode(
    securityMode: SecurityMode
): SecurityModeImplementation {
    switch (securityMode) {
        case "jwtsharedsecret":
            return new JwtSymmetricSecurityMode();
        case "directconnect":
            return new DirectConnectSecurityMode();
        default:
            throw new Error(`unknown security mode: ${securityMode}`);
    }
}
