def get(self, device_id): auth_api_request = AuthApiRequest(self._api) auth_api_request.url('device/{deviceId}', deviceId=device_id) auth_api_request.action('device/get') auth_api_request.response_key('device') device = auth_api_request.execute('Device get failure.') self._init(device)
def create_user(self, login, password, role, data, all_device_types_available=True): status = User.ACTIVE_STATUS user = { User.LOGIN_KEY: login, User.ROLE_KEY: role, User.STATUS_KEY: status, User.DATA_KEY: data, User.PASSWORD_KEY: password, User.ALL_DEVICE_TYPES_KEY: all_device_types_available } auth_api_request = AuthApiRequest(self) auth_api_request.method('POST') auth_api_request.url('user') auth_api_request.action('user/insert') auth_api_request.set('user', user, True) auth_api_request.response_key('user') user = auth_api_request.execute('User create failure.') user[User.LOGIN_KEY] = login user[User.ROLE_KEY] = role user[User.STATUS_KEY] = status user[User.DATA_KEY] = data return User(self, user)
def get(self, user_id): auth_api_request = AuthApiRequest(self._api) auth_api_request.url('user/{userId}', userId=user_id) auth_api_request.action('user/get') auth_api_request.response_key('user') user = auth_api_request.execute('User get failure.') self._init(user)
def get_current(self): auth_api_request = AuthApiRequest(self._api) auth_api_request.url('user/current') auth_api_request.action('user/getCurrent') auth_api_request.response_key('current') user = auth_api_request.execute('Current user get failure.') self._init(user)
def send_command(self, device_id, command_name, parameters=None, lifetime=None, timestamp=None, status=None, result=None): command = {Command.COMMAND_KEY: command_name} if parameters: command[Command.PARAMETERS_KEY] = parameters if lifetime: command[Command.LIFETIME_KEY] = lifetime if timestamp: command[Command.TIMESTAMP_KEY] = timestamp if status: command[Command.STATUS_KEY] = status if result: command[Command.RESULT_KEY] = result auth_api_request = AuthApiRequest(self) auth_api_request.method('POST') auth_api_request.url('device/{deviceId}/command', deviceId=device_id) auth_api_request.action('command/insert') auth_api_request.set('command', command, True) auth_api_request.response_key('command') command = auth_api_request.execute('Command send failure.') command[Command.DEVICE_ID_KEY] = device_id command[Command.COMMAND_KEY] = command_name command[Command.PARAMETERS_KEY] = parameters command[Command.LIFETIME_KEY] = lifetime command[Command.STATUS_KEY] = status command[Command.RESULT_KEY] = result return Command(self, command)
def get(self, network_id): auth_api_request = AuthApiRequest(self._api) auth_api_request.url('network/{id}', id=network_id) auth_api_request.action('network/get') auth_api_request.response_key('network') network = auth_api_request.execute('Network get failure.') self._init(network)
def set_property(self, name, value): auth_api_request = AuthApiRequest(self) auth_api_request.method('PUT') auth_api_request.url('configuration/{name}', name=name) auth_api_request.action('configuration/put') auth_api_request.set('value', value) auth_api_request.response_key('configuration') configuration = auth_api_request.execute('Set property failure.') return {'entity_version': configuration['entityVersion']}
def list_device_types(self): self._ensure_exists() auth_api_request = AuthApiRequest(self._api) auth_api_request.url('user/{userId}/devicetype', userId=self._id) auth_api_request.action('user/getDeviceTypes') auth_api_request.response_key('deviceTypes') device_types = auth_api_request.execute('List device types failure.') return [ DeviceType(self._api, device_type) for device_type in device_types ]
def list_networks(self): self._ensure_exists() auth_api_request = AuthApiRequest(self._api) auth_api_request.url('user/{userId}', userId=self._id) auth_api_request.action('user/get') auth_api_request.response_key('user') user = auth_api_request.execute('List networks failure.') return [ Network(self._api, network) for network in user[User.NETWORKS_KEY] ]
def get_property(self, name): auth_api_request = AuthApiRequest(self) auth_api_request.url('configuration/{name}', name=name) auth_api_request.action('configuration/get') auth_api_request.response_key('configuration') configuration = auth_api_request.execute('Get property failure.') return { 'entity_version': configuration['entityVersion'], 'name': configuration['name'], 'value': configuration['value'] }
def create_device_type(self, name, description): device_type = { DeviceType.NAME_KEY: name, DeviceType.DESCRIPTION_KEY: description } auth_api_request = AuthApiRequest(self) auth_api_request.method('POST') auth_api_request.url('devicetype') auth_api_request.action('devicetype/insert') auth_api_request.set('deviceType', device_type, True) auth_api_request.response_key('deviceType') device_type = auth_api_request.execute('Device type create failure.') device_type[DeviceType.NAME_KEY] = name device_type[DeviceType.DESCRIPTION_KEY] = description return DeviceType(self, device_type)
def create_network(self, name, description): network = { Network.NAME_KEY: name, Network.DESCRIPTION_KEY: description } auth_api_request = AuthApiRequest(self) auth_api_request.method('POST') auth_api_request.url('network') auth_api_request.action('network/insert') auth_api_request.set('network', network, True) auth_api_request.response_key('network') network = auth_api_request.execute('Network create failure.') network[Network.NAME_KEY] = name network[Network.DESCRIPTION_KEY] = description return Network(self, network)
def list_device_types(self, name=None, name_pattern=None, sort_field=None, sort_order=None, take=None, skip=None): auth_api_request = AuthApiRequest(self) auth_api_request.url('devicetype') auth_api_request.action('devicetype/list') auth_api_request.param('name', name) auth_api_request.param('namePattern', name_pattern) auth_api_request.param('sortField', sort_field) auth_api_request.param('sortOrder', sort_order) auth_api_request.param('take', take) auth_api_request.param('skip', skip) auth_api_request.response_key('deviceTypes') device_types = auth_api_request.execute('List device types failure.') return [DeviceType(self, device_type) for device_type in device_types]
def list_networks(self, name=None, name_pattern=None, sort_field=None, sort_order=None, take=None, skip=None): auth_api_request = AuthApiRequest(self) auth_api_request.url('network') auth_api_request.action('network/list') auth_api_request.param('name', name) auth_api_request.param('namePattern', name_pattern) auth_api_request.param('sortField', sort_field) auth_api_request.param('sortOrder', sort_order) auth_api_request.param('take', take) auth_api_request.param('skip', skip) auth_api_request.response_key('networks') networks = auth_api_request.execute('List networks failure.') return [Network(self, network) for network in networks]
def send_notification(self, device_id, notification_name, parameters=None, timestamp=None): notification = {'notification': notification_name} if parameters: notification['parameters'] = parameters if timestamp: notification['timestamp'] = timestamp auth_api_request = AuthApiRequest(self) auth_api_request.method('POST') auth_api_request.url('device/{deviceId}/notification', deviceId=device_id) auth_api_request.action('notification/insert') auth_api_request.set('notification', notification, True) auth_api_request.response_key('notification') notification = auth_api_request.execute('Notification send failure.') notification[Notification.DEVICE_ID_KEY] = device_id notification[Notification.NOTIFICATION_KEY] = notification_name notification[Notification.PARAMETERS_KEY] = parameters return Notification(notification)
def list_users(self, login=None, login_pattern=None, role=None, status=None, sort_field=None, sort_order=None, take=None, skip=None): auth_api_request = AuthApiRequest(self) auth_api_request.url('user') auth_api_request.action('user/list') auth_api_request.param('login', login) auth_api_request.param('loginPattern', login_pattern) auth_api_request.param('role', role) auth_api_request.param('status', status) auth_api_request.param('sortField', sort_field) auth_api_request.param('sortOrder', sort_order) auth_api_request.param('take', take) auth_api_request.param('skip', skip) auth_api_request.response_key('users') users = auth_api_request.execute('List users failure.') return [User(self, user) for user in users]
def list_notifications(self, device_id, start=None, end=None, notification=None, sort_field=None, sort_order=None, take=None, skip=None): auth_api_request = AuthApiRequest(self) auth_api_request.url('device/{deviceId}/notification', deviceId=device_id) auth_api_request.action('notification/list') auth_api_request.param('start', start) auth_api_request.param('end', end) auth_api_request.param('notification', notification) auth_api_request.param('sortField', sort_field) auth_api_request.param('sortOrder', sort_order) auth_api_request.param('take', take) auth_api_request.param('skip', skip) auth_api_request.response_key('notifications') notifications = auth_api_request.execute('List notifications failure.') return [Notification(notification) for notification in notifications]
def list_commands(self, device_id, start=None, end=None, command=None, status=None, sort_field=None, sort_order=None, take=None, skip=None): auth_api_request = AuthApiRequest(self) auth_api_request.url('device/{deviceId}/command', deviceId=device_id) auth_api_request.action('command/list') auth_api_request.param('start', start) auth_api_request.param('end', end) auth_api_request.param('command', command) auth_api_request.param('status', status) auth_api_request.param('sortField', sort_field) auth_api_request.param('sortOrder', sort_order) auth_api_request.param('take', take) auth_api_request.param('skip', skip) auth_api_request.response_key('commands') commands = auth_api_request.execute('List commands failure.') return [Command(self, command) for command in commands]