Skip to content

Commit

Permalink
new strict routes
Browse files Browse the repository at this point in the history
  • Loading branch information
joamag committed Sep 13, 2016
1 parent 820b536 commit 60b9e5b
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/colony_print/controllers/node.py
Expand Up @@ -8,32 +8,38 @@
class NodeController(appier.Controller):

@appier.route("/nodes", "GET", json = True)
@appier.ensure(token = "admin")
def list(self):
return self.owner.nodes

@appier.route("/nodes/<str:id>", "POST", json = True)
@appier.ensure(token = "admin")
def create(self, id):
node = appier.get_object()
self.owner.nodes[id] = node

@appier.route("/nodes/<str:id>", "GET", json = True)
@appier.ensure(token = "admin")
def show(self, id, printer):
return self.owner.nodes[id]

@appier.route("/nodes/<str:id>/jobs", "GET", json = True)
@appier.ensure(token = "admin")
def jobs(self, id):
self.request.set_content_type("application/json")
yield -1
yield appier.ensure_async(self.gen_wait_jobs(id))

@appier.route("/nodes/<str:id>/print", ("GET", "POST"), json = True)
@appier.ensure(token = "admin")
def print_default(self, id):
job = appier.get_object()
jobs = self.owner.jobs.get(id, [])
jobs.append(job)
self.owner.jobs[id] = jobs

@appier.route("/nodes/<str:id>/printers/<str:printer>/print", ("GET", "POST"), json = True)
@appier.ensure(token = "admin")
def print_printer(self, id, printer):
job = appier.get_object()
job["printer"] = printer
Expand Down
3 changes: 3 additions & 0 deletions src/colony_print/controllers/printer.py
Expand Up @@ -6,14 +6,17 @@
class PrinterController(appier.Controller):

@appier.route("/printers", "GET", json = True)
@appier.ensure(token = "admin")
def list(self):
return self.npcolony.get_devices()

@appier.route("/printers/hello", "GET", json = True)
@appier.ensure(token = "admin")
def hello(self):
self.npcolony.print_hello()

@appier.route("/printers/<str:printer>/print", ("GET", "POST"), json = True)
@appier.ensure(token = "admin")
def print_document(self, printer):
data_b64 = self.field("data_b64")
self.npcolony.print_printer_base64(printer, data_b64)
Expand Down

0 comments on commit 60b9e5b

Please sign in to comment.