from invoke import task

from .db import Data

@task
def setup(c):
    result = Data().setup()
    print(result)

@task
def add_goal(c, name):
    result = Data().add_goal(name)
    print(result)

@task
def close_goal(c, goal_id):
    result = Data().complete_goal(goal_id)
    print(result)


@task
def rename_goal(c, goal_id, name):
    result = Data().rename_goal(goal_id, name)
    print(result)


@task
def add_task(c, goal_id, name):
    result = Data().add_task(goal_id=goal_id, name=name)
    print(result)


@task
def list(c):
    goals = Data().get_all_goals()
    for goal in goals:
        print(goal)


@task
def visionless(c):
    goals = Data().visionless()
    for goal in goals:
        print(goal)


@task
def list_done(c):
    goals = Data().get_done_goals()
    for goal in goals:
        print(goal)

@task
def print_goal(c, id):
    goal,tasks = Data().get_goal(id)
    print(f' ## {goal}')
    for task in tasks:
        if(task.complete_date):
            print(f' - [x] {task}')
        else:
            print(f' - [ ] {task}')

    


