import path from "path";
import { Platformtype } from "../../models/models";
import { LOCAL_BASE_URL, PROD_BASE_URL, STAGING_BASE_URL } from "../../config/axios.config";
import { Environment } from "../../config/service-factory";

export function getBaseURL(environment: Environment): string {
  let baseURL = PROD_BASE_URL;
  if (environment === "local") {
    baseURL = LOCAL_BASE_URL;
  } else if (environment === "staging") {
    baseURL = STAGING_BASE_URL;
  }
  return baseURL;
}

export function getPlatformTypeString(platform: Platformtype): string {
  switch (platform) {
    case Platformtype.Cypress:
      return "cypress";
    case Platformtype.Playwright:
      return "playwright";
    default:
      throw new Error(`Unsupported platform type: ${platform}`);
  }
}

export function getTemplateDirectories(platformtype: string, templateType: 'ui' | 'api') {
  const templateDir = path.join(__dirname, `../../../templates/standard/${platformtype}/${templateType}`);
  const commonTemplateDir = path.join(__dirname, `../../../templates/standard/common`);
  const frameworkCommonTemplateDir = path.join(__dirname, `../../../templates/standard/${platformtype}/common`);
  
  return {
    templateDir,
    commonTemplateDir,
    frameworkCommonTemplateDir
  };
}
