public async Task <AdminModel> UpdateAdminAsync([FromBody] AdminUpdateModel model)
        {
            #region Filter

            var permissionLevel = await _requestContext.GetPermissionLevelAsync(PermissionType.AdminUsers);

            if (permissionLevel.HasValue && permissionLevel.Value == PermissionLevel.PartnerEdit)
            {
                // filter data for current _requestContext.UserId
                if (model.Id != Guid.Parse(_requestContext.UserId))
                {
                    throw LykkeApiErrorException.Forbidden(new LykkeApiErrorCode(nameof(HttpStatusCode.Forbidden)));
                }
            }

            #endregion

            var(error, admin) = await _adminsService.UpdateAdminAsync(
                model.Id.ToString(),
                model.PhoneNumber,
                model.FirstName,
                model.LastName,
                model.Company,
                model.Department,
                model.JobTitle,
                model.IsActive);

            if (error == AdminServiceResponseError.None)
            {
                model.FirstName   = model.FirstName.SanitizeName();
                model.LastName    = model.LastName.SanitizeName();
                model.PhoneNumber = model.PhoneNumber.SanitizePhone();
                await _auditLogPublisher.PublishAuditLogAsync(_requestContext.UserId, model.ToJson(), ActionType.AdminUpdate);

                return(_mapper.Map <AdminModel>(admin));
            }

            switch (error)
            {
            case AdminServiceResponseError.AdminUserDoesNotExist:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.AdminNotFound);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        public async Task <AdminModel> UpdateAdminAsync([FromBody] AdminUpdateModel model)
        {
            var(error, admin) = await _adminsService.UpdateAdminAsync(
                model.Id.ToString(),
                model.PhoneNumber,
                model.FirstName,
                model.LastName,
                model.Company,
                model.Department,
                model.JobTitle,
                model.IsActive);

            switch (error)
            {
            case AdminServiceResponseError.None:
                return(_mapper.Map <AdminModel>(admin));

            case AdminServiceResponseError.AdminUserDoesNotExist:
                throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.AdminNotFound);

            default:
                throw new ArgumentOutOfRangeException();
            }
        }