mirror of
https://github.com/laurivosandi/certidude
synced 2024-12-22 08:15:18 +00:00
api: tag: drop usage of global authority import
This commit is contained in:
parent
4e50ddfc54
commit
7d514a3bc6
@ -232,11 +232,11 @@ def certidude_app(log_handlers=[]):
|
||||
app.add_route("/api/signed/{cn}/script/", ScriptResource(authority))
|
||||
|
||||
# API calls used by pushed events on the JS end
|
||||
app.add_route("/api/signed/{cn}/tag/", TagResource())
|
||||
app.add_route("/api/signed/{cn}/tag/", TagResource(authority))
|
||||
app.add_route("/api/signed/{cn}/lease/", LeaseDetailResource(authority))
|
||||
|
||||
# API call used to delete existing tags
|
||||
app.add_route("/api/signed/{cn}/tag/{tag}/", TagDetailResource())
|
||||
app.add_route("/api/signed/{cn}/tag/{tag}/", TagDetailResource(authority))
|
||||
|
||||
# Gateways can submit leases via this API call
|
||||
app.add_route("/api/lease/", LeaseResource(authority))
|
||||
|
@ -1,18 +1,21 @@
|
||||
import falcon
|
||||
import logging
|
||||
from xattr import getxattr, removexattr, setxattr
|
||||
from certidude import authority, push
|
||||
from certidude import push
|
||||
from certidude.auth import login_required, authorize_admin
|
||||
from certidude.decorators import serialize, csrf_protection
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class TagResource(object):
|
||||
def __init__(self, authority):
|
||||
self.authority = authority
|
||||
|
||||
@serialize
|
||||
@login_required
|
||||
@authorize_admin
|
||||
def on_get(self, req, resp, cn):
|
||||
path, buf, cert, signed, expires = authority.get_signed(cn)
|
||||
path, buf, cert, signed, expires = self.authority.get_signed(cn)
|
||||
tags = []
|
||||
try:
|
||||
for tag in getxattr(path, "user.xdg.tags").decode("utf-8").split(","):
|
||||
@ -30,7 +33,7 @@ class TagResource(object):
|
||||
@login_required
|
||||
@authorize_admin
|
||||
def on_post(self, req, resp, cn):
|
||||
path, buf, cert, signed, expires = authority.get_signed(cn)
|
||||
path, buf, cert, signed, expires = self.authority.get_signed(cn)
|
||||
key, value = req.get_param("key", required=True), req.get_param("value", required=True)
|
||||
try:
|
||||
tags = set(getxattr(path, "user.xdg.tags").decode("utf-8").split(","))
|
||||
@ -46,11 +49,14 @@ class TagResource(object):
|
||||
|
||||
|
||||
class TagDetailResource(object):
|
||||
def __init__(self, authority):
|
||||
self.authority = authority
|
||||
|
||||
@csrf_protection
|
||||
@login_required
|
||||
@authorize_admin
|
||||
def on_put(self, req, resp, cn, tag):
|
||||
path, buf, cert, signed, expires = authority.get_signed(cn)
|
||||
path, buf, cert, signed, expires = self.authority.get_signed(cn)
|
||||
value = req.get_param("value", required=True)
|
||||
try:
|
||||
tags = set(getxattr(path, "user.xdg.tags").decode("utf-8").split(","))
|
||||
@ -72,7 +78,7 @@ class TagDetailResource(object):
|
||||
@login_required
|
||||
@authorize_admin
|
||||
def on_delete(self, req, resp, cn, tag):
|
||||
path, buf, cert, signed, expires = authority.get_signed(cn)
|
||||
path, buf, cert, signed, expires = self.authority.get_signed(cn)
|
||||
tags = set(getxattr(path, "user.xdg.tags").decode("utf-8").split(","))
|
||||
tags.remove(tag)
|
||||
if not tags:
|
||||
|
Loading…
Reference in New Issue
Block a user