Files
workavia-drive/tdrive/backend/node/src/services/console/client-factory.ts
T
Montassar Ghanmy e0615fa867 📁 Changed TDrive root folder (#16)
📁 Changed TDrive root folder
2023-04-11 10:04:29 +01:00

22 lines
758 B
TypeScript

import { ConsoleRemoteClient } from "./clients/remote";
import { ConsoleServiceClient } from "./client-interface";
import { ConsoleType } from "./types";
import { ConsoleInternalClient } from "./clients/internal";
import { ConsoleServiceImpl } from "./service";
class StaticConsoleClientFactory {
create(consoleInstance: ConsoleServiceImpl): ConsoleServiceClient {
const type: ConsoleType = consoleInstance.consoleType;
switch (type) {
case "remote":
return new ConsoleRemoteClient(consoleInstance);
case "internal":
return new ConsoleInternalClient(consoleInstance);
default:
throw new Error(`${type} is not supported`);
}
}
}
export const ConsoleClientFactory = new StaticConsoleClientFactory();