diff options
author | Vitaly Buka <vitalybuka@google.com> | 2016-02-23 17:52:46 -0800 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2016-02-24 18:12:51 +0000 |
commit | 51dcfadb657361f4b0dd33248aeec16dcca81829 (patch) | |
tree | 3b11451794cf8d494cfd34dd3c813f4b5caa3e84 /src/access_api_handler.cc | |
parent | 4846c44914d563a76ac7b97f8917928cd2c054ce (diff) | |
download | libweave-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.cc | 23 |
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)); } |