CallBackery
view release on metacpan or search on metacpan
lib/CallBackery/GuiPlugin/Abstract.pm view on Meta::CPAN
return $self->controller->log if $self->controller;
return $self->app->log if $self->app
};
=head2 args
some meta information provided when instantiating the plugin.
for example when buidling the response to getUserConfig, args will contain the output of getUrlConfig from the frontend in the key urlConfig, which will allow to pass information from the url to calls like checkAccess.
=cut
has 'args' => sub { {} };
=head2 screenCfg
Returns the information for building a plugin configuration screen.
=cut
has screenCfg => sub {
return {
type => '*unknown*',
options => {},
# followed by type dependent keys
}
};
=head2 checkAccess()
Check if the current user may access the Plugin. Override in the Child
class to limit accessibility. By default plugins are not accessible
unless you have numeric UID or the word C<__CONFIG>.
The L<CallBackery::Command::shell> sets the userId to C<__SHELL>. If a
plugin should be configurable interactively it must allow access to
the C<__SHELL> user.
checkAccess can also return a promise or be an async method
=cut
has checkAccess => sub {
my $self = shift;
my $userId = $self->user->userId;
return (defined $userId and ($userId eq '__CONFIG' or $userId =~ /^\d+$/));
};
=head2 mayAnonymous
may this gui plugin run for unauthenticated users ?
=cut
has mayAnonymous => sub {
return 0;
};
=head2 stateFiles
A list of files that contain the state of the settings configured by
this plugin this is used both for backup purposes and to replicate the
settings to a second installation.
=cut
has stateFiles => sub {
[];
};
=head2 unconfigureFiles
a list of files to be removed when 'unConfiguring' a device
=cut
has unConfigureFiles => sub {
[];
};
=head2 eventActions
A map of callbacks that will be called according to events in the
system. The following events are available:
configChanged
=cut
has eventActions => sub {
{};
};
=head1 METHODS
All the methods of L<Mojo::Base> plus:
=cut
=head2 makeRxValidator(rx,error)
Create a regular expression base validator function. The supplied
regular expression gets anchored front and back automatically.
=cut
sub createRxValidator {
my $self = shift;
my $rx = shift;
my $error = shift;
return sub {
my $value = shift;
return undef if $value =~ /^${rx}$/;
return $error;
};
}
=head2 filterHashKey(data,key)
Walks a hash/array structure and removes all occurrences of the given
key.
( run in 0.833 second using v1.01-cache-2.11-cpan-df04353d9ac )