aboutsummaryrefslogtreecommitdiff
path: root/src/access_api_handler.cc
diff options
context:
space:
mode:
authorVitaly Buka <vitalybuka@google.com>2016-02-23 17:52:46 -0800
committerVitaly Buka <vitalybuka@google.com>2016-02-24 18:12:51 +0000
commit51dcfadb657361f4b0dd33248aeec16dcca81829 (patch)
tree3b11451794cf8d494cfd34dd3c813f4b5caa3e84 /src/access_api_handler.cc
parent4846c44914d563a76ac7b97f8917928cd2c054ce (diff)
downloadlibweave-51dcfadb657361f4b0dd33248aeec16dcca81829.tar.gz
Add revocationTimestamp parameter into revocation entry
BUG: 27313743 Change-Id: Ic1d5ebbe771ac3437d9340ca91840d04fa960c57 Reviewed-on: https://weave-review.googlesource.com/2727 Reviewed-by: Alex Vakulenko <avakulenko@google.com>
Diffstat (limited to 'src/access_api_handler.cc')
-rw-r--r--src/access_api_handler.cc23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/access_api_handler.cc b/src/access_api_handler.cc
index fc7b97b..ec22094 100644
--- a/src/access_api_handler.cc
+++ b/src/access_api_handler.cc
@@ -23,6 +23,7 @@ const char kStateCapacity[] = "_accessRevocationList.capacity";
const char kUserId[] = "userId";
const char kApplicationId[] = "applicationId";
const char kExpirationTime[] = "expirationTime";
+const char kRevocationTimestamp[] = "revocationTimestamp";
const char kBlackList[] = "revocationListEntries";
bool GetIds(const base::DictionaryValue& parameters,
@@ -65,6 +66,9 @@ AccessApiHandler::AccessApiHandler(Device* device,
"applicationId": {
"type": "string"
},
+ "revocationTimestamp": {
+ "type": "integer"
+ },
"expirationTime": {
"type": "integer"
}
@@ -85,6 +89,9 @@ AccessApiHandler::AccessApiHandler(Device* device,
"applicationId": {
"type": "string"
},
+ "revocationTimestamp": {
+ "type": "integer"
+ },
"expirationTime": {
"type": "integer"
}
@@ -132,15 +139,25 @@ void AccessApiHandler::Block(const std::weak_ptr<Command>& cmd) {
return;
}
- int time_j2k = 0;
- if (!parameters.GetInteger(kExpirationTime, &time_j2k)) {
+ int expiration_j2k = 0;
+ if (!parameters.GetInteger(kExpirationTime, &expiration_j2k)) {
Error::AddToPrintf(&error, FROM_HERE, errors::commands::kInvalidPropValue,
"Expiration time is missing");
command->Abort(error.get(), nullptr);
return;
}
- manager_->Block(user_id, app_id, FromJ2000Time(time_j2k),
+ int revocation_j2k = 0;
+ if (!parameters.GetInteger(kRevocationTimestamp, &revocation_j2k)) {
+ Error::AddToPrintf(&error, FROM_HERE, errors::commands::kInvalidPropValue,
+ "Revocation timestamp is missing");
+ command->Abort(error.get(), nullptr);
+ return;
+ }
+
+ manager_->Block(AccessBlackListManager::Entry{user_id, app_id,
+ FromJ2000Time(revocation_j2k),
+ FromJ2000Time(expiration_j2k)},
base::Bind(&AccessApiHandler::OnCommandDone,
weak_ptr_factory_.GetWeakPtr(), cmd));
}