fix parse response

parent 04a220e8
...@@ -324,7 +324,7 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -324,7 +324,7 @@ return /******/ (function(modules) { // webpackBootstrap
value: function getAccountMembership(accountId, callback) { value: function getAccountMembership(accountId, callback) {
var request_data = this.buildRequestData('GetAccountMembership', callback); var request_data = this.buildRequestData('GetAccountMembership', callback);
request_data.resource = 'dl'; request_data.resource = 'dl';
request_data.parse_response = ResponseParser.allResponse; request_data.parse_response = ResponseParser.getAccountMembershipResponse;
request_data.params.params = { request_data.params.params = {
account: { account: {
by: "id", by: "id",
...@@ -31013,6 +31013,17 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -31013,6 +31013,17 @@ return /******/ (function(modules) { // webpackBootstrap
} }
(0, _createClass3.default)(Zimbra, [{ (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', key: 'buildAttrsMap',
value: function buildAttrsMap(obj_ary) { value: function buildAttrsMap(obj_ary) {
if (!obj_ary) return {}; if (!obj_ary) return {};
...@@ -31531,8 +31542,6 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -31531,8 +31542,6 @@ return /******/ (function(modules) { // webpackBootstrap
}, { }, {
key: 'allResponse', key: 'allResponse',
value: function allResponse(data, request_data, callback) { 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 resource = request_data.resource.toLowerCase();
var response_name = ResponseParser.dictionary().resourceResponseName(resource); var response_name = ResponseParser.dictionary().resourceResponseName(resource);
var response_object = data.get()[request_data.response_name][response_name]; var response_object = data.get()[request_data.response_name][response_name];
...@@ -31567,6 +31576,17 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -31567,6 +31576,17 @@ return /******/ (function(modules) { // webpackBootstrap
}; };
return callback(null, result); 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', key: 'countAccountResponse',
value: function countAccountResponse(data, request_data, callback) { value: function countAccountResponse(data, request_data, callback) {
......
...@@ -239,7 +239,7 @@ class ZimbraAdminApi { ...@@ -239,7 +239,7 @@ class ZimbraAdminApi {
getAccountMembership(accountId, callback) { getAccountMembership(accountId, callback) {
const request_data = this.buildRequestData('GetAccountMembership', callback); const request_data = this.buildRequestData('GetAccountMembership', callback);
request_data.resource = 'dl'; request_data.resource = 'dl';
request_data.parse_response = ResponseParser.allResponse; request_data.parse_response = ResponseParser.getAccountMembershipResponse;
request_data.params.params = { request_data.params.params = {
account: { account: {
by: "id", by: "id",
......
...@@ -13,8 +13,6 @@ class ResponseParser { ...@@ -13,8 +13,6 @@ class ResponseParser {
} }
static allResponse(data, request_data, callback){ 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 resource = request_data.resource.toLowerCase();
const response_name = ResponseParser.dictionary().resourceResponseName(resource); const response_name = ResponseParser.dictionary().resourceResponseName(resource);
const response_object = data.get()[request_data.response_name][response_name]; const response_object = data.get()[request_data.response_name][response_name];
...@@ -48,6 +46,14 @@ class ResponseParser { ...@@ -48,6 +46,14 @@ class ResponseParser {
return callback(null, result); 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) { static countAccountResponse(data, request_data, callback) {
const coses = data.get().CountAccountResponse.cos; const coses = data.get().CountAccountResponse.cos;
const result = ResponseParser.dictionary().cosesToCountAccountObject(coses); const result = ResponseParser.dictionary().cosesToCountAccountObject(coses);
......
...@@ -8,7 +8,17 @@ class Zimbra { ...@@ -8,7 +8,17 @@ class Zimbra {
this.name = resource_obj.name; this.name = resource_obj.name;
this.id = resource_obj.id; this.id = resource_obj.id;
this.attrs = this.buildAttrsMap(resource_obj.a); 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) { 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