From 26aba2cd9e414b12c885903f8755507224918382 Mon Sep 17 00:00:00 2001 From: Finn Date: Mon, 5 Mar 2018 15:49:30 +0000 Subject: [PATCH] added initial possible schema and ability to submit on transaction --- lib/Pear/LocalLoop/Controller/Api/Upload.pm | 9 ++++- .../Schema/Result/TransactionRecurring.pm | 37 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 lib/Pear/LocalLoop/Schema/Result/TransactionRecurring.pm diff --git a/lib/Pear/LocalLoop/Controller/Api/Upload.pm b/lib/Pear/LocalLoop/Controller/Api/Upload.pm index 56a149f..73e015d 100644 --- a/lib/Pear/LocalLoop/Controller/Api/Upload.pm +++ b/lib/Pear/LocalLoop/Controller/Api/Upload.pm @@ -187,7 +187,7 @@ sub post_upload { my $file = defined $upload ? $c->store_file_from_upload( $upload ) : undef; my $category = $validation->param('category'); my $essential = $validation->param('essential'); - my $recurring_type = $validation->('recurring'); + my $recurring_period = $validation->('recurring'); my $distance = $c->get_distance_from_coords( $user->entity->type_object, $organisation ); my $new_transaction = $organisation->entity->create_related( @@ -220,6 +220,13 @@ sub post_upload { }); } + if ( defined $recurring_period ) { + $c->schema->resultset('TransactionRecurring')->create({ + recurring_period => $recurring_period, + transaction_id => $new_transaction->id, + }); + } + return $c->render( json => { success => Mojo::JSON->true, message => 'Upload Successful', diff --git a/lib/Pear/LocalLoop/Schema/Result/TransactionRecurring.pm b/lib/Pear/LocalLoop/Schema/Result/TransactionRecurring.pm new file mode 100644 index 0000000..6358d1a --- /dev/null +++ b/lib/Pear/LocalLoop/Schema/Result/TransactionRecurring.pm @@ -0,0 +1,37 @@ +package Pear::LocalLoop::Schema::Result::TransactionRecurring; + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +__PACKAGE__->table("transaction_recurring"); + +__PACKAGE__->add_columns( + "id" => { + data_type => "integer", + is_auto_increment => 1, + is_nullable => 0, + }, + "transaction_id" => { + data_type => 'integer', + is_nullable => 0, + is_foreign_key => 1, + }, + "recurring_period" => { + data_type => "varchar", + size => 255, + is_nullable => 0, + }, +); + +__PACKAGE__->add_unique_constraint(["transaction_id"]); + +__PACKAGE__->belongs_to( + "transaction", + "Pear::LocalLoop::Schema::Result::Transaction", + "transaction_id", + { cascade_delete => 0 }, +); + +1;