package Developers;

use Mojo::Base 'Mojolicious';

# ============================================================================================
# This method will run once at server start
# ============================================================================================
sub startup {
    my $self = shift;

    $self->defaults(
        title  => 'Developers',
        layout => 'default'
    );

    $self->setupConfig();
    $self->setupHelpers();
    $self->setupRoutes();
}

# ============================================================================================
# 
# ============================================================================================
sub setupConfig {
    my $self = shift;

    $self->plugin('NotYAMLConfig');
    $self->secrets($self->config->{secrets});
}

# ============================================================================================
# 
# ============================================================================================
sub setupHelpers {
    my $self = shift;

    $self->helper(DatabaseConnection => sub {
        my $self = shift;
        my $dbh  = DBI->connect(
            'DBI:mysql:database=remedios;host=localhost;port=3306',
            'remedios',
            'Jordan0829',
            { PrintError => 0, RaiseError => 1 }
        );

        die "Failed to connect to MySQL database:DBI->errstr()" unless($dbh);

        return $dbh;
    });
}

# ============================================================================================
# 
# ============================================================================================
sub setupRoutes {
    my $self = shift;
    my $r    = $self->routes;

    $r->get('/')      ->to(controller => 'Home',   action => 'default');
    $r->get('/conkal')->to(controller => 'Conkal', action => 'default');
}

1;
