aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorMilo Casagrande <milo.casagrande@linaro.org>2015-01-16 16:48:11 +0100
committerMilo Casagrande <milo.casagrande@linaro.org>2015-01-16 16:48:11 +0100
commitf6da6a1e70673f400596ba1c3ec65a0fde6f7f27 (patch)
tree9c344a062284d397ca337566091883d59c0fbbaa /app
parentf7044d055e6c49ea7e1024a2bb4a0c3aa4aa6d41 (diff)
Add new key and validation for token.
Change-Id: I6a2b1634f2f772fab5c70e2041570a2ec837266f
Diffstat (limited to 'app')
-rw-r--r--app/handlers/common.py19
-rw-r--r--app/models/__init__.py1
2 files changed, 20 insertions, 0 deletions
diff --git a/app/handlers/common.py b/app/handlers/common.py
index 9f77c38..691ce27 100644
--- a/app/handlers/common.py
+++ b/app/handlers/common.py
@@ -195,6 +195,7 @@ TOKEN_VALID_KEYS = {
models.ADMIN_KEY,
models.DELETE_KEY,
models.EMAIL_KEY,
+ models.EXPIRED_KEY,
models.EXPIRES_KEY,
models.GET_KEY,
models.IP_ADDRESS_KEY,
@@ -203,6 +204,7 @@ TOKEN_VALID_KEYS = {
models.NAME_KEY,
models.POST_KEY,
models.SUPERUSER_KEY,
+ models.UPLOAD_KEY,
models.USERNAME_KEY
],
'GET': [
@@ -903,6 +905,23 @@ def valid_token_th(token, method):
return valid_token
+def valid_token_upload(token, method):
+ """Make sure a token is enabled to upload files.
+
+ :param token: The token object to validate.
+ :param method: The HTTP method this token is being validated for.
+ :return True or False.
+ """
+ valid_token = False
+
+ if any([token.is_admin, token.is_superuser]):
+ valid_token = True
+ if all([(method == "PUT" or method == "POST"), token.is_upload_token]):
+ valid_token = True
+
+ return valid_token
+
+
def validate_token(token_obj, method, remote_ip, validate_func):
"""Make sure the passed token is valid.
diff --git a/app/models/__init__.py b/app/models/__init__.py
index eee8699..3e19fdb 100644
--- a/app/models/__init__.py
+++ b/app/models/__init__.py
@@ -135,6 +135,7 @@ POST_KEY = "post"
SUPERUSER_KEY = "superuser"
LAB_KEY = "lab"
PUT_KEY = "put"
+UPLOAD_KEY = "upload"
# Job and/or build status.
BUILD_STATUS = "BUILD"