from invoke import task

from .db import Data

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

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

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


@task
def assign(c, store_id, item_id):
    result = Data().assign_store(store_id, item_id)
    print(result)


@task
def buy(c, item_id):
    result = Data().purchase_item(item_id)
    print(result)

@task
def clear_all(c, store_id):
    Data().clear_list(store_id, clear_all=True)

@task
def clear_list(c, store_id):
    Data().clear_list(store_id)


@task
def list(c, store_id):
    items = Data().get_shopping_list(store_id)
    for item in items:
        print(item)

@task
def list_stores(c):
    items = Data().get_stores()
    for item in items:
        print(item)

    
@task
def list_unsorted(c):
    items = Data().get_unsorted_list()
    for item in items:
        print(item)


@task
def remove_item(c, item_id):
    Data().remove_item(item_id)

@task
def remove_store(c, store_id):
    Data().remove_store(store_id)

