{{
  config(
    materialized='table'
  )
}}

with distinct_cycles as (
    select 
        task_name,
        case 
            when count(case when task_status != 'Completed' then 1 end) = 0 
            then 'Closed' 
            else 'Open' 
        end as task_status
    from {{ source('tap_spreadsheets_anywhere', 'performance_review_steps') }}
    --where is_not_removed_from_task = 1
    group by task_name
)

select
    dense_rank() over (order by task_name)::bigint as id,
    null::date                         as start_date,
    null::date                         as end_date,
    task_name                          as name,
    task_status                        as status,
    task_name                          as type
from distinct_cycles
