@rucken/todo-core
Version:
Core with base class and entities for todo application maked on Angular7+ and based on Rucken template
152 lines • 11.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { serializeModel, transformDateToString, transformStringToDate, transformStringToObject, translate, User } from '@rucken/core';
import { Transform, Type } from 'class-transformer';
import { IsNotEmpty, IsOptional } from 'class-validator';
import { Status } from './status';
var Project = /** @class */ (function () {
function Project() {
this.id = undefined;
this.completedTasksCount = undefined;
this.tasksCount = undefined;
this.title = undefined;
this.description = undefined;
this.isPublic = undefined;
this.createdAt = undefined;
this.updatedAt = undefined;
this.statuses = [];
this.users = [];
this.createdUser = undefined;
this.updatedUser = undefined;
}
Object.defineProperty(Project.prototype, "isPublicAsString", {
get: /**
* @return {?}
*/
function () {
if (this.isPublic) {
return translate('Yes');
}
else {
return translate('No');
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(Project.prototype, "usersAsString", {
get: /**
* @return {?}
*/
function () {
return this.users.join(', ');
},
enumerable: true,
configurable: true
});
Object.defineProperty(Project.prototype, "statusesAsString", {
get: /**
* @return {?}
*/
function () {
return this.statuses.join(', ');
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
Project.prototype.toString = /**
* @return {?}
*/
function () {
return this.title;
};
Project.strings = {
id: translate('Id'),
title: translate('Title'),
description: translate('Description'),
isPublic: translate('Is public'),
createdAt: translate('Created at'),
updatedAt: translate('Updated at'),
statuses: translate('Statuses'),
tasks: translate('Tasks'),
users: translate('Users'),
completedTasksCount: translate('Completed tasks'),
tasksCount: translate('Tasks'),
createTitle: translate('Add new project'),
viewTitle: translate('Project #{{id}}'),
updateTitle: translate('Update project #{{id}}'),
deleteTitle: translate('Delete project #{{id}}'),
deleteMessage: translate('Do you really want to delete project?')
};
tslib_1.__decorate([
IsNotEmpty(),
tslib_1.__metadata("design:type", String)
], Project.prototype, "title", void 0);
tslib_1.__decorate([
Transform(transformStringToDate, { toClassOnly: true }),
Transform(transformDateToString, { toPlainOnly: true }),
tslib_1.__metadata("design:type", Object)
], Project.prototype, "createdAt", void 0);
tslib_1.__decorate([
Transform(transformStringToDate, { toClassOnly: true }),
Transform(transformDateToString, { toPlainOnly: true }),
tslib_1.__metadata("design:type", Object)
], Project.prototype, "updatedAt", void 0);
tslib_1.__decorate([
IsOptional(),
Type(serializeModel(Status)),
tslib_1.__metadata("design:type", Array)
], Project.prototype, "statuses", void 0);
tslib_1.__decorate([
IsOptional(),
Type(serializeModel(User)),
tslib_1.__metadata("design:type", Array)
], Project.prototype, "users", void 0);
tslib_1.__decorate([
Type(serializeModel(User)),
Transform(transformStringToObject, { toPlainOnly: true }),
tslib_1.__metadata("design:type", User)
], Project.prototype, "createdUser", void 0);
tslib_1.__decorate([
Type(serializeModel(User)),
Transform(transformStringToObject, { toPlainOnly: true }),
tslib_1.__metadata("design:type", User)
], Project.prototype, "updatedUser", void 0);
return Project;
}());
export { Project };
if (false) {
/** @type {?} */
Project.strings;
/** @type {?} */
Project.prototype.id;
/** @type {?} */
Project.prototype.completedTasksCount;
/** @type {?} */
Project.prototype.tasksCount;
/** @type {?} */
Project.prototype.title;
/** @type {?} */
Project.prototype.description;
/** @type {?} */
Project.prototype.isPublic;
/** @type {?} */
Project.prototype.createdAt;
/** @type {?} */
Project.prototype.updatedAt;
/** @type {?} */
Project.prototype.statuses;
/** @type {?} */
Project.prototype.users;
/** @type {?} */
Project.prototype.createdUser;
/** @type {?} */
Project.prototype.updatedUser;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BydWNrZW4vdG9kby1jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsSUFBSSxFQUNMLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDO0lBQUE7UUFxQkUsT0FBRSxHQUFXLFNBQVMsQ0FBQztRQUV2Qix3QkFBbUIsR0FBVyxTQUFTLENBQUM7UUFFeEMsZUFBVSxHQUFXLFNBQVMsQ0FBQztRQUcvQixVQUFLLEdBQVcsU0FBUyxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsU0FBUyxDQUFDO1FBRWhDLGFBQVEsR0FBWSxTQUFTLENBQUM7UUFJOUIsY0FBUyxHQUFrQixTQUFTLENBQUM7UUFJckMsY0FBUyxHQUFrQixTQUFTLENBQUM7UUFJckMsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUl4QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBSW5CLGdCQUFXLEdBQVMsU0FBUyxDQUFDO1FBSTlCLGdCQUFXLEdBQVMsU0FBUyxDQUFDO0lBcUJoQyxDQUFDO0lBbkJDLHNCQUFJLHFDQUFnQjs7OztRQUFwQjtZQUNFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEI7UUFDSCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJ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LFxuICB0cmFuc2Zvcm1EYXRlVG9TdHJpbmcsXG4gIHRyYW5zZm9ybVN0cmluZ1RvRGF0ZSxcbiAgdHJhbnNmb3JtU3RyaW5nVG9PYmplY3QsXG4gIHRyYW5zbGF0ZSxcbiAgVXNlclxufSBmcm9tICdAcnVja2VuL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSXNOb3RFbXB0eSwgSXNPcHRpb25hbCB9IGZyb20gJ2NsYXNzLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBJTW9kZWwgfSBmcm9tICduZ3gtcmVwb3NpdG9yeSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3N0YXR1cyc7XG5cbmV4cG9ydCBjbGFzcyBQcm9qZWN0IGltcGxlbWVudHMgSU1vZGVsIHtcbiAgc3RhdGljIHN0cmluZ3MgPSB7XG4gICAgaWQ6IHRyYW5zbGF0ZSgnSWQnKSxcbiAgICB0aXRsZTogdHJhbnNsYXRlKCdUaXRsZScpLFxuICAgIGRlc2NyaXB0aW9uOiB0cmFuc2xhdGUoJ0Rlc2NyaXB0aW9uJyksXG4gICAgaXNQdWJsaWM6IHRyYW5zbGF0ZSgnSXMgcHVibGljJyksXG4gICAgY3JlYXRlZEF0OiB0cmFuc2xhdGUoJ0NyZWF0ZWQgYXQnKSxcbiAgICB1cGRhdGVkQXQ6IHRyYW5zbGF0ZSgnVXBkYXRlZCBhdCcpLFxuICAgIHN0YXR1c2VzOiB0cmFuc2xhdGUoJ1N0YXR1c2VzJyksXG4gICAgdGFza3M6IHRyYW5zbGF0ZSgnVGFza3MnKSxcbiAgICB1c2VyczogdHJhbnNsYXRlKCdVc2VycycpLFxuICAgIGNvbXBsZXRlZFRhc2tzQ291bnQ6IHRyYW5zbGF0ZSgnQ29tcGxldGVkIHRhc2tzJyksXG4gICAgdGFza3NDb3VudDogdHJhbnNsYXRlKCdUYXNrcycpLFxuXG4gICAgY3JlYXRlVGl0bGU6IHRyYW5zbGF0ZSgnQWRkIG5ldyBwcm9qZWN0JyksXG4gICAgdmlld1RpdGxlOiB0cmFuc2xhdGUoJ1Byb2plY3QgI3t7aWR9fScpLFxuICAgIHVwZGF0ZVRpdGxlOiB0cmFuc2xhdGUoJ1VwZGF0ZSBwcm9qZWN0ICN7e2lkfX0nKSxcbiAgICBkZWxldGVUaXRsZTogdHJhbnNsYXRlKCdEZWxldGUgcHJvamVjdCAje3tpZH19JyksXG4gICAgZGVsZXRlTWVzc2FnZTogdHJhbnNsYXRlKCdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHByb2plY3Q/JylcbiAgfTtcblxuICBpZDogbnVtYmVyID0gdW5kZWZpbmVkO1xuXG4gIGNvbXBsZXRlZFRhc2tzQ291bnQ6IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICB0YXNrc0NvdW50OiBudW1iZXIgPSB1bmRlZmluZWQ7XG5cbiAgQElzTm90RW1wdHkoKVxuICB0aXRsZTogc3RyaW5nID0gdW5kZWZpbmVkO1xuXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSB1bmRlZmluZWQ7XG5cbiAgaXNQdWJsaWM6IGJvb2xlYW4gPSB1bmRlZmluZWQ7XG5cbiAgQFRyYW5zZm9ybSh0cmFuc2Zvcm1TdHJpbmdUb0RhdGUsIHsgdG9DbGFzc09ubHk6IHRydWUgfSlcbiAgQFRyYW5zZm9ybSh0cmFuc2Zvcm1EYXRlVG9TdHJpbmcsIHsgdG9QbGFpbk9ubHk6IHRydWUgfSlcbiAgY3JlYXRlZEF0OiBEYXRlIHwgc3RyaW5nID0gdW5kZWZpbmVkO1xuXG4gIEBUcmFuc2Zvcm0odHJhbnNmb3JtU3RyaW5nVG9EYXRlLCB7IHRvQ2xhc3NPbmx5OiB0cnVlIH0pXG4gIEBUcmFuc2Zvcm0odHJhbnNmb3JtRGF0ZVRvU3RyaW5nLCB7IHRvUGxhaW5Pbmx5OiB0cnVlIH0pXG4gIHVwZGF0ZWRBdDogRGF0ZSB8IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICBASXNPcHRpb25hbCgpXG4gIEBUeXBlKHNlcmlhbGl6ZU1vZGVsKFN0YXR1cykpXG4gIHN0YXR1c2VzOiBTdGF0dXNbXSA9IFtdO1xuXG4gIEBJc09wdGlvbmFsKClcbiAgQFR5cGUoc2VyaWFsaXplTW9kZWwoVXNlcikpXG4gIHVzZXJzOiBVc2VyW10gPSBbXTtcblxuICBAVHlwZShzZXJpYWxpemVNb2RlbChVc2VyKSlcbiAgQFRyYW5zZm9ybSh0cmFuc2Zvcm1TdHJpbmdUb09iamVjdCwgeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICBjcmVhdGVkVXNlcjogVXNlciA9IHVuZGVmaW5lZDtcblxuICBAVHlwZShzZXJpYWxpemVNb2RlbChVc2VyKSlcbiAgQFRyYW5zZm9ybSh0cmFuc2Zvcm1TdHJpbmdUb09iamVjdCwgeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICB1cGRhdGVkVXNlcjogVXNlciA9IHVuZGVmaW5lZDtcblxuICBnZXQgaXNQdWJsaWNBc1N0cmluZygpIHtcbiAgICBpZiAodGhpcy5pc1B1YmxpYykge1xuICAgICAgcmV0dXJuIHRyYW5zbGF0ZSgnWWVzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0cmFuc2xhdGUoJ05vJyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHVzZXJzQXNTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMudXNlcnMuam9pbignLCAnKTtcbiAgfVxuXG4gIGdldCBzdGF0dXNlc0FzU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c2VzLmpvaW4oJywgJyk7XG4gIH1cblxuICB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZTtcbiAgfVxufVxuIl19