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
f4dc9c83
Commit
f4dc9c83
authored
Apr 21, 2016
by
Patricio Bruna
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Account: setPassword, getMailbox, getMailboxSize
parent
a84f8c1a
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
164 additions
and
39 deletions
+164
-39
README.md
README.md
+22
-0
TODOS.md
TODOS.md
+1
-1
zimbra-admin-api.js
lib/zimbra-admin-api.js
+56
-19
zimbra-admin-api.js.map
lib/zimbra-admin-api.js.map
+1
-1
index.js
src/index.js
+33
-2
account.js
src/zimbra/account.js
+14
-3
zimbra.js
src/zimbra/zimbra.js
+0
-11
test.js
test/js/spec/test.js
+37
-2
No files found.
README.md
View file @
f4dc9c83
...
...
@@ -262,6 +262,28 @@ zimbraApi.removeAccount(zimbraId, callback);
## Accounts
### Set Password
```
javascript
account
.
setPassword
(
password
,
callback
);
// {} if OK
// Error if not OK
```
### Get Mailbox
```
javascript
account
.
getMailbox
(
callback
);
// Object { mbxid: Mailbox ID, size: Quota Used}
//
```
### Get Mailbox Size
```
javascript
account
.
getMailboxSize
(
callback
);
// Returns a Integer represeting Bytes
//
```
### Cos Name
The account only has the Id of the Cos,
`zimbraCOSId`
, but not the name. To get the name you call
`zimbraCosName`
on the Account:
...
...
TODOS.md
View file @
f4dc9c83
...
...
@@ -20,7 +20,7 @@
*
[
]
Devolver Fecha de la proxima renovación
*
[
]
Devolver Empresa (esto entiendo necesitamos otro API)
*
[
X
]
Devolver Admins del dominio
*
[
]
Devolver Listas de distribución del dominio
*
[
X
]
Devolver Listas de distribución del dominio
## parseResponse Class?
...
...
lib/zimbra-admin-api.js
View file @
f4dc9c83
...
...
@@ -620,11 +620,14 @@ return /******/ (function(modules) { // webpackBootstrap
};
this.performRequest(request_data);
}
// TODO: TO ugly
}, {
key: 'setPassword',
value: function setPassword(zimbra_id, password, callback) {
var request_data = {};
request_data.params = this.
buildRequest
();
request_data.params = this.
requestParams
();
request_data.request_name = "SetPassword";
request_data.params.name = request_data.request_name + 'Request';
request_data.params.params = {
...
...
@@ -634,7 +637,40 @@ return /******/ (function(modules) { // webpackBootstrap
request_data.callback = callback;
var that = this;
request_data.parse_response = function (data, _, callback) {
return callback(null, data.response[0].SetPasswordResponse);
var response_object = data.response[0].SetPasswordResponse;
if (response_object.message) {
var err = {
status: 500,
statusText: response_object.message[0]._content,
responseJSON: {}
};
return callback(that.handleError(err));
} else {
return callback(null, {});
}
};
this.performRequest(request_data);
}
// TODO: Ugly
}, {
key: 'getMailbox',
value: function getMailbox(zimbra_id, callback) {
var request_data = {};
request_data.params = this.requestParams();
request_data.request_name = "GetMailbox";
request_data.params.name = request_data.request_name + 'Request';
request_data.params.params = { mbox: { id: zimbra_id } };
request_data.callback = callback;
request_data.parse_response = function (data, _, callback) {
var response_object = data.get().GetMailboxResponse.mbox[0];
var result = {
mbxid: response_object.mbxid,
account_id: response_object.id,
size: response_object.s
};
return callback(null, result);
};
this.performRequest(request_data);
}
...
...
@@ -13457,7 +13493,6 @@ return /******/ (function(modules) { // webpackBootstrap
this.id = resource_obj.id;
this.attrs = this.buildAttrsMap(resource_obj.a);
this.api = zimbra_api_client;
this.raw_obj = resource_obj;
}
(0, _createClass3.default)(Zimbra, [{
...
...
@@ -13475,17 +13510,6 @@ return /******/ (function(modules) { // webpackBootstrap
});
return attrs;
}
// getZimbraACEs () {
// const result = {};
// this.attrs.zimbraACE.forEach((ace) => {
// const split = ace.split(/\s+/);
// result.granteeId = split[0];
// result.granteeType = split[1];
// result.granteeId = split[2];
// });
// }
}]);
return Zimbra;
}();
...
...
@@ -13548,11 +13572,24 @@ return /******/ (function(modules) { // webpackBootstrap
return null;
}
}
// setPassword(password, callback) {
// this.api.setPassword(this.id, password, callback);
// }
}, {
key: 'setPassword',
value: function setPassword(password, callback) {
this.api.setPassword(this.id, password, callback);
}
}, {
key: 'getMailbox',
value: function getMailbox(callback) {
this.api.getMailbox(this.id, callback);
}
}, {
key: 'getMailboxSize',
value: function getMailboxSize(callback) {
this.getMailbox(function (e, d) {
if (e) return callback(e);
return callback(null, d.size);
});
}
}]);
return Account;
}(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
lib/zimbra-admin-api.js.map
View file @
f4dc9c83
This diff is collapsed.
Click to expand it.
src/index.js
View file @
f4dc9c83
...
...
@@ -468,9 +468,10 @@ export default class ZimbraAdminApi {
this
.
performRequest
(
request_data
);
}
// TODO: TO ugly
setPassword
(
zimbra_id
,
password
,
callback
)
{
const
request_data
=
{
};
request_data
.
params
=
this
.
buildRequest
();
request_data
.
params
=
this
.
requestParams
();
request_data
.
request_name
=
"SetPassword"
;
request_data
.
params
.
name
=
`
${
request_data
.
request_name
}
Request`
;
request_data
.
params
.
params
=
{
...
...
@@ -480,7 +481,37 @@ export default class ZimbraAdminApi {
request_data
.
callback
=
callback
;
const
that
=
this
;
request_data
.
parse_response
=
function
(
data
,
_
,
callback
){
return
callback
(
null
,
data
.
response
[
0
].
SetPasswordResponse
);
const
response_object
=
data
.
response
[
0
].
SetPasswordResponse
;
if
(
response_object
.
message
)
{
const
err
=
{
status
:
500
,
statusText
:
response_object
.
message
[
0
].
_content
,
responseJSON
:
{}
};
return
callback
(
that
.
handleError
(
err
));
}
else
{
return
callback
(
null
,
{});
}
};
this
.
performRequest
(
request_data
);
}
// TODO: Ugly
getMailbox
(
zimbra_id
,
callback
)
{
const
request_data
=
{
};
request_data
.
params
=
this
.
requestParams
();
request_data
.
request_name
=
"GetMailbox"
;
request_data
.
params
.
name
=
`
${
request_data
.
request_name
}
Request`
;
request_data
.
params
.
params
=
{
mbox
:
{
id
:
zimbra_id
}
};
request_data
.
callback
=
callback
;
request_data
.
parse_response
=
function
(
data
,
_
,
callback
){
const
response_object
=
data
.
get
().
GetMailboxResponse
.
mbox
[
0
];
const
result
=
{
mbxid
:
response_object
.
mbxid
,
account_id
:
response_object
.
id
,
size
:
response_object
.
s
};
return
callback
(
null
,
result
);
};
this
.
performRequest
(
request_data
);
}
...
...
src/zimbra/account.js
View file @
f4dc9c83
...
...
@@ -19,8 +19,19 @@ export default class Account extends Zimbra {
}
}
// setPassword(password, callback) {
// this.api.setPassword(this.id, password, callback);
// }
setPassword
(
password
,
callback
)
{
this
.
api
.
setPassword
(
this
.
id
,
password
,
callback
);
}
getMailbox
(
callback
)
{
this
.
api
.
getMailbox
(
this
.
id
,
callback
);
}
getMailboxSize
(
callback
)
{
this
.
getMailbox
(
function
(
e
,
d
){
if
(
e
)
return
callback
(
e
);
return
callback
(
null
,
d
.
size
);
});
}
}
src/zimbra/zimbra.js
View file @
f4dc9c83
...
...
@@ -7,7 +7,6 @@ export default class Zimbra {
this
.
id
=
resource_obj
.
id
;
this
.
attrs
=
this
.
buildAttrsMap
(
resource_obj
.
a
);
this
.
api
=
zimbra_api_client
;
this
.
raw_obj
=
resource_obj
;
}
buildAttrsMap
(
obj_ary
)
{
...
...
@@ -24,14 +23,4 @@ export default class Zimbra {
return
attrs
;
}
// getZimbraACEs () {
// const result = {};
// this.attrs.zimbraACE.forEach((ace) => {
// const split = ace.split(/\s+/);
// result.granteeId = split[0];
// result.granteeType = split[1];
// result.granteeId = split[2];
// });
// }
}
test/js/spec/test.js
View file @
f4dc9c83
...
...
@@ -240,9 +240,44 @@
let
api
=
new
ZimbraAdminApi
(
auth_data
);
api
.
getAccount
(
'pbruna@itlinux.cl'
,
function
(
err
,
data
){
let
account
=
data
;
account
.
setPassword
(
'123456789
10
'
,
function
(
err
,
data
){
account
.
setPassword
(
'123456789'
,
function
(
err
,
data
){
if
(
err
)
return
console
.
log
(
err
);
console
.
log
(
data
);
expect
(
data
).
to
.
be
.
empty
;
done
();
});
});
});
it
(
'Should Return Error for Invalid Password'
,
function
(
done
){
let
api
=
new
ZimbraAdminApi
(
auth_data
);
api
.
getAccount
(
'pbruna@itlinux.cl'
,
function
(
err
,
data
){
let
account
=
data
;
account
.
setPassword
(
''
,
function
(
err
,
data
){
expect
(
err
.
title
).
to
.
exist
;
done
();
});
});
});
it
(
'Should Get The Account Mailbox'
,
function
(
done
){
let
api
=
new
ZimbraAdminApi
(
auth_data
);
api
.
getAccount
(
'pbruna@itlinux.cl'
,
function
(
err
,
data
){
let
account
=
data
;
account
.
getMailbox
(
function
(
err
,
data
){
if
(
err
)
return
console
.
log
(
err
);
expect
(
data
.
size
).
to
.
be
.
exist
;
done
();
});
});
});
it
(
'Should Get The Account Mailbox Size'
,
function
(
done
){
let
api
=
new
ZimbraAdminApi
(
auth_data
);
api
.
getAccount
(
'pbruna@itlinux.cl'
,
function
(
err
,
data
){
let
account
=
data
;
account
.
getMailboxSize
(
function
(
err
,
data
){
if
(
err
)
return
console
.
log
(
err
);
expect
(
data
).
to
.
be
.
at
.
least
(
0
);
done
();
});
});
...
...
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