This commit is contained in:
		@@ -19,7 +19,7 @@ class SampleMetadata(db.Model):
 | 
			
		||||
    id = db.Column(db.Integer, primary_key=True, auto_increment=True)
 | 
			
		||||
    timestamp = db.Column(db.TIMESTAMP, nullable=False, server_default=func.now())
 | 
			
		||||
 | 
			
		||||
    device_id = db.Column(db.String, nullable=False)
 | 
			
		||||
    device_id = db.Column(db.Integer, nullable=False)
 | 
			
		||||
    device_date = db.Column(db.DateTime, nullable=False)
 | 
			
		||||
 | 
			
		||||
    tag = db.Column(db.String, nullable=False)
 | 
			
		||||
    tag = db.Column(db.String(32), nullable=False)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
import logging
 | 
			
		||||
import json
 | 
			
		||||
from flask import request
 | 
			
		||||
import rstr
 | 
			
		||||
from flask_restful import Resource, reqparse
 | 
			
		||||
from werkzeug.datastructures import FileStorage
 | 
			
		||||
import filetype
 | 
			
		||||
@@ -50,12 +50,18 @@ class SampleResource(Resource):
 | 
			
		||||
            LOGGER.exception(e)
 | 
			
		||||
            return {'status': 'error',
 | 
			
		||||
                    'message': 'Input JSON could not be parsed'}, 400
 | 
			
		||||
        validate_errors = InputSchema().validate(desc)
 | 
			
		||||
        validate_errors = SampleSchema().validate(desc)
 | 
			
		||||
        if validate_errors:
 | 
			
		||||
            LOGGER.error(
 | 
			
		||||
                "Input JSON did not conform to schema. It was: {}", desc)
 | 
			
		||||
            return {'status': 'error',
 | 
			
		||||
                    'message': 'Input JSON schema invalid'}, 417
 | 
			
		||||
# TODO: Preserve input data in relational DB
 | 
			
		||||
        generated_tag = rstr.xeger(r'^[a-zA-Z]+[0-9a-zA-Z_]*$', 2, 32)
 | 
			
		||||
 | 
			
		||||
        record = SampleMetadata(device_id=desc['device_id'], device_date=desc['date'], tag=generated_tag)
 | 
			
		||||
        db.session.add(record)
 | 
			
		||||
        db.session.commit()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# TODO: Pass data and tag to ObjectStorage
 | 
			
		||||
# TODO: Pass tag to MQ
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user