Skip to content

Commit

Permalink
feat(examples): add class based routing demonstration in cars example
Browse files Browse the repository at this point in the history
  • Loading branch information
fMeow committed May 10, 2018
1 parent 9137de1 commit df7724f
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 1 deletion.
23 changes: 23 additions & 0 deletions examples/cars/blueprints/repair.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from sanic.views import HTTPMethodView
from sanic.blueprints import Blueprint
from sanic.response import json
from sanic_openapi import doc

blueprint = Blueprint('Repair', '/repair')
from models import Station
from data import test_station


class RepairStation(HTTPMethodView):
@doc.summary("Fetches all repair stations")
@doc.produces([Station])
def get(self, request):
return json([test_station])

@doc.summary("make an appointment")
@doc.description("submit necessary information for appointment")
def post(self, request):
return json(request.json)


blueprint.add_route(RepairStation.as_view(), "/station", strict_slashes=True)
8 changes: 7 additions & 1 deletion examples/cars/data.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
from models import Car, Driver, Garage, Manufacturer, Status
from models import Car, Driver, Garage, Manufacturer, Status, Station
import datetime

test_manufacturer = Manufacturer()
test_driver = Driver()
test_car = Car()
test_garage = Garage()
test_status = Status()
test_station = Station()

test_manufacturer = {
'id': 1,
Expand Down Expand Up @@ -36,3 +37,8 @@
test_success = {
'success': True
}

test_station = {
'contact': 00000000,
'location': 'Seattle',
}
2 changes: 2 additions & 0 deletions examples/cars/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from blueprints.driver import blueprint as driver_blueprint
from blueprints.garage import blueprint as garage_blueprint
from blueprints.manufacturer import blueprint as manufacturer_blueprint
from blueprints.repair import blueprint as repair_blueprint

app = Sanic()

Expand All @@ -13,6 +14,7 @@
app.blueprint(driver_blueprint)
app.blueprint(garage_blueprint)
app.blueprint(manufacturer_blueprint)
app.blueprint(repair_blueprint)

app.config.API_VERSION = '1.0.0'
app.config.API_TITLE = 'Car API'
Expand Down
6 changes: 6 additions & 0 deletions examples/cars/models.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from datetime import date
from sanic_openapi import doc


class Manufacturer:
Expand Down Expand Up @@ -27,3 +28,8 @@ class Garage:

class Status:
success = bool


class Station:
location = doc.String("location")
contact = doc.Integer("phone number")

0 comments on commit df7724f

Please sign in to comment.