namespace AnalyticsDAL.DTO.Wizard
{
/// One auto-suggested join between two already-selected tables, derived from a live
/// foreign-key constraint (see JoinSuggestionService.SuggestJoins). Purely advisory — the
/// wizard FE surfaces these to the user, who accepts/edits a subset into
/// AnalyticsWizardBuildRequestDTO.AcceptedJoins before QuickBuildAsync runs.
public class SuggestedJoinDTO
{
public int FromDBObjectId { get; set; }
public int ToDBObjectId { get; set; }
public string FromTable { get; set; } = string.Empty;
public string ToTable { get; set; } = string.Empty;
/// "Table.Column = Table.Column"-style expression, AND-joined across every
/// column pair of a multi-column FK constraint.
public string Expression { get; set; } = string.Empty;
public string SourceConstraintName { get; set; } = string.Empty;
/// True when FromTable and ToTable are the same table (self-referencing FK) —
/// the generated expression will collide on ambiguous column references unless the user
/// supplies distinct aliases, so the FE must prompt for manual aliasing before accepting.
public bool RequiresManualAliasing { get; set; }
}
}