Commit 5db738b2 authored by Patricio Bruna's avatar Patricio Bruna

Rename Accounts and DLs

parent 415352a7
......@@ -311,6 +311,13 @@ account.getMailboxSize(callback);
//
```
### Rename
```javascript
account.rename('new_name@example.com', callback);
// account Object
```
### Account Alias
The `alias` **must** be an email with `Domain` in Zimbra.
......@@ -407,6 +414,13 @@ domain.getAllDistributionLists(callback);
## Distribution Lists
### Rename
```javascript
dl.rename('new_name@example.com', callback);
// dl Object
```
### Add / Remove Members
```javascript
......
......@@ -348,6 +348,15 @@ return /******/ (function(modules) { // webpackBootstrap
request_data.params.params = resource_data;
return this.performRequest(request_data);
}
}, {
key: 'rename',
value: function rename(resource, resource_data, callback) {
var request_data = this.buildRequestData('Rename' + resource, callback);
request_data.resource = resource;
request_data.parse_response = this.parseResponse;
request_data.params.params = resource_data;
return this.performRequest(request_data);
}
}, {
key: 'modify',
value: function modify(resource, resource_data, callback) {
......@@ -638,6 +647,24 @@ return /******/ (function(modules) { // webpackBootstrap
request_data.params.params = { id: dl_id, dlm: this.dictionary.convertToZimbraArray(members) };
return this.performRequest(request_data);
}
}, {
key: 'renameAccount',
value: function renameAccount(zimbra_id, new_name, callback) {
var resource_data = {
id: zimbra_id,
newName: new_name
};
return this.rename('Account', resource_data, callback);
}
}, {
key: 'renameDistributionList',
value: function renameDistributionList(zimbra_id, new_name, callback) {
var resource_data = {
id: zimbra_id,
newName: new_name
};
return this.rename('DistributionList', resource_data, callback);
}
}, {
key: 'revokeRight',
value: function revokeRight(target_data, grantee_data, right_name, callback) {
......@@ -13997,6 +14024,11 @@ return /******/ (function(modules) { // webpackBootstrap
value: function removeAccountAlias(alias, callback) {
this.api.removeAccountAlias(this.id, alias, callback);
}
}, {
key: 'rename',
value: function rename(new_name, callback) {
this.api.renameAccount(this.id, new_name, callback);
}
}]);
return Account;
}(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
......@@ -14253,6 +14285,11 @@ return /******/ (function(modules) { // webpackBootstrap
};
this.revokeRight(grantee_data, this.ownerRights, callback);
}
}, {
key: 'rename',
value: function rename(new_name, callback) {
this.api.renameDistributionList(this.id, new_name, callback);
}
}]);
return DistributionList;
}(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
This diff is collapsed.
{
"name": "zimbra-admin-api-js",
"version": "0.0.20",
"version": "0.0.21",
"private": true,
"main": "lib/zimbra-admin-api.js",
"dependencies": {
......
......@@ -235,6 +235,14 @@ export default class ZimbraAdminApi {
return this.performRequest(request_data);
}
rename(resource, resource_data, callback) {
const request_data = this.buildRequestData(`Rename${resource}`, callback);
request_data.resource = resource;
request_data.parse_response = this.parseResponse;
request_data.params.params = resource_data;
return this.performRequest(request_data);
}
modify(resource, resource_data, callback){
const request_data = this.buildRequestData(`Modify${resource}`, callback);
......@@ -451,6 +459,22 @@ export default class ZimbraAdminApi {
return this.performRequest(request_data);
}
renameAccount(zimbra_id, new_name, callback) {
let resource_data = {
id: zimbra_id,
newName: new_name
};
return this.rename('Account', resource_data, callback);
}
renameDistributionList(zimbra_id, new_name, callback) {
let resource_data = {
id: zimbra_id,
newName: new_name
};
return this.rename('DistributionList', resource_data, callback);
}
revokeRight(target_data, grantee_data, right_name, callback) {
const [target, grantee] = this.dictionary.buildTargetGrantee(target_data, grantee_data);
const request_data = this.buildRequestData('RevokeRight', callback);
......
......@@ -44,4 +44,8 @@ export default class Account extends Zimbra {
this.api.removeAccountAlias(this.id, alias, callback);
}
rename(new_name, callback) {
this.api.renameAccount(this.id, new_name, callback);
}
}
......@@ -70,5 +70,9 @@ export default class DistributionList extends Zimbra {
this.revokeRight(grantee_data, this.ownerRights, callback);
}
rename(new_name, callback) {
this.api.renameDistributionList(this.id, new_name, callback);
}
}
......@@ -309,6 +309,24 @@
});
});
it('Should rename the account', function(done){
let account_name = Date.now() + '@big.com';
let new_name = Date.now() + '1' + '@big.com';
let account_password = Date.now();
let account_attributes = {};
let api = new ZimbraAdminApi(auth_data);
api.createAccount(account_name, account_password, account_attributes, function(err, account){
if (err) return console.log(err);
const account_id = account.id;
account.rename(new_name, function(err, data){
if (err) return console.log(err);
expect(data.id).to.equal(account_id);
expect(data.name).to.equal(new_name);
done();
});
});
});
});
......@@ -622,6 +640,25 @@
});
});
it('Should rename the DL', function(done){
let dl_name = Date.now() + '@big.com';
let new_name = Date.now() + '1' + '@big.com';
let dl_attrs = {};
let api = new ZimbraAdminApi(auth_data);
api.createDistributionList(dl_name, dl_attrs, function(err, dl){
if (err) return console.log(err);
const dl_id = dl.id;
dl.rename(new_name, function(err, data){
if (err) return console.log(err);
expect(data.id).to.equal(dl_id);
expect(data.name).to.equal(new_name);
done();
});
});
});
});
describe('Grants tests', function() {
......
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