All files / src/generators keyspace.js

54.55% Statements 6/11
100% Branches 0/0
0% Functions 0/4
54.55% Lines 6/11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 411x   1x                         1x                     1x   1x                     1x  
const util = require('util');
 
const generateReplicationText = (replicationOptions) => {
  if (typeof replicationOptions === 'string') {
    return replicationOptions;
  }
 
  const properties = [];
  Object.keys(replicationOptions).forEach((k) => {
    properties.push(util.format("'%s': '%s'", k, replicationOptions[k]));
  });
 
  return util.format('{%s}', properties.join(','));
};
 
const generateKeyspaceCreateQuery = (keyspaceName, defaultReplicationStrategy) => {
  const replicationText = generateReplicationText(defaultReplicationStrategy);
 
  const query = util.format(
    'CREATE KEYSPACE IF NOT EXISTS "%s" WITH REPLICATION = %s;',
    keyspaceName,
    replicationText,
  );
  return query;
};
 
exports.generateKeyspaceCreateQuery = generateKeyspaceCreateQuery;
 
const generateKeyspaceAlterQuery = (keyspaceName, defaultReplicationStrategy) => {
  const replicationText = generateReplicationText(defaultReplicationStrategy);
 
  const query = util.format(
    'ALTER KEYSPACE "%s" WITH REPLICATION = %s;',
    keyspaceName,
    replicationText,
  );
  return query;
};
 
exports.generateKeyspaceAlterQuery = generateKeyspaceAlterQuery;