diff --git a/plugins/rmass/monitors/rmassmonitor.py b/plugins/rmass/monitors/rmassmonitor.py new file mode 100644 index 0000000..67a41c9 --- /dev/null +++ b/plugins/rmass/monitors/rmassmonitor.py @@ -0,0 +1,70 @@ +#Import List +import os +from plugins.rmass.operations import synapsemessagepush +from plugins.rmass.actions import setavailable + +#Module Description +name = "RMASS Monitor" +kind = "monitor" + +#Allows success status to be printed in logs during operation +showstatus = False + +#Request information for HTTP REST API requests +isrequest = True + +method = "GET" + +refreshrate = int(os.environ.get("MONITOR_INTERVAL", 10)) + +path = "https://rentmasseur.com/api/v1/account/keeponline" + +headers = { + "Authorization": { + "output": "access_token", + "prefix": "Bearer ", + }, +} + +#Items to be read from request response +resolve = { + "get": { + "currentunread": ["newEmails"], + "availability":["userActivity", "message"], + "availabletime":["userActivity", "validTo"], + }, +} + +#Items to be saved from request response +outputs = { + "availability": "message", + "availabletime": "validTo", + "lastunread": "newEmails", +} + +filters = [ + { + "filterkey": "currentunread", + "operator": ">", + "filtervalue": {"outputs": "lastunread"}, + "print": "New messages available...", + "execute": synapsemessagepush + }, + { + "filterkey": "availabletime", + "operator": "<=", + "filtervalue": 3600, + "print": "Available time below threshold...", + "execute": setavailable, + }, +] + + +#prints = { +# "Status": "message", +# "Time Remaining": "validTo", +# } + +#recoverPolicy = { +# KeyError: [] +#}