Skip to content
This repository was archived by the owner on Jun 11, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3,386 changes: 1,465 additions & 1,921 deletions dist/alfresco-js-api.js

Large diffs are not rendered by default.

52 changes: 26 additions & 26 deletions dist/alfresco-js-api.min.js

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "alfresco-js-api",
"version": "0.3.1",
"version": "0.3.2",
"description": "JavaScript client library for the Alfresco REST API",
"main": "main.js",
"typings": "dist/alfresco-js-api.d.ts",
Expand All @@ -14,7 +14,7 @@
"minify": "browserify -s AlfrescoApi dist/alfresco-js-api.js -d -p [minifyify --no-map] > dist/alfresco-js-api.min.js",
"watchify": "watchify -s AlfrescoApi main.js -o dist/alfresco-js-api.js",
"tslint": "tslint -c tslint.json bundle.d.ts",
"toc" : "markdown-toc -i README.md && markdown-toc -i test/mockObjects/README.md"
"toc": "markdown-toc -i README.md && markdown-toc -i test/mockObjects/README.md"
},
"repository": {
"type": "git",
Expand All @@ -24,14 +24,16 @@
"url": "https://github.com/Alfresco/alfresco-js-api/issues"
},
"dependencies": {
"superagent": "1.7.1"
"superagent": "1.7.1",
"event-emitter": "^0.3.4",
"lodash": "^4.13.1",
"nock": "^8.0.0"
},
"devDependencies": {
"babel-preset-es2015": "^6.9.0",
"babelify": "^7.3.0",
"browserify": "^13.0.1",
"chai": "^3.5.0",
"event-emitter": "^0.3.4",
"expect.js": "~0.3.1",
"grunt": "~0.4.0",
"grunt-cli": "^1.1.0",
Expand All @@ -43,12 +45,10 @@
"grunt-mocha-test": "^0.12.7",
"grunt-open": "^0.2.3",
"load-grunt-tasks": "^3.4.1",
"lodash": "^4.13.1",
"minifyify": "^7.3.3",
"markdown-toc": "^0.12.14",
"mocha": "^2.4.5",
"mocha-lcov-reporter": "^1.2.0",
"nock": "^8.0.0",
"rimraf": "^2.5.2",
"sinon": "^1.17.3",
"sinon-chai": "^2.8.0",
Expand Down
6 changes: 5 additions & 1 deletion src/alfresco-core-rest-api/src/ApiClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,10 @@
if (typeof File === 'function' && param instanceof File) {
return true;
}
// Safari fix
if (typeof File === 'object' && param instanceof File) {
return true;
}
return false;
};

Expand Down Expand Up @@ -419,7 +423,7 @@
case 'String':
return String(data);
case 'Date':
return this.parseDate(String(data));
return data ? this.parseDate(String(data)) : null;
default:
if (type === Object) {
// generic object, return directly
Expand Down
7 changes: 6 additions & 1 deletion src/alfrescoApi.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,17 @@ class AlfrescoApi {
* hostEcm: // hostEcm Your share server IP or DNS name
* hostBpm: // hostBpm Your activiti server IP or DNS name
* contextRoot: // contextRoot default value alfresco
* provider: // ECM BPM ALL
* provider: // ECM BPM ALL, default ECM
* ticketEcm: // Ticket if you already have a ECM ticket you can pass only the ticket and skip the login, in this case you don't need username and password
* ticketBpm: // Ticket if you already have a BPM ticket you can pass only the ticket and skip the login, in this case you don't need username and password
* };
*/
constructor(config) {

if (!config) {
config = {};
}

this.config = {
hostEcm: config.hostEcm || 'http://127.0.0.1:8080',
hostBpm: config.hostBpm || 'http://127.0.0.1:9999',
Expand Down
83 changes: 83 additions & 0 deletions test/mockObjects/alfresco/renditionMock.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
'use strict';

var nock = require('nock');
var BaseMock = require('../baseMock');

class RenditionMock extends BaseMock {

constructor(host) {
super(host);
}

get200RenditionResponse() {
nock(this.host, {'encodedQueryParams': true})
.get('/alfresco/api/-default-/public/alfresco/versions/1/nodes/97a29e9c-1e4f-4d9d-bb02-1ec920dda045/renditions/pdf')
.reply(200, {
'entry': {
'id': 'pdf',
'content': {'mimeType': 'application/pdf', 'mimeTypeName': 'Adobe PDF Document'},
'status': 'NOT_CREATED'
}
});
}

createRendition200() {
nock(this.host, {'encodedQueryParams': true})
.post('/alfresco/api/-default-/public/alfresco/versions/1/nodes/97a29e9c-1e4f-4d9d-bb02-1ec920dda045/renditions', {'id': 'pdf'})
.reply(202, '');
}

get200RenditionList() {
nock(this.host, {'encodedQueryParams': true})
.get('/alfresco/api/-default-/public/alfresco/versions/1/nodes/97a29e9c-1e4f-4d9d-bb02-1ec920dda045/renditions')
.reply(200, {
'list': {
'pagination': {
'count': 6,
'hasMoreItems': false,
'totalItems': 6,
'skipCount': 0,
'maxItems': 100
},
'entries': [{
'entry': {
'id': 'avatar',
'content': {'mimeType': 'image/png', 'mimeTypeName': 'PNG Image'},
'status': 'NOT_CREATED'
}
}, {
'entry': {
'id': 'avatar32',
'content': {'mimeType': 'image/png', 'mimeTypeName': 'PNG Image'},
'status': 'NOT_CREATED'
}
}, {
'entry': {
'id': 'doclib',
'content': {'mimeType': 'image/png', 'mimeTypeName': 'PNG Image'},
'status': 'NOT_CREATED'
}
}, {
'entry': {
'id': 'imgpreview',
'content': {'mimeType': 'image/jpeg', 'mimeTypeName': 'JPEG Image'},
'status': 'NOT_CREATED'
}
}, {
'entry': {
'id': 'medium',
'content': {'mimeType': 'image/jpeg', 'mimeTypeName': 'JPEG Image'},
'status': 'NOT_CREATED'
}
}, {
'entry': {
'id': 'pdf',
'content': {'mimeType': 'application/pdf', 'mimeTypeName': 'Adobe PDF Document'},
'status': 'NOT_CREATED'
}
}]
}
});
}
}
module.exports = RenditionMock;
2 changes: 2 additions & 0 deletions test/mockObjects/mockAlfrescoApi.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ mockAlfrescoApi.Node = require('./alfresco/nodeMock.js');
mockAlfrescoApi.Upload = require('./alfresco/uploadMock.js');
mockAlfrescoApi.WebScript = require('./alfresco/webScriptMock.js');
mockAlfrescoApi.Tag = require('./alfresco/tagMock.js');
mockAlfrescoApi.Rendition = require('./alfresco/renditionMock.js');

//Bpm Mock
mockAlfrescoApi.ActivitiMock = {};
Expand All @@ -15,4 +16,5 @@ mockAlfrescoApi.ActivitiMock.Tasks = require('./activiti/tasksMock.js');
mockAlfrescoApi.ActivitiMock.Models = require('./activiti/modelsMock.js');
mockAlfrescoApi.ActivitiMock.UserFilters = require('./activiti/userFiltersMock.js');


module.exports = mockAlfrescoApi;
55 changes: 55 additions & 0 deletions test/renditionApi.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/*global describe, it, beforeEach */

var AlfrescoApi = require('../main');
var AuthResponseMock = require('../test/mockObjects/mockAlfrescoApi').Auth;
var RenditionMock = require('../test/mockObjects/mockAlfrescoApi').Rendition;
var expect = require('chai').expect;

describe('Rendition', function () {

beforeEach(function (done) {
this.hostEcm = 'http://127.0.0.1:8080';

this.authResponseMock = new AuthResponseMock(this.hostEcm);
this.renditionMock = new RenditionMock();

this.authResponseMock.get201Response();
this.alfrescoJsApi = new AlfrescoApi({
hostEcm: this.hostEcm
});

this.alfrescoJsApi.login('admin', 'admin').then(() => {
done();
});
});

it('Get Rendition', function (done) {
this.renditionMock.get200RenditionResponse();

this.alfrescoJsApi.core.renditionsApi.getRendition('97a29e9c-1e4f-4d9d-bb02-1ec920dda045', 'pdf').then(function (data) {
expect(data.entry.id).to.be.equal('pdf');
done();
}, function () {
});
});

it('Create Rendition', function (done) {
this.renditionMock.createRendition200();

this.alfrescoJsApi.core.renditionsApi.createRendition('97a29e9c-1e4f-4d9d-bb02-1ec920dda045', {id: 'pdf'}).then(function () {
done();
}, function () {
});
});

it('Get Renditions list for node id', function (done) {
this.renditionMock.get200RenditionList();

this.alfrescoJsApi.core.renditionsApi.getRenditions('97a29e9c-1e4f-4d9d-bb02-1ec920dda045').then(function (data) {
expect(data.list.pagination.count).to.be.equal(6);
expect(data.list.entries[0].entry.id).to.be.equal('avatar');
done();
}, function () {
});
});
});
4 changes: 1 addition & 3 deletions test/tagApi.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,7 @@ describe('Tags', function () {
expect(data.list.entries[0].entry.tag).to.be.equal('tag-test-1');
expect(data.list.entries[1].entry.tag).to.be.equal('tag-test-2');
done();
}, function (error) {
console.error(error);
done();
}, function () {
});
});

Expand Down
Loading