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
d85d3949
Commit
d85d3949
authored
Apr 15, 2016
by
Patricio Bruna
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor getInfo()
parent
2eff513e
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
112 additions
and
39 deletions
+112
-39
zimbra-admin-api.js
lib/zimbra-admin-api.js
+55
-19
zimbra-admin-api.js.map
lib/zimbra-admin-api.js.map
+1
-1
index.js
src/index.js
+56
-19
No files found.
lib/zimbra-admin-api.js
View file @
d85d3949
...
...
@@ -182,12 +182,9 @@ return /******/ (function(modules) { // webpackBootstrap
if (err) {
return that.handleError(err);
}
var obj = new Object(self);
obj.response_name = request_data.request_name + 'Response';
obj.param_object_name = request_data.resource.toLocaleLowerCase();
that.client.send(request_object, function (err, data) {
if (err) return request_data.callback(that.handleError(err));
request_data.parse_response(data,
obj
, request_data.callback);
request_data.parse_response(data,
request_data
, request_data.callback);
});
});
}
...
...
@@ -212,17 +209,20 @@ return /******/ (function(modules) { // webpackBootstrap
}, {
key: 'parseResponse',
value: function parseResponse(data, obj, callback) {
var resource = obj.
param_object_nam
e.toLowerCase();
var resource = obj.
resourc
e.toLowerCase();
var that = this;
var response_name = that.dictionary.resourceResponseName(resource);
var response_object = data.get()[obj.response_name][response_name][0];
var result = that.dictionary.classFactory(resource, response_object);
return callback(null, result);
}
}, {
key: 'parseRawResponse',
value: function parseRawResponse(data, obj, callback) {}
}, {
key: 'parseAllResponse',
value: function parseAllResponse(data, obj, callback) {
var resource = obj.
param_object_nam
e.toLowerCase();
var resource = obj.
resourc
e.toLowerCase();
var that = this;
var response_name = that.dictionary.resourceResponseName(resource);
var response_object = data.get()[obj.response_name][response_name];
...
...
@@ -239,6 +239,7 @@ return /******/ (function(modules) { // webpackBootstrap
var request_data = {};
request_data.params = this.requestParams();
request_data.request_name = 'Create' + resource;
request_data.response_name = 'Create' + resource + 'Response';
request_data.params.name = request_data.request_name + 'Request';
request_data.resource = resource;
request_data.callback = callback;
...
...
@@ -252,6 +253,7 @@ return /******/ (function(modules) { // webpackBootstrap
var request_data = {};
request_data.params = this.requestParams();
request_data.request_name = 'Get' + resource;
request_data.response_name = 'Get' + resource + 'Response';
request_data.params.name = request_data.request_name + 'Request';
request_data.resource = resource;
request_data.callback = callback;
...
...
@@ -269,6 +271,7 @@ return /******/ (function(modules) { // webpackBootstrap
var request_data = {};
request_data.params = this.requestParams();
request_data.request_name = 'GetAll' + resource + 's';
request_data.response_name = 'GetAll' + resource + 'sResponse';
request_data.params.name = request_data.request_name + 'Request';
request_data.resource = resource;
request_data.callback = callback;
...
...
@@ -335,21 +338,54 @@ return /******/ (function(modules) { // webpackBootstrap
}, {
key: 'getInfo',
value: function getInfo(callback) {
var req_params = { name: 'GetInfoRequest', namespace: 'zimbraAccount' };
var request_data = {};
request_data.params = { namespace: 'zimbraAccount' };
request_data.request_name = "GetInfo";
request_data.params.name = request_data.request_name + 'Request';
request_data.callback = callback;
var that = this;
this.client.getRequest({}, function (err, req) {
if (err) return callback(this.handleError(err));
req.addRequest(req_params, function (err) {
if (err) return callback(that.handleError(err));
that.client.send(req, function (err, data) {
if (err) return callback(that.handleError(err));
var result = data.response[0].GetInfoResponse;
return callback(null, result);
});
});
});
request_data.parse_response = function (data, _, callback) {
return callback(null, data.response[0].GetInfoResponse);
};
this.performRequest(request_data);
}
// const req_params =
// const that = this;
// this.client.getRequest({}, function(err, req) {
// if (err) return callback(this.handleError(err));
//
// req.addRequest(req_params, function(err){
// if (err) return callback(that.handleError(err));
// that.client.send(req, function(err, data){
// if (err) return callback(that.handleError(err));
// const result = data.response[0].GetInfoResponse
// return callback(null, result);
// });
// });
// });
// }
// TODO: Fix this fucking code
// Search the Directory
// search_object = {
// query: An LDAP query or null for everything,
// maxResults: Maximum results that the backend will attempt to fetch from the directory before returning an account.TOO_MANY_SEARCH_RESULTS error.,
// limit: the maximum number of accounts to return ,
// offset: The starting offset (0, 25, etc),
// domain: The domain name to limit the search to,
// sortBy: Name of attribute to sort on. Default is the account name.,
// types: Comma-separated list of types to return. Legal values are:
// accounts|distributionlists|aliases|resources|domains|coses
// (default is accounts)
// sortAscending: Whether to sort in ascending order. Default is 1 (true)
// countOnly: Whether response should be count only. Default is 0 (false),
// attrs: Comma separated list of attributes
// }
}, {
key: 'directorySearch',
value: function directorySearch(search_object, callback) {}
}, {
key: 'token',
set: function set(token) {
lib/zimbra-admin-api.js.map
View file @
d85d3949
This diff is collapsed.
Click to expand it.
src/index.js
View file @
d85d3949
...
...
@@ -95,12 +95,9 @@ export default class ZimbraAdminApi {
if
(
err
)
{
return
that
.
handleError
(
err
);
}
let
obj
=
new
Object
(
self
);
obj
.
response_name
=
`
${
request_data
.
request_name
}
Response`
;
obj
.
param_object_name
=
request_data
.
resource
.
toLocaleLowerCase
();
that
.
client
.
send
(
request_object
,
function
(
err
,
data
){
if
(
err
)
return
request_data
.
callback
(
that
.
handleError
(
err
));
request_data
.
parse_response
(
data
,
obj
,
request_data
.
callback
);
request_data
.
parse_response
(
data
,
request_data
,
request_data
.
callback
);
});
});
}
...
...
@@ -119,7 +116,7 @@ export default class ZimbraAdminApi {
}
parseResponse
(
data
,
obj
,
callback
)
{
const
resource
=
obj
.
param_object_nam
e
.
toLowerCase
();
const
resource
=
obj
.
resourc
e
.
toLowerCase
();
const
that
=
this
;
const
response_name
=
that
.
dictionary
.
resourceResponseName
(
resource
);
const
response_object
=
data
.
get
()[
obj
.
response_name
][
response_name
][
0
];
...
...
@@ -127,9 +124,13 @@ export default class ZimbraAdminApi {
return
callback
(
null
,
result
);
}
parseRawResponse
(
data
,
obj
,
callback
)
{
}
parseAllResponse
(
data
,
obj
,
callback
){
const
resource
=
obj
.
param_object_nam
e
.
toLowerCase
();
const
resource
=
obj
.
resourc
e
.
toLowerCase
();
const
that
=
this
;
const
response_name
=
that
.
dictionary
.
resourceResponseName
(
resource
);
const
response_object
=
data
.
get
()[
obj
.
response_name
][
response_name
];
...
...
@@ -145,6 +146,7 @@ export default class ZimbraAdminApi {
let
request_data
=
{
};
request_data
.
params
=
this
.
requestParams
();
request_data
.
request_name
=
`Create
${
resource
}
`
;
request_data
.
response_name
=
`Create
${
resource
}
Response`
;
request_data
.
params
.
name
=
`
${
request_data
.
request_name
}
Request`
;
request_data
.
resource
=
resource
;
request_data
.
callback
=
callback
;
...
...
@@ -157,6 +159,7 @@ export default class ZimbraAdminApi {
let
request_data
=
{
};
request_data
.
params
=
this
.
requestParams
();
request_data
.
request_name
=
`Get
${
resource
}
`
;
request_data
.
response_name
=
`Get
${
resource
}
Response`
;
request_data
.
params
.
name
=
`
${
request_data
.
request_name
}
Request`
;
request_data
.
resource
=
resource
;
request_data
.
callback
=
callback
;
...
...
@@ -173,6 +176,7 @@ export default class ZimbraAdminApi {
let
request_data
=
{
};
request_data
.
params
=
this
.
requestParams
();
request_data
.
request_name
=
`GetAll
${
resource
}
s`
;
request_data
.
response_name
=
`GetAll
${
resource
}
sResponse`
;
request_data
.
params
.
name
=
`
${
request_data
.
request_name
}
Request`
;
request_data
.
resource
=
resource
;
request_data
.
callback
=
callback
;
...
...
@@ -226,20 +230,53 @@ export default class ZimbraAdminApi {
// Get current logged account information
getInfo
(
callback
)
{
const
req_params
=
{
name
:
'GetInfoRequest'
,
namespace
:
'zimbraAccount'
};
const
request_data
=
{
};
request_data
.
params
=
{
namespace
:
'zimbraAccount'
};
request_data
.
request_name
=
"GetInfo"
;
request_data
.
params
.
name
=
`
${
request_data
.
request_name
}
Request`
;
request_data
.
callback
=
callback
;
const
that
=
this
;
this
.
client
.
getRequest
({},
function
(
err
,
req
)
{
if
(
err
)
return
callback
(
this
.
handleError
(
err
));
req
.
addRequest
(
req_params
,
function
(
err
){
if
(
err
)
return
callback
(
that
.
handleError
(
err
));
that
.
client
.
send
(
req
,
function
(
err
,
data
){
if
(
err
)
return
callback
(
that
.
handleError
(
err
));
const
result
=
data
.
response
[
0
].
GetInfoResponse
return
callback
(
null
,
result
);
});
});
});
request_data
.
parse_response
=
function
(
data
,
_
,
callback
){
return
callback
(
null
,
data
.
response
[
0
].
GetInfoResponse
);
};
this
.
performRequest
(
request_data
);
}
// const req_params =
// const that = this;
// this.client.getRequest({}, function(err, req) {
// if (err) return callback(this.handleError(err));
//
// req.addRequest(req_params, function(err){
// if (err) return callback(that.handleError(err));
// that.client.send(req, function(err, data){
// if (err) return callback(that.handleError(err));
// const result = data.response[0].GetInfoResponse
// return callback(null, result);
// });
// });
// });
// }
// TODO: Fix this fucking code
// Search the Directory
// search_object = {
// query: An LDAP query or null for everything,
// maxResults: Maximum results that the backend will attempt to fetch from the directory before returning an account.TOO_MANY_SEARCH_RESULTS error.,
// limit: the maximum number of accounts to return ,
// offset: The starting offset (0, 25, etc),
// domain: The domain name to limit the search to,
// sortBy: Name of attribute to sort on. Default is the account name.,
// types: Comma-separated list of types to return. Legal values are:
// accounts|distributionlists|aliases|resources|domains|coses
// (default is accounts)
// sortAscending: Whether to sort in ascending order. Default is 1 (true)
// countOnly: Whether response should be count only. Default is 0 (false),
// attrs: Comma separated list of attributes
// }
directorySearch
(
search_object
,
callback
)
{
}
}
...
...
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