8;
use DBIx::Sunny;
use Time::Piece;
use Digest::MD5 qw/md5_hex/;
use List::Util;
use Encode;
use JSON;
use Log::Minimal;
use List::MoreUtils qw/uniq/;
use List::Util qw/first/;
sub new {
my $cla
Y/%m/%d %T');
$row->{md5} = md5_hex( Encode::encode_utf8($row->{id}) );
my $ref = decode_json($row->{meta}||'{}');
$ref->{adjust} = '*' if ! exists $ref->{adjust};
$ref->{adjustval} =
ame description sort gmode color type stype llimit ulimit sllimit sulimit/;
my $meta = encode_json($args);
my $dbh = $self->dbh;
$dbh->query(
'UPDATE graphs SET service_name=?, sec
package GrowthForecast::Web;
use strict;
use warnings;
use utf8;
use Kossy 0.10;
use JSON;
use Time::Piece;
use GrowthForecast::Data;
use GrowthForecast::RRD;
use Log::Minimal;
use Class::Accessor::L
ta_dir float_number rrdcached disable_subtract/] );
use URI::Escape qw/uri_escape_utf8/;
my $_JSON = JSON->new()->allow_blessed(1)->convert_blessed(1)->ascii(1);
sub data {
my $self = shift;
ta->remove($c->stash->{graph}->{id});
$self->rrd->remove($c->stash->{graph});
$c->render_json({
error => 0,
location => "".$c->req->uri_for(sprintf('/list/%s/%s', map { uri_es