Schema and actual DB submit code added
This commit is contained in:
parent
d38758ac90
commit
baea01e8b5
3 changed files with 81 additions and 1 deletions
|
@ -7,6 +7,9 @@ has error_messages => sub {
|
|||
required => { message => 'Email is required', status => 400 },
|
||||
in_resultset => { message => 'Change meeee', status => 400 },
|
||||
},
|
||||
feedbacktext => {
|
||||
required => { message => 'Feedback is required', status => 400 },
|
||||
},
|
||||
app_name => {
|
||||
required => { message => 'App Name is required', status => 400 },
|
||||
},
|
||||
|
@ -30,7 +33,8 @@ sub post_feedback {
|
|||
|
||||
my $user_rs = $c->schema->resultset('User');
|
||||
|
||||
$validation->required('email')->in_reusltset( 'email', $user_rs );
|
||||
$validation->required('email')->in_resultset( 'email', $user_rs );
|
||||
$validation->required('feedbacktext');
|
||||
$validation->required('app_name');
|
||||
$validation->required('package_name');
|
||||
$validation->required('version_code');
|
||||
|
@ -38,6 +42,18 @@ sub post_feedback {
|
|||
|
||||
return $c->api_validation_error if $validation->has_error;
|
||||
|
||||
my $user = $user_rs->find({'email' => $validation->param('email')});
|
||||
|
||||
$c->schema->resultset('Feedback')->create({
|
||||
email => $validation->param('email'),
|
||||
user => $user,
|
||||
feedbacktext => $validation->param('feedbacktext'),
|
||||
app_name => $validation->param('app_name'),
|
||||
package_name => $validation->param('package_name'),
|
||||
version_code => $validation->param('version_code'),
|
||||
version_number => $validation->param('version_number'),
|
||||
});
|
||||
|
||||
return $c->render( json => {
|
||||
success => Mojo::JSON->true,
|
||||
message => 'Thank you for your Feedback!',
|
||||
|
|
57
lib/Pear/LocalLoop/Schema/Result/Feedback.pm
Normal file
57
lib/Pear/LocalLoop/Schema/Result/Feedback.pm
Normal file
|
@ -0,0 +1,57 @@
|
|||
package Pear::LocalLoop::Schema::Result::Feedback;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use base 'DBIx::Class::Core';
|
||||
|
||||
__PACKAGE__->table("feedback");
|
||||
|
||||
__PACKAGE__->add_columns(
|
||||
"id",
|
||||
{ data_type => "integer", is_auto_increment => 1, is_nullable => 0 },
|
||||
"email" => {
|
||||
data_type => "text",
|
||||
is_nullable => 0,
|
||||
},
|
||||
"user_id" => {
|
||||
data_type => "integer",
|
||||
is_foreign_key => 1,
|
||||
is_nullable => 0,
|
||||
},
|
||||
"feedbacktext" => {
|
||||
data_type => "text",
|
||||
is_nullable => 0,
|
||||
},
|
||||
"app_name" => {
|
||||
data_type => "varchar",
|
||||
size => 255,
|
||||
is_nullable => 0,
|
||||
},
|
||||
"package_name" => {
|
||||
data_type => "varchar",
|
||||
size => 255,
|
||||
is_nullable => 0,
|
||||
},
|
||||
"version_code" => {
|
||||
data_type => "varchar",
|
||||
size => 255,
|
||||
is_nullable => 0,
|
||||
},
|
||||
"version_number" => {
|
||||
data_type => "varchar",
|
||||
size => 255,
|
||||
is_nullable => 0,
|
||||
},
|
||||
);
|
||||
|
||||
__PACKAGE__->set_primary_key("id");
|
||||
|
||||
_PACKAGE__->belongs_to(
|
||||
"user",
|
||||
"Pear::LocalLoop::Schema::Result::User",
|
||||
{ id => "user_id" },
|
||||
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
|
||||
);
|
||||
|
||||
1;
|
|
@ -120,6 +120,13 @@ __PACKAGE__->has_many(
|
|||
{ cascade_copy => 0, cascade_delete => 0 },
|
||||
);
|
||||
|
||||
__PACKAGE__->has_many(
|
||||
"feedback",
|
||||
"Pear::LocalLoop::Schema::Result::Feedback",
|
||||
{ "foreign.user_id" => "self.id" },
|
||||
{ cascade_copy => 0, cascade_delete => 0 },
|
||||
);
|
||||
|
||||
sub generate_session {
|
||||
my $self = shift;
|
||||
|
||||
|
|
Reference in a new issue