Чтобы включить API для своей панели, поставьте переменную api_enabled в 1 (System settings).
Методы:select - получает строки таблицы
возвращает массив хешей, где элементы массива представляют из себя строки получаемой таблицы, а хеши столбцы вида login => 'ftp0'
Пример (получение всех полей id, login из таблицы accounts):
my @result = dedikit::select(table => 'accounts', columns => [ 'id', 'login' ] );
возвращает при успехе 1, при неуспехе undef
Пример (добавление шелл-аккаунта ftp1 с паролем PASSWORD):
dedikit::insert(table => 'accounts', columns => { login => 'ftp1', passwd => 'PASSWORD', type => 'shell' } );
возвращает при успехе 1, при неуспехе undef
Пример (смена пароля на NEWPASSWORD для аккаунта ftp0):
dedikit::update(table => 'accounts',
columns => { passwd => 'NEWPASSWORD' },
where => [ { op => 'EQ', name => 'login', value => 'ftp0' } ] );
возвращает при успехе 1, при неуспехе undef
Пример (удаление аккаунта ftp0):
dedikit::delete(table => 'accounts',
where => [ { name => 'login', value => 'ftp0' } ] );
Пример:
Условие: where login='ftp0'
Как его нужно записывать:
where => [
];
Пример записи с использованием логических операторов:
Условие: where login='ftp0' and passwd='test' and id<>10
Как его нужно записывать:
where => [
];
Вместо оператора LIKE нужно использовать встроенный оператор REGEX - он аналогичен EQ, NE, только вместо условий "равно", "не равно" производится Perl regex matching.
Пример выделения всех поддоменов домена test.com.
Условие: where hosts.name like '%.test.com'
Как его нужно записывать:
where => [
];