<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def assign_users(self):
 """Update device properties."""

        device = self._devices[0]
        url = '{}/devices/{}?filter=ownerId,leftUserId,rightUserId' \
            .format(API_URL, device)

        data = await self.api_get(url)
        if data is None:
            _LOGGER.error('Unable to assign eight device users.')
        else:
            # Find the side to the known userid
            if data['result']['rightUserId'] == self._userid:
                self.users[data['result']['rightUserId']] = \
                    EightUser(self, data['result']['rightUserId'], 'right')
                user_side = 'right'
            elif data['result']['leftUserId'] == self._userid:
                self.users[data['result']['leftUserId']] = \
                    EightUser(self, data['result']['leftUserId'], 'left')
                user_side = 'left'
            else:
                _LOGGER.error('Unable to assign eight device users.')

            if self._partner:
                if user_side == 'right':
                    self.users[data['result']['leftUserId']] = \
                        EightUser(self, data['result']['leftUserId'], 'left')
                else:
                    self.users[data['result']['rightUserId']] = \
                        EightUser(self, data['result']['rightUserId'], 'right')