fix parse response

parent 04a220e8
......@@ -324,7 +324,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: function getAccountMembership(accountId, callback) {
var request_data = this.buildRequestData('GetAccountMembership', callback);
request_data.resource = 'dl';
request_data.parse_response = ResponseParser.allResponse;
request_data.parse_response = ResponseParser.getAccountMembershipResponse;
request_data.params.params = {
account: {
by: "id",
......@@ -31013,6 +31013,17 @@ return /******/ (function(modules) { // webpackBootstrap
}
(0, _createClass3.default)(Zimbra, [{
key: '_addAttributesIfExists',
value: function _addAttributesIfExists(resource_obj) {
if (resource_obj.hasOwnProperty('dynamic')) {
this.dynamic = resource_obj.dynamic;
}
if (resource_obj.hasOwnProperty('via')) {
this.via = resource_obj.via;
}
}
}, {
key: 'buildAttrsMap',
value: function buildAttrsMap(obj_ary) {
if (!obj_ary) return {};
......@@ -31531,8 +31542,6 @@ return /******/ (function(modules) { // webpackBootstrap
}, {
key: 'allResponse',
value: function allResponse(data, request_data, callback) {
console.log("data, request_data, callback");
console.log("data, request_data, callback", data, request_data, callback);
var resource = request_data.resource.toLowerCase();
var response_name = ResponseParser.dictionary().resourceResponseName(resource);
var response_object = data.get()[request_data.response_name][response_name];
......@@ -31567,6 +31576,17 @@ return /******/ (function(modules) { // webpackBootstrap
};
return callback(null, result);
}
}, {
key: 'getAccountMembershipResponse',
value: function getAccountMembershipResponse(data, request_data, callback) {
var resource = request_data.resource.toLowerCase();
var response = data.get()[request_data.response_name][resource];
var dl = response.map(function (r) {
return ResponseParser.dictionary().classFactory(resource, r, request_data.client);
});
var result = { total: dl.length, dl: dl };
return callback(null, result);
}
}, {
key: 'countAccountResponse',
value: function countAccountResponse(data, request_data, callback) {
......
......@@ -239,7 +239,7 @@ class ZimbraAdminApi {
getAccountMembership(accountId, callback) {
const request_data = this.buildRequestData('GetAccountMembership', callback);
request_data.resource = 'dl';
request_data.parse_response = ResponseParser.allResponse;
request_data.parse_response = ResponseParser.getAccountMembershipResponse;
request_data.params.params = {
account: {
by: "id",
......
......@@ -13,8 +13,6 @@ class ResponseParser {
}
static allResponse(data, request_data, callback){
console.log("data, request_data, callback");
console.log("data, request_data, callback", data, request_data, callback);
const resource = request_data.resource.toLowerCase();
const response_name = ResponseParser.dictionary().resourceResponseName(resource);
const response_object = data.get()[request_data.response_name][response_name];
......@@ -48,6 +46,14 @@ class ResponseParser {
return callback(null, result);
}
static getAccountMembershipResponse(data, request_data, callback) {
const resource = request_data.resource.toLowerCase();
const response = data.get()[request_data.response_name][resource];
const dl = response.map((r) => ResponseParser.dictionary().classFactory(resource, r, request_data.client));
const result = { total: dl.length, dl };
return callback(null, result);
}
static countAccountResponse(data, request_data, callback) {
const coses = data.get().CountAccountResponse.cos;
const result = ResponseParser.dictionary().cosesToCountAccountObject(coses);
......
......@@ -8,7 +8,17 @@ class Zimbra {
this.name = resource_obj.name;
this.id = resource_obj.id;
this.attrs = this.buildAttrsMap(resource_obj.a);
this.api = zimbra_api_client;
this.api = zimbra_api_client;
}
_addAttributesIfExists(resource_obj) {
if (resource_obj.hasOwnProperty('dynamic')) {
this.dynamic = resource_obj.dynamic;
}
if (resource_obj.hasOwnProperty('via')) {
this.via = resource_obj.via;
}
}
buildAttrsMap(obj_ary) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment