Commit 22cf13dc authored by Patricio Bruna's avatar Patricio Bruna

Basic Cos information

parent 8535d9c2
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
- [Creating Resources](#creating-resources) - [Creating Resources](#creating-resources)
- [Modify Resources](#modify-resources) - [Modify Resources](#modify-resources)
- [Remove Resources](#remove-resources) - [Remove Resources](#remove-resources)
- [Cos](#cos)
- [Domains](#domains) - [Domains](#domains)
...@@ -258,6 +259,29 @@ zimbraApi.removeAccount(zimbraId, callback); ...@@ -258,6 +259,29 @@ zimbraApi.removeAccount(zimbraId, callback);
* If everything goes OK you receive **nothing** as result. * If everything goes OK you receive **nothing** as result.
* You **can't delete** a `Domain` that is not empty. If it has any `Account` or `DistributionList`, You have to delete those first. * You **can't delete** a `Domain` that is not empty. If it has any `Account` or `DistributionList`, You have to delete those first.
## Accounts
### 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:
```javascript
// account is a Account, you got it from zimbraApi.getAccount....
account.cosName(callback);
// professional
// An account without Cos
no_cos_account.cosName(callback);
// null
```
## Cos
This are functions especifics to `Cos`.
### Get All Cos
```javascript
zimbraApi.getAllCos(callback);
```
## Domains ## Domains
This are functions especifics to `Domains`. This are functions especifics to `Domains`.
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
## Domains ## Domains
* [X] Devolver casillas segun el tipo de plan, cantidad asignadas y cantidad utilizadas para un dominio * [X] Devolver casillas segun el tipo de plan, cantidad asignadas y cantidad utilizadas para un dominio
* [ ] Devolver MX Record * [ ] Limite de casillas
* [ ] Devolver Tipo de renovación * [ ] Devolver Tipo de renovación
* [ ] Devolver Fecha de la proxima renovación * [ ] Devolver Fecha de la proxima renovación
* [ ] Devolver Empresa (esto entiendo necesitamos otro API) * [ ] Devolver Empresa (esto entiendo necesitamos otro API)
......
...@@ -368,6 +368,11 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -368,6 +368,11 @@ return /******/ (function(modules) { // webpackBootstrap
}; };
this.create('Account', resource_data, callback); this.create('Account', resource_data, callback);
} }
}, {
key: 'getCos',
value: function getCos(identifier, callback) {
this.get('Cos', identifier, callback);
}
}, { }, {
key: 'getDomain', key: 'getDomain',
value: function getDomain(identifier, callback) { value: function getDomain(identifier, callback) {
...@@ -428,6 +433,42 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -428,6 +433,42 @@ return /******/ (function(modules) { // webpackBootstrap
query_object.types = 'aliases'; query_object.types = 'aliases';
this.directorySearch(query_object, callback); this.directorySearch(query_object, callback);
} }
}, {
key: 'getAllCos',
value: function getAllCos(callback) {
var request_data = {};
var resource = 'Cos';
request_data.params = this.requestParams();
request_data.request_name = 'GetAll' + resource;
request_data.response_name = 'GetAll' + resource + 'Response';
request_data.params.name = request_data.request_name + 'Request';
request_data.resource = resource;
request_data.callback = callback;
request_data.parse_response = this.parseAllResponse;
this.performRequest(request_data);
}
}, {
key: 'getGrants',
value: function getGrants(target_data, grantee_data, callback) {
var request_data = {};
request_data.params = this.requestParams();
request_data.request_name = 'GetGrants';
request_data.response_name = 'GetGrantsResponse';
request_data.params.name = request_data.request_name + 'Request';
request_data.callback = callback;
request_data.parse_response = this.parseGetGrantsResponse;
request_data.params.params.target = {
'type': target_data.type,
'by': this.dictionary.byIdOrName(target_data.identifier),
'_content': target_data.identifier
};
request_data.params.params.grantee = {
'type': target_data.type,
'by': this.dictionary.byIdOrName(target_data.identifier),
'_content': target_data.identifier
};
this.performRequest(request_data);
}
// Get current logged account information // Get current logged account information
...@@ -12161,15 +12202,16 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -12161,15 +12202,16 @@ return /******/ (function(modules) { // webpackBootstrap
var _alias2 = _interopRequireDefault(_alias); var _alias2 = _interopRequireDefault(_alias);
var _cos = __webpack_require__(285);
var _cos2 = _interopRequireDefault(_cos);
var _distribution_list = __webpack_require__(112); var _distribution_list = __webpack_require__(112);
var _distribution_list2 = _interopRequireDefault(_distribution_list); var _distribution_list2 = _interopRequireDefault(_distribution_list);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
// See LICENSE.txt for license information.
var Dictionary = function () { var Dictionary = function () {
function Dictionary() { function Dictionary() {
(0, _classCallCheck3.default)(this, Dictionary); (0, _classCallCheck3.default)(this, Dictionary);
...@@ -12252,13 +12294,18 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -12252,13 +12294,18 @@ return /******/ (function(modules) { // webpackBootstrap
alias: { alias: {
response_name: 'alias', response_name: 'alias',
class_name: _alias2.default class_name: _alias2.default
},
cos: {
class_name: _cos2.default,
response_name: 'cos'
} }
}; };
} }
}]); }]);
return Dictionary; return Dictionary;
}(); }(); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
// See LICENSE.txt for license information.
exports.default = Dictionary; exports.default = Dictionary;
...@@ -12965,6 +13012,9 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -12965,6 +13012,9 @@ return /******/ (function(modules) { // webpackBootstrap
return callback(null, d); return callback(null, d);
}); });
} }
}, {
key: 'maxAccounts',
value: function maxAccounts(callback) {}
}]); }]);
return Domain; return Domain;
}(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved. }(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
...@@ -13257,6 +13307,17 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -13257,6 +13307,17 @@ return /******/ (function(modules) { // webpackBootstrap
}); });
return attrs; 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; return Zimbra;
}(); }();
...@@ -13281,6 +13342,10 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -13281,6 +13342,10 @@ return /******/ (function(modules) { // webpackBootstrap
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = __webpack_require__(69);
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = __webpack_require__(101); var _possibleConstructorReturn2 = __webpack_require__(101);
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
...@@ -13303,6 +13368,19 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -13303,6 +13368,19 @@ return /******/ (function(modules) { // webpackBootstrap
return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(Account).call(this, account_obj, zimbra_api_client)); return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(Account).call(this, account_obj, zimbra_api_client));
} }
(0, _createClass3.default)(Account, [{
key: 'cosName',
value: function cosName(callback) {
if (this.attrs.zimbraCOSId) {
api.getCos(this.attrs.zimbraCOSId, function (e, d) {
if (e) return callback(e);
return callback(null, d.name);
});
} else {
return null;
}
}
}]);
return Account; return Account;
}(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved. }(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
// See LICENSE.txt for license information. // See LICENSE.txt for license information.
...@@ -39960,6 +40038,55 @@ return /******/ (function(modules) { // webpackBootstrap ...@@ -39960,6 +40038,55 @@ return /******/ (function(modules) { // webpackBootstrap
exports.default = Alias; exports.default = Alias;
/***/ },
/* 282 */,
/* 283 */,
/* 284 */,
/* 285 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _getPrototypeOf = __webpack_require__(97);
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = __webpack_require__(68);
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _possibleConstructorReturn2 = __webpack_require__(101);
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = __webpack_require__(102);
var _inherits3 = _interopRequireDefault(_inherits2);
var _zimbra = __webpack_require__(110);
var _zimbra2 = _interopRequireDefault(_zimbra);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Cos = function (_Zimbra) {
(0, _inherits3.default)(Cos, _Zimbra);
function Cos(cos_obj, zimbra_api_client) {
(0, _classCallCheck3.default)(this, Cos);
return (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(Cos).call(this, cos_obj, zimbra_api_client));
}
return Cos;
}(_zimbra2.default); // Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
// See LICENSE.txt for license information.
exports.default = Cos;
/***/ } /***/ }
/******/ ]) /******/ ])
}); });
This diff is collapsed.
...@@ -264,6 +264,10 @@ export default class ZimbraAdminApi { ...@@ -264,6 +264,10 @@ export default class ZimbraAdminApi {
this.create('Account', resource_data, callback); this.create('Account', resource_data, callback);
} }
getCos(identifier, callback) {
this.get('Cos', identifier, callback);
}
getDomain(identifier, callback) { getDomain(identifier, callback) {
this.get('Domain', identifier, callback); this.get('Domain', identifier, callback);
} }
...@@ -309,6 +313,40 @@ export default class ZimbraAdminApi { ...@@ -309,6 +313,40 @@ export default class ZimbraAdminApi {
this.directorySearch(query_object, callback); this.directorySearch(query_object, callback);
} }
getAllCos(callback) {
let request_data = { };
const resource = 'Cos';
request_data.params = this.requestParams();
request_data.request_name = `GetAll${resource}`;
request_data.response_name = `GetAll${resource}Response`;
request_data.params.name = `${request_data.request_name}Request`;
request_data.resource = resource;
request_data.callback = callback;
request_data.parse_response = this.parseAllResponse;
this.performRequest(request_data);
}
getGrants(target_data, grantee_data, callback) {
const request_data = { };
request_data.params = this.requestParams();
request_data.request_name = 'GetGrants';
request_data.response_name = 'GetGrantsResponse';
request_data.params.name = `${request_data.request_name}Request`;
request_data.callback = callback;
request_data.parse_response = this.parseGetGrantsResponse;
request_data.params.params.target = {
'type': target_data.type,
'by': this.dictionary.byIdOrName(target_data.identifier),
'_content': target_data.identifier
};
request_data.params.params.grantee = {
'type': target_data.type,
'by': this.dictionary.byIdOrName(target_data.identifier),
'_content': target_data.identifier
};
this.performRequest(request_data);
}
// Get current logged account information // Get current logged account information
getInfo(callback) { getInfo(callback) {
const request_data = { }; const request_data = { };
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
import Domain from './../zimbra/domain.js'; import Domain from './../zimbra/domain.js';
import Account from './../zimbra/account.js'; import Account from './../zimbra/account.js';
import Alias from './../zimbra/alias.js'; import Alias from './../zimbra/alias.js';
import Cos from './../zimbra/cos.js';
import DistributionList from './../zimbra/distribution_list.js'; import DistributionList from './../zimbra/distribution_list.js';
export default class Dictionary { export default class Dictionary {
...@@ -75,6 +76,10 @@ export default class Dictionary { ...@@ -75,6 +76,10 @@ export default class Dictionary {
response_name: 'alias', response_name: 'alias',
class_name: Alias, class_name: Alias,
}, },
cos: {
class_name: Cos,
response_name: 'cos'
}
}; };
} }
......
...@@ -7,4 +7,16 @@ export default class Account extends Zimbra { ...@@ -7,4 +7,16 @@ export default class Account extends Zimbra {
constructor(account_obj, zimbra_api_client) { constructor(account_obj, zimbra_api_client) {
super(account_obj, zimbra_api_client); super(account_obj, zimbra_api_client);
} }
cosName(callback) {
if (this.attrs.zimbraCOSId) {
api.getCos(this.attrs.zimbraCOSId, function(e,d){
if (e) return callback(e);
return callback(null, d.name);
});
} else {
return null;
}
}
} }
// Copyright (c) 2016 ZBox, Spa. All Rights Reserved.
// See LICENSE.txt for license information.
import Zimbra from './zimbra.js';
export default class Cos extends Zimbra {
constructor(cos_obj, zimbra_api_client) {
super(cos_obj, zimbra_api_client);
}
}
...@@ -15,4 +15,8 @@ export default class Domain extends Zimbra { ...@@ -15,4 +15,8 @@ export default class Domain extends Zimbra {
}); });
} }
maxAccounts(callback) {
}
} }
...@@ -18,4 +18,14 @@ export default class Zimbra { ...@@ -18,4 +18,14 @@ export default class Zimbra {
return attrs; 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];
// });
// }
} }
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