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

Rename Accounts and DLs

parent 415352a7
...@@ -311,6 +311,13 @@ account.getMailboxSize(callback); ...@@ -311,6 +311,13 @@ account.getMailboxSize(callback);
// //
``` ```
### Rename
```javascript
account.rename('new_name@example.com', callback);
// account Object
```
### Account Alias ### Account Alias
The `alias` **must** be an email with `Domain` in Zimbra. The `alias` **must** be an email with `Domain` in Zimbra.
...@@ -407,6 +414,13 @@ domain.getAllDistributionLists(callback); ...@@ -407,6 +414,13 @@ domain.getAllDistributionLists(callback);
## Distribution Lists ## Distribution Lists
### Rename
```javascript
dl.rename('new_name@example.com', callback);
// dl Object
```
### Add / Remove Members ### Add / Remove Members
```javascript ```javascript
......
...@@ -348,6 +348,15 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -348,6 +348,15 @@ return /******/ (function(modules) { // webpackBootstrap
request_data.params.params = resource_data; request_data.params.params = resource_data;
return this.performRequest(request_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', key: 'modify',
value: function modify(resource, resource_data, callback) { value: function modify(resource, resource_data, callback) {
...@@ -638,6 +647,24 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -638,6 +647,24 @@ return /******/ (function(modules) { // webpackBootstrap
request_data.params.params = { id: dl_id, dlm: this.dictionary.convertToZimbraArray(members) }; request_data.params.params = { id: dl_id, dlm: this.dictionary.convertToZimbraArray(members) };
return this.performRequest(request_data); 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', key: 'revokeRight',
value: function revokeRight(target_data, grantee_data, right_name, callback) { value: function revokeRight(target_data, grantee_data, right_name, callback) {
...@@ -13997,6 +14024,11 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -13997,6 +14024,11 @@ return /******/ (function(modules) { // webpackBootstrap
value: function removeAccountAlias(alias, callback) { value: function removeAccountAlias(alias, callback) {
this.api.removeAccountAlias(this.id, 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; return Account;
}(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved. }(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
...@@ -14253,6 +14285,11 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -14253,6 +14285,11 @@ return /******/ (function(modules) { // webpackBootstrap
}; };
this.revokeRight(grantee_data, this.ownerRights, callback); 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; return DistributionList;
}(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved. }(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
This source diff could not be displayed because it is too large. You can view the blob instead.
{ {
"name": "zimbra-admin-api-js", "name": "zimbra-admin-api-js",
"version": "0.0.20", "version": "0.0.21",
"private": true, "private": true,
"main": "lib/zimbra-admin-api.js", "main": "lib/zimbra-admin-api.js",
"dependencies": { "dependencies": {
......
...@@ -235,6 +235,14 @@ export default class ZimbraAdminApi { ...@@ -235,6 +235,14 @@ export default class ZimbraAdminApi {
return this.performRequest(request_data); 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){ modify(resource, resource_data, callback){
const request_data = this.buildRequestData(`Modify${resource}`, callback); const request_data = this.buildRequestData(`Modify${resource}`, callback);
...@@ -451,6 +459,22 @@ export default class ZimbraAdminApi { ...@@ -451,6 +459,22 @@ export default class ZimbraAdminApi {
return this.performRequest(request_data); 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) { revokeRight(target_data, grantee_data, right_name, callback) {
const [target, grantee] = this.dictionary.buildTargetGrantee(target_data, grantee_data); const [target, grantee] = this.dictionary.buildTargetGrantee(target_data, grantee_data);
const request_data = this.buildRequestData('RevokeRight', callback); const request_data = this.buildRequestData('RevokeRight', callback);
......
...@@ -44,4 +44,8 @@ export default class Account extends Zimbra { ...@@ -44,4 +44,8 @@ export default class Account extends Zimbra {
this.api.removeAccountAlias(this.id, alias, callback); 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 { ...@@ -70,5 +70,9 @@ export default class DistributionList extends Zimbra {
this.revokeRight(grantee_data, this.ownerRights, callback); this.revokeRight(grantee_data, this.ownerRights, callback);
} }
rename(new_name, callback) {
this.api.renameDistributionList(this.id, new_name, callback);
}
} }
...@@ -309,6 +309,24 @@ ...@@ -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 @@ ...@@ -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() { 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