Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. class MakeTemplate(Resource):
  2.  
  3. def __init__(self):
  4. self.parser = reqparse.RequestParser()
  5.  
  6. def _insert_db(self, args):
  7.  
  8. model_json = models.Template(
  9. company=args["companyName"],
  10. json_template=self.json_data,
  11. product_name=args["productName"],
  12. image_location=args["imageLocation"],
  13. update_date=None)
  14.  
  15. db.session.add(model_json)
  16. db.session.commit()
  17.  
  18.  
  19. def _parse_json(self, args):
  20. self.json_data = json.loads(args['data'])
  21. return jsonify({"error": "Expected json in 'data' arg"})
  22.  
  23.  
  24. def post(self):
  25. self.parser.add_argument('companyName', type=str)
  26. self.parser.add_argument('productName', type=str, required=True)
  27. self.parser.add_argument('data', required=True)
  28. self.parser.add_argument('imageLocation', type=str)
  29. args = self.parser.parse_args()
  30.  
  31. self._parse_json(args)
  32. self._insert_db(args)
  33.  
  34. return jsonify({"error": "None", "status": "Success"})
  35.  
  36. def get(self):
  37. result = db.session.query(models.Template).all()
  38. model_data = []
  39. for row in result:
  40. model_data.append({
  41. "created_date": row.created_date,
  42. "productName": row.product_name,
  43. "annote": row.json_template,
  44. "companyName": row.company,
  45. "image_location": row.image_location
  46. })
  47. return jsonify({"data": model_data})
  48.  
  49. def put(self):
  50. self.parser = reqparse.RequestParser()
  51. self.parser.add_argument('editProducte', type=str, required=True)
  52. self.parser.add_argument('editData', required=True)
  53. args = parser.parse_args()
  54.  
  55. editProducte = args["editProduct"]
  56. new_json = args["editData"]
  57.  
  58. model_json = models.Template.query.filter_by(
  59. product_name=editProducte).first()
  60.  
  61. model_json.json_template = "{'new' :" test" }"
  62. model_json.update_date = datetime.datetime.utcnow()
  63.  
  64. db.session.commit()
  65.  
  66.  
  67. return jsonify({"data": new_json})
  68.  
  69. def put(self):
  70. parser = reqparse.RequestParser()
  71. parser.add_argument('editInvoice', type=str, required=True)
  72. parser.add_argument('editData', required=True)
  73. args = parser.parse_args()
  74.  
  75. editInvoice = args["editInvoice"]
  76. new_json = args["editData"]
  77.  
  78.  
  79.  
  80. rows_changed = models.Template.query.filter_by(
  81. invoice_name=editInvoice).update(dict(json_template={}))
  82.  
  83.  
  84. db.session.commit()
  85.  
  86. class Template(app.db.Model):
  87. id = app.db.Column(app.db.Integer, primary_key=True)
  88. created_date = app.db.Column(DATETIME, default=datetime.datetime.utcnow)
  89. update_date = app.db.Column(DATETIME)
  90.  
  91. company = app.db.Column(VARCHAR)
  92. invoice_name = app.db.Column(VARCHAR, nullable=False, unique=True)
  93.  
  94. image_location = app.db.Column(VARCHAR, nullable=True)
  95. json_template = app.db.Column(JSON, nullable=False)
  96.  
  97. def __repr__(self):
  98. return '<User %r>' % self.company
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement