diff --git a/getusername.pl b/getusername.pl new file mode 100644 index 0000000..9d13305 --- /dev/null +++ b/getusername.pl @@ -0,0 +1,52 @@ +#!/usr/bin/env perl +# NOT READY FOR PRODUCTION + +use Mojolicious::Lite; +use Data::UUID; +use Devel::Dwarn; + +# connect to database +use DBI; + +my $config = plugin Config => {file => 'myapp.conf'}; +my $dbh = DBI->connect($config->{dsn},$config->{user},$config->{pass}) or die "Could not connect"; +Dwarn $config; + +# shortcut for use in template +helper db => sub { $dbh }; + +# setup base route +#any '/' => 'index'; + +my $insert; +while (1) { + print "Checking if table exists"; + # create insert statement + $insert = eval { $dbh->prepare('UPDATE accounts SET 'name' = ?, email = ?, postcode = ?, age = ?, gender = ?, grouping = ?, password = ?, keyused = ? WHERE username = ?'); + # break out of loop if statement prepared + last if $insert; + print "Make the table!"; +} + +post '/' => sub { + my $self = shift; +# get the key from user + my $key = $self->req->json; +# get from db the username matching the key and then send it back at them + my $username = $dbh->selectall_arrayref("SELECT username FROM accounts WHERE idkey = ?", undef, $key->{token}); + $self->render(json => {'username' => $username->[0]} ); +# When user has submitted json of data, define data + my $name = $self->req->json; + my $email = $self->req->json; + my $postcode = $self->req->json; + my $age = $self->req->json; + my $gender = $self->req->json; + my $grouping = $self->req->json; + my $password = $self->req->json; + my $keyused = "True"; +# send data to db in row matching username + $insert->execute($name->{name}, $email->{email}, $postcode->{postcode}, $age->{age}, $gender->{gender}, $grouping->{grouping}, $password->{password}, $keyused, $username); + $self->render(text => 'It did not kaboom!'); +}; + +app->start;