@financial-times/n-methode

Utility to publish to Methode's REST API

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@financial-times/n-methode
4.0.34 years ago5 years agoMinified + gzip package size for @financial-times/n-methode in KB

Readme

Next Methode API Client CircleCI Coverage Status
Utility to publish to Methode's REST API

Installation

npm install @financial-times/n-methode

Usage

import methode from '@financial-times/n-methode';

methode.create('<body>xml containing story data</body>', 'target-filename.xml')
    .then((msg) => {
        console.log(msg); // 'file successfully uploaded as target-filename.xml'
    })
    .catch((err) => {
        // something went wrong :-(
    });

If using CommonJS modules
const methode = require('@financial-times/n-methode');

API

create(data, filename)

  • data the contents of the file you want to upload, typically this is an XML file based on a template within Méthode. The module will create a new Buffer() to the contents.
  • filename the target filename on Methode – this will be timestamped by the module
  • note that if the destination file already exists, the module is set to tell Methode to rename the upload and report OK.

delete(objectId)

  • objectId the methode object Id to be deleted

metadata.get(objectId, objectPath, getDefaultMetadata)

  • objectId the methode object Id, e.g. '116$116.0.3514221999'
  • objectPath the methode object path, e.g. '/FT/Content/Links/Videos/VideoMKTS-120417-Geopolitical-anxiety-puts-pressure-on-markets-Michael-Mackenzie-120417-LST9353ce68-ea4f-4b08-a5e4-d84ae41f2e7e.xml'
  • getDefaultMetadata boolean to include the default metadata (useful on new objects)

metadata.post(objectId, objectPath, xml)

  • xml the entire copy of the new Metadata XML document. Example

metadata.update(objectId, objectPath, updateObj)

Make changes to an object's metadata by providing a JSON style object. Saves having to work with XML parsing, but the JSON object should mirror the structure of the Metadata XML in order not to corrupt it. See example in the tests.
  • updateObj a JSON object representing the properties of the Metadata XML you wish to update.