package CLMApp::Schema::ResultSet;

use base DBIx::Class::ResultSet;
use Moose::Autobox;
use Perl6::Junction qw/ any /;

sub schema {
    return $_[0]->result_source->schema;
}

# sub inflated_read_fields { return []; }

# sub active {
#     my $self = shift;
#     my $obj = shift || "me";
#     return $self->search({"$obj.deleted" => 0});
# }

# sub api_create {
#     my ($self, $parameters, $account) = @_;
# }
# sub api_delete {
#     my ($self, $parameters, $account) = @_;
# }

# sub by { return $_[0]; }

# sub get_inflated_columns {
#     my $self = shift;
#     return [ $self->all ]
#       ->map( sub { 
#         my $row = $_[0];
        
#         $row->each(
#             sub {
#                 my ( $k, $v ) = @_;
#                 delete $row->{$k}
#                   unless $k eq any(
#                     @{$self->inflated_read_fields}
#                   );
#             }
#         );
#         return $row;
#       });
# }

# sub get_api_columns {
#     my $self = shift;
#     return [ $self->all ]
#       ->map( sub { 
#         return $_[0]->get_api_columns;
#       });
# }

# sub create_by {
#     #TODO the default really out to be to do nothing
#     my ( $self, $attr ) = @_;
#     return $self->create($attr);
# }

1;
