示例#1
0
from sanic import Sanic
from sanic.response import json, empty
from elasticsearch_dsl.connections import connections
from elasticsearch_dsl import Search
from models.status import Status

# ElasticSearch
connections.create_connection(hosts=["localhost"])
Status.init()

app = Sanic("status-app")


@app.route("/")
async def test(req):
    return json({"hello": "world"})


@app.get("/statuses")
async def get_statuses(req):
    s = Search(index="status_index")
    statuses = s.execute().to_dict()["hits"]["hits"]
    return json(statuses, indent=2)


@app.post("/status")
async def add_status(req):
    new_status = Status(title=req.json.get("title"), text=req.json.get("text"))
    new_status.save()
    return json({}, status=201)