@financial-times/n-methode

Utility to publish to Methode's REST API

Stats

StarsIssuesVersionUpdatedCreatedSize
@financial-times/n-methode
4.0.33 years ago4 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/Video_MKTS-120417-Geopolitical-anxiety-puts-pressure-on-markets-Michael-Mackenzie-120417-LST_9353ce68-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.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.