teambition-sdk-socket
Version:
Front-End SDK for Teambition
90 lines • 4.02 kB
JavaScript
'use strict';
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var Observable_1 = require("rxjs/Observable");
var BaseModel_1 = require("./BaseModel");
var index_1 = require("../utils/index");
var Project_1 = require("../schemas/Project");
var ProjectModel = (function (_super) {
__extends(ProjectModel, _super);
function ProjectModel() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this._schemaName = 'Project';
return _this;
}
ProjectModel.prototype.addProjects = function (projects) {
var result = index_1.datasToSchemas(projects, Project_1.default);
return this._saveCollection("projects", result, this._schemaName, function (data) {
return !data.isArchived &&
data.visibility !== 'private';
});
};
ProjectModel.prototype.addArchivesProjects = function (projects) {
var result = index_1.datasToSchemas(projects, Project_1.default);
return this._saveCollection("archives:projects", result, this._schemaName, function (data) {
return data.isArchived &&
data.visibility !== 'private';
});
};
ProjectModel.prototype.addPersonalProjects = function (projects) {
var result = index_1.datasToSchemas(projects, Project_1.default);
return this._saveCollection("projects/personal", result, this._schemaName, function (data) {
return !data.isArchived &&
!data._organizationId &&
data.visibility !== 'private';
});
};
ProjectModel.prototype.addOrgsProjects = function (_organizationId, projects) {
var result = index_1.datasToSchemas(projects, Project_1.default);
return this._saveCollection("orgs:projects/" + _organizationId, result, this._schemaName, function (data) {
return data._organizationId === _organizationId;
});
};
ProjectModel.prototype.addOne = function (project) {
var result = index_1.dataToSchema(project, Project_1.default);
return this._save(result);
};
ProjectModel.prototype.getProjects = function () {
return this._get('projects');
};
ProjectModel.prototype.getPersonalProjects = function () {
return this._get("projects/personal");
};
ProjectModel.prototype.getOrgProjects = function (_organizationId) {
return this._get("orgs:projects/" + _organizationId);
};
ProjectModel.prototype.getOne = function (_id) {
return this._get(_id);
};
ProjectModel.prototype.getArchivesProjects = function () {
return this._get('archives:projects');
};
ProjectModel.prototype.getAliasIdOfPrivate = function (taskId) {
return "project:private/" + taskId;
};
ProjectModel.prototype.getPrivate = function (taskId) {
var index = this.getAliasIdOfPrivate(taskId);
return this._get(index);
};
ProjectModel.prototype.addPrivate = function (taskId, project) {
var flag = '$$aliasId';
var index = this.getAliasIdOfPrivate(taskId);
project[flag] = index;
var result = index_1.dataToSchema(project, Project_1.default, flag);
return Observable_1.Observable.combineLatest(this._save(result), this.addOne(project))
.map(function (data) { return data[0]; });
};
return ProjectModel;
}(BaseModel_1.default));
exports.ProjectModel = ProjectModel;
exports.default = new ProjectModel;
//# sourceMappingURL=ProjectModel.js.map