Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zimbra-admin-api-js
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Public
zimbra-admin-api-js
Commits
16ad6aa7
Commit
16ad6aa7
authored
May 19, 2016
by
Patricio Bruna
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
BatchRequest now return errors. Fix #8
parent
4341d3cd
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
48 additions
and
3 deletions
+48
-3
zimbra-admin-api.js
lib/zimbra-admin-api.js
+16
-1
zimbra-admin-api.js.map
lib/zimbra-admin-api.js.map
+1
-1
package.json
package.json
+1
-1
response_parser.js
src/utils/response_parser.js
+7
-0
error.js
src/zimbra/error.js
+6
-0
test.js
test/js/spec/test.js
+17
-0
No files found.
lib/zimbra-admin-api.js
View file @
16ad6aa7
...
@@ -14320,6 +14320,15 @@ return /******/ (function(modules) { // webpackBootstrap
...
@@ -14320,6 +14320,15 @@ return /******/ (function(modules) { // webpackBootstrap
key: 'batchResponse',
key: 'batchResponse',
value: function batchResponse(data, callback) {
value: function batchResponse(data, callback) {
var response_object = data.options.response.BatchResponse;
var response_object = data.options.response.BatchResponse;
if (response_object.Fault && response_object.Fault.length >= 1) {
(function () {
var errors = [];
response_object.Fault.forEach(function (e) {
errors.push(new _error2.default(e));
});
response_object.errors = errors;
})();
}
return callback(null, response_object);
return callback(null, response_object);
}
}
}, {
}, {
...
@@ -14454,6 +14463,12 @@ return /******/ (function(modules) { // webpackBootstrap
...
@@ -14454,6 +14463,12 @@ return /******/ (function(modules) { // webpackBootstrap
'reason': err.Fault.Reason.Text,
'reason': err.Fault.Reason.Text,
'trace': err.Fault.Detail.Error.Trace
'trace': err.Fault.Detail.Error.Trace
};
};
} else if (err && err.Detail) {
return {
'code': err.Detail.Error.Code,
'reason': err.Reason.Text,
'trace': err.Detail.Error.Trace
};
} else {
} else {
return { 'code': err.status, 'reason': err.statusText };
return { 'code': err.status, 'reason': err.statusText };
}
}
...
@@ -43027,7 +43042,7 @@ return /******/ (function(modules) { // webpackBootstrap
...
@@ -43027,7 +43042,7 @@ return /******/ (function(modules) { // webpackBootstrap
module.exports = {
module.exports = {
"name": "zimbra-admin-api-js",
"name": "zimbra-admin-api-js",
"version": "0.1",
"version": "0.1
.1
",
"private": true,
"private": true,
"main": "lib/zimbra-admin-api.js",
"main": "lib/zimbra-admin-api.js",
"dependencies": {
"dependencies": {
lib/zimbra-admin-api.js.map
View file @
16ad6aa7
This diff is collapsed.
Click to expand it.
package.json
View file @
16ad6aa7
{
{
"name"
:
"zimbra-admin-api-js"
,
"name"
:
"zimbra-admin-api-js"
,
"version"
:
"0.1"
,
"version"
:
"0.1
.1
"
,
"private"
:
true
,
"private"
:
true
,
"main"
:
"lib/zimbra-admin-api.js"
,
"main"
:
"lib/zimbra-admin-api.js"
,
"dependencies"
:
{
"dependencies"
:
{
...
...
src/utils/response_parser.js
View file @
16ad6aa7
...
@@ -24,6 +24,13 @@ export default class ResponseParser {
...
@@ -24,6 +24,13 @@ export default class ResponseParser {
static
batchResponse
(
data
,
callback
)
{
static
batchResponse
(
data
,
callback
)
{
const
response_object
=
data
.
options
.
response
.
BatchResponse
;
const
response_object
=
data
.
options
.
response
.
BatchResponse
;
if
(
response_object
.
Fault
&&
response_object
.
Fault
.
length
>=
1
)
{
const
errors
=
[];
response_object
.
Fault
.
forEach
((
e
)
=>
{
errors
.
push
(
new
Error
(
e
));
});
response_object
.
errors
=
errors
;
}
return
callback
(
null
,
response_object
);
return
callback
(
null
,
response_object
);
}
}
...
...
src/zimbra/error.js
View file @
16ad6aa7
...
@@ -14,6 +14,12 @@ export default class Error {
...
@@ -14,6 +14,12 @@ export default class Error {
'reason'
:
err
.
Fault
.
Reason
.
Text
,
'reason'
:
err
.
Fault
.
Reason
.
Text
,
'trace'
:
err
.
Fault
.
Detail
.
Error
.
Trace
'trace'
:
err
.
Fault
.
Detail
.
Error
.
Trace
};
};
}
else
if
(
err
&&
err
.
Detail
)
{
return
{
'code'
:
err
.
Detail
.
Error
.
Code
,
'reason'
:
err
.
Reason
.
Text
,
'trace'
:
err
.
Detail
.
Error
.
Trace
}
}
else
{
}
else
{
return
{
'code'
:
err
.
status
,
'reason'
:
err
.
statusText
};
return
{
'code'
:
err
.
status
,
'reason'
:
err
.
statusText
};
}
}
...
...
test/js/spec/test.js
View file @
16ad6aa7
...
@@ -164,6 +164,23 @@
...
@@ -164,6 +164,23 @@
api
.
login
(
getCallback
);
api
.
login
(
getCallback
);
});
});
it
(
'Should return errors for BatchRequest'
,
function
(
done
){
let
api
=
new
ZimbraAdminApi
(
auth_data
);
api
.
client
.
options
.
timeout
=
5000
;
const
getAllAccounts
=
api
.
directorySearch
({
types
:
'account'
});
const
deleteAccount
=
api
.
removeAccount
(
'pollotron@example.com'
);
const
getAllDomains
=
api
.
directorySearch
({
types
:
'domains'
});
api
.
login
(
function
(
err
,
data
){
api
.
makeBatchRequest
([
deleteAccount
,
getAllDomains
,
getAllAccounts
],
function
(
err
,
data
){
expect
(
data
.
errors
.
length
).
to
.
be
.
above
(
1
);
expect
(
data
.
errors
[
0
].
constructor
.
name
).
to
.
equal
(
'Error'
);
expect
(
data
.
errors
[
0
].
extra
.
code
).
to
.
exist
;
expect
(
data
.
errors
[
1
].
extra
.
reason
).
to
.
exist
;
done
();
},
{
onError
:
'continue'
});
});
});
});
});
describe
(
'Account tests'
,
function
()
{
describe
(
'Account tests'
,
function
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment