Ejemplo n.º 1
0
    def put(self, name):
        data = Device.parser.parse_args()
        device = DeviceModel.find_by_name(name)

        if device is None:
            device = DeviceModel(name)
            device.save_to_db()
            return device.json(), 201
        else:
            device.state = data['state']
            device.save_to_db()
            return device.json(), 201
Ejemplo n.º 2
0
    def post(self, name):
        if DeviceModel.find_by_name(name):
            return {
                'message':
                f'Bad Request: A device with name {name} already exists. '
                f'No two duplicate devices can be created.'
            }, 400

        device = DeviceModel(name)
        device.save_to_db()
        return device.json(), 201
Ejemplo n.º 3
0
    def post(self):
        data = Device.arguments_device.parse_args()
        if DeviceModel.find_by_mac(data['mac']):
            return {"message": "The device {} already exists."}, 400

        device = DeviceModel(data['mac'], "ON")
        try:
            device.save()
        except:
            return {
                "message":
                'An internal error ocurred trying to create a new device.'
            }, 500
        return device.json()
Ejemplo n.º 4
0
    def put(self, devId):
        data = Device.parser.parse_args()

        device = DeviceModel.find_by_name(devId)

        if device is None:
            device = DeviceModel(devId, data['power'], data['voltage'],
                                 data['current'])
        else:
            device.power = data['power']
            device.voltage = data['voltage']
            device.current = data['current']

        device.save_to_db()

        return device.json()
Ejemplo n.º 5
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('device_id',
                            type=str,
                            help='Every device must have unique device id',
                            required=True,
                            trim=True)
        parser.add_argument('name',
                            type=str,
                            help='Device name is missing',
                            trim=True,
                            required=True)
        args = parser.parse_args()
        if DeviceModel.find_by_device_id(args['device_id']):
            return {"message": "Device name must be unique"}, 400

        device = DeviceModel(args['name'], args['device_id'])
        device.save_to_db()
        return device.json(), 200
Ejemplo n.º 6
0
    def post(self, devId):
        if DeviceModel.find_by_name(devId):
            return {
                'message':
                "A Device with devId '{}' already exists.".format(devId)
            }, 400

        data = Device.parser.parse_args()

        device = DeviceModel(devId, data['power'], data['voltage'],
                             data['current'])

        try:
            device.save_to_db()
        except:
            return {
                "message": "An error occurred inserting the device data."
            }, 500

        return device.json(), 201
Ejemplo n.º 7
0
 def post(self, name=None):
     data = json.loads(request.data)
     print(data)
     cipher_suite = Fernet(KEY)
     if data.get('login'):
         data['login'] = cipher_suite.encrypt(
             data.get('login').encode('ascii')).decode('ascii')
     if data.get('password'):
         data['password'] = cipher_suite.encrypt(
             data.get('password').encode('ascii')).decode('ascii')
     name = data.get("name", name)
     if DeviceModel.find_by_name(name):
         return {
             'error':
             "A device with name : {}, already exists.".format(name)
         }, 400
     device = DeviceModel(**data)
     #try:
     device.save_to_db()
     #except:
     #return {"error": "An error occurred creating the device."}, 500
     return device.json(), 201