gopy.py 963 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/bin/env python3
  2. import flask
  3. from flask import request, jsonify
  4. from flask_sqlalchemy import SQLAlchemy
  5. from flask_marshmallow import Marshmallow
  6. db = SQLAlchemy()
  7. app = flask.Flask(__name__)
  8. app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@mysql-0.mysql.svc.cluster.local/gopy'
  9. db.init_app(app)
  10. ma = Marshmallow(app)
  11. class Link(db.Model):
  12. id = db.Column(db.Integer, primary_key=True)
  13. name = db.Column(db.String(255))
  14. target = db.Column(db.String(255))
  15. def __repr__(self):
  16. return '<Link id=(id) name=(name) target=(target)>'.format(
  17. id=self.id, name=self.name, target=self.target
  18. )
  19. class LinkSchema(ma.Schema):
  20. class Meta:
  21. fields = ('id', 'name', 'target')
  22. @app.route('/links', methods=['GET'])
  23. def get_links():
  24. links = Link.query.all()
  25. schema = LinkSchema(many=True)
  26. link_json = schema.dump(links)
  27. return jsonify(link_json)
  28. #@app.route('/links/<int:id>', methods=['GET'])