View .md

DatabaseSnapshotsEvent events

4 FeatherPanel plugin events on DatabaseSnapshotsEvent (4 emitted by the core): the event names, the arguments each listener gets, where they fire and a PHP listener for each.

Last synced from FeatherPanel 15b94e9 on .

On this page

Part of the plugin events reference. Listeners get the payload values as positional arguments in the order shown, cannot cancel the action, and must catch their own exceptions.

Setup

Import DatabaseSnapshotsEvent in your entry class and register listeners in processEvents():

<?php

namespace App\Addons\myplugin;

use App\App;
use App\Plugins\AppPlugin;
use App\Plugins\PluginEvents;
use App\Plugins\Events\Events\DatabaseSnapshotsEvent;

class MyPlugin implements AppPlugin
{
    public static function processEvents(PluginEvents $event): void
    {
        $event->on(DatabaseSnapshotsEvent::onSnapshotCreated(), function ($filename, $size, $userUuid): void {
            App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:database:snapshot:created ' . json_encode(['filename' => $filename, 'size' => $size, 'user_uuid' => $userUuid]));
        });
    }

    public static function pluginInstall(): void
    {
    }

    public static function pluginUninstall(): void
    {
    }
}

DatabaseSnapshotsEvent::onSnapshotCreated()

Name: featherpanel:database:snapshot:createdemitted at 1 siteCancel or modify: nodefinition

Docblock: string filename, int size, string user uuid.

#Payload keyListener parameterType
1filename$filenamestring
2size$sizeintfrom docblock
3user_uuid$userUuidstringfrom docblock
When it fires (1 site)
$event->on(DatabaseSnapshotsEvent::onSnapshotCreated(), function ($filename, $size, $userUuid): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:database:snapshot:created ' . json_encode(['filename' => $filename, 'size' => $size, 'user_uuid' => $userUuid]));
});

DatabaseSnapshotsEvent::onSnapshotDeleted()

Name: featherpanel:database:snapshot:deletedemitted at 1 siteCancel or modify: nodefinition

Docblock: string filename, string user uuid.

#Payload keyListener parameterType
1filename$filenamestring
2user_uuid$userUuidstringfrom docblock
When it fires (1 site)
$event->on(DatabaseSnapshotsEvent::onSnapshotDeleted(), function ($filename, $userUuid): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:database:snapshot:deleted ' . json_encode(['filename' => $filename, 'user_uuid' => $userUuid]));
});

DatabaseSnapshotsEvent::onSnapshotDownloaded()

Name: featherpanel:database:snapshot:downloadedemitted at 1 siteCancel or modify: nodefinition

Docblock: string filename, string user uuid.

#Payload keyListener parameterType
1filename$filenamestring
2user_uuid$userUuidstringfrom docblock
When it fires (1 site)
$event->on(DatabaseSnapshotsEvent::onSnapshotDownloaded(), function ($filename, $userUuid): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:database:snapshot:downloaded ' . json_encode(['filename' => $filename, 'user_uuid' => $userUuid]));
});

DatabaseSnapshotsEvent::onSnapshotRestored()

Name: featherpanel:database:snapshot:restoredemitted at 1 siteCancel or modify: nodefinition

Docblock: string filename, string user uuid.

#Payload keyListener parameterType
1filename$filenamestring
2user_uuid$userUuidstringfrom docblock
When it fires (1 site)
$event->on(DatabaseSnapshotsEvent::onSnapshotRestored(), function ($filename, $userUuid): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:database:snapshot:restored ' . json_encode(['filename' => $filename, 'user_uuid' => $userUuid]));
});