module.exports.getProduct = function()

in Solution/Lab4/server/product-manager/product-manager-dal.js [15:54]


module.exports.getProduct = function(event, callback) {
    logManager.log(event, "ProductManager", { "Message": "DAL GetProduct() called.", "ProductId" : event.pathParameters.resourceId});

    const start = new Date().getTime();
    const tenantId = tokenManager.getTenantId(event);
    partitionManager.getPartition(event, partitionManager.PRODUCT_MANAGER, event.pathParameters.resourceId, function(tableName) {
        let params;
        if (tableName.indexOf('Pooled') >=0){
            params = {
                "TableName": tableName,
                "Key": {
                    TenantId: tenantId,
                    ProductId: event.pathParameters.resourceId
                }
            };
        } else {
            params = {
                "TableName": tableName,
                "Key": {
                    ProductId: event.pathParameters.resourceId
                }
            }
        }


        dynamodb.getItem(params, (err, data) => {
            let response;
            if (err){
                console.log(err);
                response = createResponse(500, err);
            }
            else
                response = createResponse(200, data.Item ? data.Item.doc : null);

            const end = new Date().getTime();
            metricsManager.recordMetricEvent(event, "ProductManager", "GetProduct", event, end - start);
            callback(response);
        });
    });
};