bumper/bumper/plugins/bumper_confserver_portal_neng.py
Brian Martin f23c9bf4fe add missing api endpionts and examples
- add apis missing that were causing errors
- add bot / wifi config should work now on ecovacshome app
2020-01-05 09:29:53 -05:00

97 lines
3.4 KiB
Python

#!/usr/bin/env python3
import asyncio
from aiohttp import web
from bumper import plugins
import logging
import bumper
from bumper.models import *
from bumper import plugins
from datetime import datetime, timedelta
class portal_api_neng(plugins.ConfServerApp):
def __init__(self):
self.name = "portal_api_neng"
self.plugin_type = "sub_api"
self.sub_api = "portal_api"
self.routes = [
web.route("*", "/neng/message/hasUnreadMsg", self.handle_neng_hasUnreadMessage, name="portal_api_neng_hasUnreadMessage"),
web.route("*", "/neng/message/getShareMsgs", self.handle_neng_getShareMsgs, name="portal_api_neng_getShareMsgs"),
web.route("*", "/neng/message/getlist", self.handle_neng_getlist, name="portal_api_neng_getlist"),
]
self.get_milli_time = bumper.ConfServer.ConfServer_GeneralFunctions().get_milli_time
async def handle_neng_hasUnreadMessage(self, request): # EcoVacs Home
try:
body = {"code": 0, "data": {"hasUnRead": True}}
return web.json_response(body)
except Exception as e:
logging.exception("{}".format(e))
async def handle_neng_getShareMsgs(self, request): # EcoVacs Home
try:
body = {"code":0,"data":{"hasNext":False,"msgs":[]}}
# share msg response
# {
# "code": 0,
# "data": {
# "hasNext": False,
# "msgs": [
# {
# "action": "shareDevice",
# "deviceName": "DEEBOT 900 Series",
# "did": "DID",
# "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ba4a2cb6c2f120001c32839",
# "id": "0154d03a-294e-4b99-a6df-fc2dbf4146d5",
# "isRead": False,
# "message": "User user@gmail.com sent you the sharing invitation of DEEBOT 900 Series.",
# "mid": "ls1ok3",
# "resource": "grU0",
# "shareStatus": "sharing",
# "ts": 1578206187412
# }
# ]
# }
# }
return web.json_response(body)
except Exception as e:
logging.exception("{}".format(e))
async def handle_neng_getlist(self, request): # EcoVacs Home
try:
body = {"code":0,"data":{"hasNext":False,"msgs":[]}}
#Sample Message
# {
# "id": "5da0ac9d636aec5107627ac4",
# "ts": 1570811036877,
# "did": "bot did",
# "cid": "ls1ok3",
# "name": "DEEBOT 900 Series",
# "icon": "https://portal-ww.ecouser.net/api/pim/file/get/5ba4a2cb6c2f120001c32839",
# "eventTypeId": "5aab824bb62ce30001f9a702",
# "title": "DEEBOT is off the floor.",
# "body": "DEEBOT is off the floor. Please put it back.",
# "read": false,
# "UILogicId": "D_900",
# "type": "web",
# "url": "https://portal-ww.ecouser.net/api/pim/eventdetail.html?id=5ba21e44aed83800015b9ca8" # Off the floor instructions
# }
return web.json_response(body)
except Exception as e:
logging.exception("{}".format(e))
plugin = portal_api_neng()