main.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. from enum import Enum
  2. from typing import Optional
  3. from fastapi import FastAPI, Query
  4. import dataset,json
  5. app = FastAPI()
  6. db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/cmm_test?charset=utf8mb4')
  7. @app.get("/tags")
  8. async def get_tags():
  9. statement = 'SELECT id,name FROM tag_table'
  10. tags = []
  11. for row in db.query(statement):
  12. tags.append({'id':row['id'],'name':row['name']})
  13. return tags
  14. @app.get("/tags/{tag_id}")
  15. async def get_tags(tag_id):
  16. statement = 'SELECT id,name FROM tag_table where id = '+tag_id
  17. for row in db.query(statement):
  18. result = {'id':row['id'],'name':row['name']}
  19. return result
  20. @app.get("/courses")
  21. async def get_courses(tag_string):
  22. courses = []
  23. statement = 'SELECT course_id from course_tag where tag_id IN'+tag_string
  24. course_id_string = '('
  25. for row in db.query(statement):
  26. course_id_string = course_id_string + str(row['course_id'])+","
  27. course_id_string=course_id_string[:-1]
  28. course_id_string = course_id_string+')'
  29. statement = 'SELECT id,name from course_table where id IN'+course_id_string
  30. for row in db.query(statement):
  31. courses.append({'id':row['id'],'name':row['name']})
  32. return courses