updateAgentById()

in source/aws-connect-vm-serverless/src/repo/users-repo.js [101:130]


    updateAgentById(agentId, {extension, deliverSMSPhoneNumber, deliverSMS, deliverEmail, encryptVoicemail, transcribeVoicemail}) {
        let expressionAttrValues = {
            ":tv": transcribeVoicemail || false,
            ":ev": encryptVoicemail || false,
            ":de": deliverEmail,
            ":do": {
                email: deliverEmail,
                sms: {
                    enabled: deliverSMS,
                    phoneNumber: deliverSMSPhoneNumber === "" ? "null" : deliverSMSPhoneNumber
                }

            }
        };

        if (extension !== null && extension !== "") {
            expressionAttrValues[":ext"] = extension;
        }
        let updateExpression = "SET transcribeVoicemail=:tv, encryptVoicemail = :ev, deliveryEmail = :de, deliveryOptions = :do";
        (extension === null || extension === "") ? updateExpression += ` REMOVE extension` : updateExpression += `, extension = :ext`;

        let params = {
            Key: {
                agentId: agentId
            },
            ExpressionAttributeValues: expressionAttrValues,
            UpdateExpression: updateExpression
        };
        return this.dynamo.update(params);
    }