function createSegment()

in source/stream-processor/index.js [71:122]


function createSegment(projectID, preferenceCenterID, segment) {
  return new Promise((resolve, reject) => {  
    
    var templateSegment = {
      "Name": `PC_${preferenceCenterID}_${segment.publicationID}_${segment.channelID}`,
      "SegmentGroups": {
        "Groups": [
          {
            "Dimensions": [
              {
                "Demographic": {
                  "Channel": {
                    "DimensionType": "INCLUSIVE",
                    "Values": [
                      segment.channelID
                    ]
                  }
                }
              },
              {
                "UserAttributes": {}
              }
            ]
          }
        ],
        "Include": "ALL"
      }
    };

    templateSegment.SegmentGroups.Groups[0].Dimensions[1].UserAttributes[segment.publicationID] = {
      "AttributeType": "INCLUSIVE",
      "Values": [
        segment.channelID
      ]
    };
    
    var params = {
      ApplicationId: projectID,
      WriteSegmentRequest: templateSegment
    };

    pinpoint.createSegment(params, function(err, data) {
      if (err) {
        console.log("createSegmentFailure", err);
        reject(err);
      } else {
        console.log("createSegmentSuccess", data);
        resolve(data);
      }     
    });
  });
}