export const getPortTemplate = (domainName: string): string => {
  const capitalizedName = domainName.charAt(0).toUpperCase() + domainName.slice(1);
  
  return `import type { ${capitalizedName}Entity, ${capitalizedName}CreationData, ${capitalizedName}UpdateData } from '../entities/${capitalizedName}';

/**
 * Port interface for ${capitalizedName} domain
 * This interface defines the contract that adapters must implement
 */
export interface ${capitalizedName}Port {
  /**
   * Get all ${domainName} entities
   */
  getAll(): Promise<${capitalizedName}Entity[]>;

  /**
   * Get a ${domainName} entity by ID
   */
  getById(id: string): Promise<${capitalizedName}Entity>;

  /**
   * Create a new ${domainName} entity
   */
  create(data: ${capitalizedName}CreationData): Promise<${capitalizedName}Entity>;

  /**
   * Update an existing ${domainName} entity
   */
  update(id: string, data: ${capitalizedName}UpdateData): Promise<${capitalizedName}Entity>;

  /**
   * Delete a ${domainName} entity
   */
  delete(id: string): Promise<void>;
}`;
}; 