From ef352c4c6e7414d86d76b79fefe1ee17321a1224 Mon Sep 17 00:00:00 2001 From: bitbashing Date: Fri, 28 Aug 2020 12:13:56 -0700 Subject: [PATCH] KCRO-32: validation no longer uses crossbar_doc so the context db_doc is not set and billing relies on that (#6625) --- applications/crossbar/src/modules_v1/cb_users_v1.erl | 8 +++++++- applications/crossbar/src/modules_v2/cb_users_v2.erl | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/applications/crossbar/src/modules_v1/cb_users_v1.erl b/applications/crossbar/src/modules_v1/cb_users_v1.erl index 67462a8b39e..929da6bdf10 100644 --- a/applications/crossbar/src/modules_v1/cb_users_v1.erl +++ b/applications/crossbar/src/modules_v1/cb_users_v1.erl @@ -521,8 +521,14 @@ validate_request(UserId, Context) -> AccountId = cb_context:account_id(Context), case kzd_users:validate(AccountId, UserId, ReqJObj) of + {'true', UserJObj} when is_binary(UserId) -> + lager:debug("successfull validated user object update"), + %% NOTE: We need to load the current (unmodified) user document + %% into the cb_context KVS db_doc because billing uses that to + %% determine what changed and charge accordingly + cb_context:update_successfully_validated_request(load_user(UserId, Context), UserJObj); {'true', UserJObj} -> - lager:debug("successfull validated user object"), + lager:debug("successfull validated user object create"), cb_context:update_successfully_validated_request(Context, UserJObj); {'validation_errors', ValidationErrors} -> lager:info("validation errors on user"), diff --git a/applications/crossbar/src/modules_v2/cb_users_v2.erl b/applications/crossbar/src/modules_v2/cb_users_v2.erl index e1f666f9831..afc734ac7c0 100644 --- a/applications/crossbar/src/modules_v2/cb_users_v2.erl +++ b/applications/crossbar/src/modules_v2/cb_users_v2.erl @@ -478,8 +478,14 @@ validate_request(UserId, Context) -> AccountId = cb_context:account_id(Context), case kzd_users:validate(AccountId, UserId, ReqJObj) of + {'true', UserJObj} when is_binary(UserId) -> + lager:debug("successfull validated user object update"), + %% NOTE: We need to load the current (unmodified) user document + %% into the cb_context KVS db_doc because billing uses that to + %% determine what changed and charge accordingly + cb_context:update_successfully_validated_request(load_user(UserId, Context), UserJObj); {'true', UserJObj} -> - lager:debug("successfull validated user object"), + lager:debug("successfull validated user object create"), cb_context:update_successfully_validated_request(Context, UserJObj); {'validation_errors', ValidationErrors} -> lager:info("validation errors on user"),