This repository has been archived on 2023-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
Foodloop-Server/lib/Pear/LocalLoop/Command/dev_data.pm

97 lines
2 KiB
Perl
Raw Permalink Normal View History

package Pear::LocalLoop::Command::dev_data;
use Mojo::Base 'Mojolicious::Command';
use Mojo::Util 'getopt';
has description => 'Input Dev Data';
has usage => sub { shift->extract_usage };
sub run {
my ( $self, @args ) = @_;
getopt \@args,
'f|force' => \my $force;
unless ( defined $force ) {
say "Will not do anything without force option";
return;
}
if ( ( defined( $ENV{MOJO_MODE} ) && $ENV{MOJO_MODE} eq 'production' ) || $self->app->mode eq 'production' ) {
say "Will not run dev data fixtures in production!";
return;
}
my $schema = $self->app->schema;
$schema->resultset('User')->create({
email => 'test@example.com',
password => 'abc123',
2017-11-23 16:52:52 +00:00
entity => {
type => 'customer',
customer => {
full_name => 'Test User',
display_name => 'Test User',
year_of_birth => 2006,
postcode => 'LA1 1AA',
}
},
2017-11-23 16:52:52 +00:00
is_admin => 1,
});
$schema->resultset('User')->create({
email => 'test2@example.com',
password => 'abc123',
2017-11-23 16:52:52 +00:00
entity => {
type => 'customer',
customer => {
full_name => 'Test User 2',
display_name => 'Test User 2',
year_of_birth => 2006,
postcode => 'LA1 1AA',
},
},
});
$schema->resultset('User')->create({
email => 'test3@example.com',
password => 'abc123',
2017-11-23 16:52:52 +00:00
entity => {
type => 'customer',
customer => {
full_name => 'Test User 3',
display_name => 'Test User 3',
year_of_birth => 2006,
postcode => 'LA1 1AA',
},
},
});
$schema->resultset('User')->create({
email => 'testorg@example.com',
password => 'abc123',
2017-11-23 16:52:52 +00:00
entity => {
type => 'organisation',
organisation => {
name => 'Test Org',
street_name => 'Test Street',
town => 'Lancaster',
postcode => 'LA1 1AA',
},
},
});
}
=head1 SYNOPSIS
Usage: APPLICATION dev_data [OPTIONS]
Options:
-f, --force Actually insert the data
=cut
1;