Skip to content
Bryan McBride edited this page Jul 1, 2019 · 2 revisions

Add members to a project

const fulcrum = require('fulcrum-app');
const Client = fulcrum.Client;

const client = new Client('your-api-token');

const projectId = 'your-project-id';
const memberIds = ['your-first-member-id', 'your-second-member-id'];

client.memberships.change('project', projectId, 'add', memberIds)
  .then((member) => {
    console.log('success', member);
  })
  .catch((error) => {
    console.log(error.message);
  });

Update existing records to their previous version

const { Client } = require('fulcrum-app');
const client = new Client('{token}');

const records = [
  {"record_id":"24ca3dc7-9050-4319-9091-469c08d1189f"},
  {"record_id":"13837812-229e-4b6e-9f5e-10345e144081"}
];

records.forEach(record => {
  getPreviousVersion(record.record_id);
});

function getPreviousVersion(id) {
  client.records.history(id)
  .then((page) => {
    const versions = page.objects.length;
    let previousVersion = page.objects[versions-2];

    delete previousVersion.version;
    delete previousVersion.history_change_type;
    delete previousVersion.history_id;
    delete previousVersion.history_changed_by_id;
    delete previousVersion.history_changed_by;
    delete previousVersion.history_created_at;

    updateRecord(id, previousVersion);
  })
  .catch((error) => {
    console.log(error.message);
  });
}

function updateRecord(id, previousVersion) {
  client.records.update(id, previousVersion)
  .then((record) => {
    console.log(record.id + ' has been updated!');
  })
  .catch((error) => {
    console.log(error.message);
  });
}

Create new records from last version before delete

const { Client } = require('fulcrum-app');
const client = new Client('{token}');

const records = [
  {"record_id":"24ca3dc7-9050-4319-9091-469c08d1189f"},
  {"record_id":"13837812-229e-4b6e-9f5e-10345e144081"}
];

records.forEach(record => {
  getPreviousVersion(record.record_id);
});

function getPreviousVersion(id) {
  client.records.history(id)
  .then((page) => {
    const versions = page.objects.length;
    let previousVersion = page.objects[versions-2];

    delete previousVersion.id;
    delete previousVersion.version;
    delete previousVersion.history_change_type;
    delete previousVersion.history_id;
    delete previousVersion.history_changed_by_id;
    delete previousVersion.history_changed_by;
    delete previousVersion.history_created_at;

    createRecord(previousVersion);
  })
  .catch((error) => {
    console.log(error.message);
  });
}

function createRecord(previousVersion) {
  client.records.create(previousVersion)
  .then((record) => {
    console.log(record.id + ' has been created!');
  })
  .catch((error) => {
    console.log(error.message);
  });
}