import * as path from '@std/path';

export interface IGitopsPaths {
  gitopsHomeDir: string;
  defaultStoragePath: string;
  defaultTsmDbPath: string;
}

/**
 * Resolve gitops paths. Accepts optional baseDir for test isolation.
 */
export function resolvePaths(baseDir?: string): IGitopsPaths {
  const home = baseDir ?? path.join(Deno.env.get('HOME') ?? '/tmp', '.serve.zone', 'gitops');
  return {
    gitopsHomeDir: home,
    defaultStoragePath: path.join(home, 'storage'),
    defaultTsmDbPath: path.join(home, 'tsmdb'),
  };
}
