package Pear::LocalLoop::Controller::Api::V1::Organisation::Pies;
use Mojo::Base 'Mojolicious::Controller';

sub index {
  my $c = shift;

  my $entity = $c->stash->{api_user}->entity;

  my $purchase_rs = $entity->purchases;

  my $local_org_local_purchase = $purchase_rs->search({
    "me.distance" => { '<', 20000 },
    'organisation.is_local' => 1,
  },
  {
    join => { 'seller' => 'organisation' },
  }
  );

  my $local_org_non_local_purchase = $purchase_rs->search({
    "me.distance" => { '>=', 20000 },
    'organisation.is_local' => 1,
  },
  {
    join => { 'seller' => 'organisation' },
  }
  );

  my $non_local_org_local_purchase = $purchase_rs->search({
    "me.distance" => { '<', 20000 },
    'organisation.is_local' => [0, undef],
  },
  {
    join => { 'seller' => 'organisation' },
  }
  );

  my $non_local_org_non_local_purchase = $purchase_rs->search({
    "me.distance" => { '>=', 20000 },
    'organisation.is_local' => [0, undef],
  },
  {
    join => { 'seller' => 'organisation' },
  }
  );

  my $local_all = {
    'Local shop local purchaser' => $local_org_local_purchase->count,
    'Local shop non-local purchaser' => $local_org_non_local_purchase->count,
    'Non-local shop local purchaser' => $non_local_org_local_purchase->count,
    'Non-local shop non-local purchaser' => $non_local_org_non_local_purchase->count,
  };

  return $c->render(
    json => {
      success => Mojo::JSON->true,
      local_all => $local_all,
    }
  );

}

1;
