Remove post user/day, and reformat validators

This commit is contained in:
Tom Bloor 2017-09-08 12:46:54 +01:00
parent c6679e1261
commit 4176c61c00
4 changed files with 44 additions and 53 deletions

View file

@ -7,34 +7,52 @@ sub register {
my ( $plugin, $app, $conf ) = @_;
$app->helper( iso_datetime_parser => sub {
return DateTime::Format::Strptime->new( pattern => '%Y-%m-%dT%H:%M:%S.%3N%z' );
});
return DateTime::Format::Strptime->new( pattern => '%Y-%m-%dT%H:%M:%S.%3N%z' );
});
$app->helper( parse_iso_datetime => sub {
my ( $c, $date_string ) = @_;
return $c->iso_datetime_parser->parse_datetime(
$date_string,
);
});
$app->helper( iso_date_parser => sub {
return DateTime::Format::Strptime->new( pattern => '%Y-%m-%d' );
});
$app->helper( format_iso_datetime => sub {
my ( $c, $datetime_obj ) = @_;
return $c->iso_datetime_parser->parse_datetime(
$datetime_obj,
);
});
$app->helper( parse_iso_date => sub {
my ( $c, $date_string ) = @_;
return $c->iso_date_parser->parse_datetime(
$date_string,
);
});
$app->helper( db_datetime_parser => sub {
return shift->schema->storage->datetime_parser;
});
$app->helper( format_iso_date => sub {
my ( $c, $datetime_obj ) = @_;
return $c->iso_date_parser->format_datetime(
$datetime_obj,
);
});
$app->helper( format_db_datetime => sub {
my ( $c, $datetime_obj ) = @_;
$datetime_obj->set_time_zone('UTC');
return $c->db_datetime_parser->format_datetime(
$datetime_obj,
);
});
$app->helper( parse_iso_datetime => sub {
my ( $c, $date_string ) = @_;
return $c->iso_datetime_parser->parse_datetime(
$date_string,
);
});
$app->helper( format_iso_datetime => sub {
my ( $c, $datetime_obj ) = @_;
return $c->iso_datetime_parser->format_datetime(
$datetime_obj,
);
});
$app->helper( db_datetime_parser => sub {
return shift->schema->storage->datetime_parser;
});
$app->helper( format_db_datetime => sub {
my ( $c, $datetime_obj ) = @_;
$datetime_obj->set_time_zone('UTC');
return $c->db_datetime_parser->format_datetime(
$datetime_obj,
);
});
}

View file

@ -53,9 +53,9 @@ sub register {
return $app->types->type($extension) eq $filetype ? undef : 1;
});
$app->validator->add_check( is_iso_datetime => sub {
$app->validator->add_check( is_iso_date => sub {
my ( $validation, $name, $value ) = @_;
$value = $app->datetime_formatter->parse_datetime( $value );
$value = $app->iso_date_parser->parse_datetime( $value );
return defined $value ? undef : 1;
});