Luckily, there’s an API call to mark items inactive. You could of course manually login and mark them as inactive, but using the API and a bit of SQL lets me run this check for all the items. Right now I’m just doing this manually, but will probably put it in a cron job to make sure all inactive items are marked so in easyrec.
Here’s the SQL (escaped so it doesn’t wrap):
select concat('wget "http://hostname/api/1.0/json/setitemactive?apikey=apikey&tenantid=tenantid&\
active=false&itemtype=ITEM&itemid=',id,'"; sleep 5;')
from itemtable where enabled = 0;
I have an item table that looks like this:
CREATE TABLE `itemtable` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`enabled` tinyint(1) NOT NULL DEFAULT '1',
enabled is set to 0 for disabled items and 1 for enabled items. The
id column is numeric and also happens to be the easyrec item id number, in a happy coincidence.
The end output is a series of
sleep commands that I can run in the shell. I added in the sleep commands because I’m on the demo host of easyrec and didn’t want to overwhelm their server with updates.