1.0.7 • Published 9 months ago

contensis-sync-api v1.0.7

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

Usage

You will need Contensis 9 to use this plugin, to get started, install contensis-sync-api as a development dependency:

npm install --save-dev contensis-sync-api

Now create an instance of the API

var contensisSyncAPI = require('contensis-sync-api');

var ContensisSyncApiInstance =  contensisSyncAPI.create({
	"user": "user",
	"password": "pass",
	"cmsUrl": "http://contensis-cms-url",
	"project": "Project Name"
    });

API

contensisSyncApi.create(Config)

Creates an instance of the Sync API to interact with

The Config object is used to create a REST connection to Contensis, you should ideally add your contensis credentials to a json file:

{
	"user": "user",
	"password": "pass",
	"cmsUrl": "http://full-cms-url",
	"project": "Project Name"
}

You can then read it in with:

var fs = require('fs')
//Remember to add your contensis-credentials.json to your .gitignore, so no one else can use your details!
var credentials = JSON.parse(fs.readFileSync('../contensis-credentials.json', 'utf8'))
//Now you can create the object using the credentials
var ContensisSyncApiInstance = contensisSyncAPI.create(credentials);

contensisSyncApi.getObject(options, callback)

Get an object from contensis along with its ETag.

  • options:
    • path: path of the object you wish to retrieve info for
ContensisSyncApiInstance.getObject({ path: 'foo/bar.txt' }, function(err, rsp){
    // The return object is very lightweight, because we are just interested in syncing files we really only care 
    // about the MD5 hash of the file.
    var ETag = rsp.ETag;
    var success = rsp.Success
    //Do something
});

contensisSyncApi.listObjects(options, callback)

List all files on a particular path that exist.

  • options:
    • prefix: path of the files inside the specified project you wish to retrieve such as foo. You can add a slash to the end or start, if not added it will handle this for you.
function listObjects(cb){
    listItems = ContensisSyncApiInstance.listObjects({ Prefix: 'foo' }, function(err, paths){
        if(err){ return cb(err); }

        for (let path of paths) {
            console.log(path)
        }
        return cb();
    });
}

contensisSyncApi.deleteObjects(options, callback)

List all files on a particular path that exist.

  • options:
    • prefix: path of the files inside the specified project you wish to retrieve such as foo. You can add a slash to the end or start, if not added it will handle this for you.
function deleteObjects(cb){
    deleteItems = ContensisSyncApiInstance.deleteObjects(['foo/1.txt', 'foo/2.txt'], function(err, rsp){
        if(err){ return cb(err); }
        
        return cb(null, rsp.Success)
        });
    });
}

contensisSyncApi.putObject(file, callback)

This method allows you to upload a file to Contensis, It will overwrite existing files. Most file types are supported other than complex non file like content such as Forms, Templates and Databases.

License

MIT License

1.0.7

9 months ago

1.0.6

2 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago