@rucken/todo-core
Version:
Core with base class and entities for todo application maked on Angular7+ and based on Rucken template
135 lines • 10.9 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';
export class Project {
constructor() {
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;
}
/**
* @return {?}
*/
get isPublicAsString() {
if (this.isPublic) {
return translate('Yes');
}
else {
return translate('No');
}
}
/**
* @return {?}
*/
get usersAsString() {
return this.users.join(', ');
}
/**
* @return {?}
*/
get statusesAsString() {
return this.statuses.join(', ');
}
/**
* @return {?}
*/
toString() {
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);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BydWNrZW4vdG9kby1jb3JlLyIsInNvdXJjZXMiOlsibGliL21vZGVscy9wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsSUFBSSxFQUNMLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWxDLE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBcUJFLE9BQUUsR0FBVyxTQUFTLENBQUM7UUFFdkIsd0JBQW1CLEdBQVcsU0FBUyxDQUFDO1FBRXhDLGVBQVUsR0FBVyxTQUFTLENBQUM7UUFHL0IsVUFBSyxHQUFXLFNBQVMsQ0FBQztRQUUxQixnQkFBVyxHQUFXLFNBQVMsQ0FBQztRQUVoQyxhQUFRLEdBQVksU0FBUyxDQUFDO1FBSTlCLGNBQVMsR0FBa0IsU0FBUyxDQUFDO1FBSXJDLGNBQVMsR0FBa0IsU0FBUyxDQUFDO1FBSXJDLGFBQVEsR0FBYSxFQUFFLENBQUM7UUFJeEIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUluQixnQkFBVyxHQUFTLFNBQVMsQ0FBQztRQUk5QixnQkFBVyxHQUFTLFNBQVMsQ0FBQztJQXFCaEMsQ0FBQzs7OztJQW5CQyxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7OztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7OztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7QUEzRU0sZUFBTyxHQUFHO0lBQ2YsRUFBRSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDbkIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDekIsV0FBVyxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUM7SUFDckMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUM7SUFDaEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDbEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxZQUFZLENBQUM7SUFDbEMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFDL0IsS0FBSyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDekIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDekIsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLGlCQUFpQixDQUFDO0lBQ2pELFVBQVUsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDO0lBRTlCLFdBQVcsRUFBRSxTQUFTLENBQUMsaUJBQWlCLENBQUM7SUFDekMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN2QyxXQUFXLEVBQUUsU0FBUyxDQUFDLHdCQUF3QixDQUFDO0lBQ2hELFdBQVcsRUFBRSxTQUFTLENBQUMsd0JBQXdCLENBQUM7SUFDaEQsYUFBYSxFQUFFLFNBQVMsQ0FBQyx1Q0FBdUMsQ0FBQztDQUNsRSxDQUFDO0FBU0Y7SUFEQyxVQUFVLEVBQUU7O3NDQUNhO0FBUTFCO0lBRkMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZELFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7MENBQ25CO0FBSXJDO0lBRkMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3ZELFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQzs7MENBQ25CO0FBSXJDO0lBRkMsVUFBVSxFQUFFO0lBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7eUNBQ0w7QUFJeEI7SUFGQyxVQUFVLEVBQUU7SUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDOztzQ0FDUjtBQUluQjtJQUZDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsU0FBUyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO3NDQUM3QyxJQUFJOzRDQUFhO0FBSTlCO0lBRkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixTQUFTLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7c0NBQzdDLElBQUk7NENBQWE7OztJQXZEOUIsZ0JBa0JFOztJQUVGLHFCQUF1Qjs7SUFFdkIsc0NBQXdDOztJQUV4Qyw2QkFBK0I7O0lBRS9CLHdCQUMwQjs7SUFFMUIsOEJBQWdDOztJQUVoQywyQkFBOEI7O0lBRTlCLDRCQUVxQzs7SUFFckMsNEJBRXFDOztJQUVyQywyQkFFd0I7O0lBRXhCLHdCQUVtQjs7SUFFbkIsOEJBRThCOztJQUU5Qiw4QkFFOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBzZXJpYWxpemVNb2RlbCxcbiAgdHJhbnNmb3JtRGF0ZVRvU3RyaW5nLFxuICB0cmFuc2Zvcm1TdHJpbmdUb0RhdGUsXG4gIHRyYW5zZm9ybVN0cmluZ1RvT2JqZWN0LFxuICB0cmFuc2xhdGUsXG4gIFVzZXJcbn0gZnJvbSAnQHJ1Y2tlbi9jb3JlJztcbmltcG9ydCB7IFRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IElzTm90RW1wdHksIElzT3B0aW9uYWwgfSBmcm9tICdjbGFzcy12YWxpZGF0b3InO1xuaW1wb3J0IHsgSU1vZGVsIH0gZnJvbSAnbmd4LXJlcG9zaXRvcnknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMnO1xuXG5leHBvcnQgY2xhc3MgUHJvamVjdCBpbXBsZW1lbnRzIElNb2RlbCB7XG4gIHN0YXRpYyBzdHJpbmdzID0ge1xuICAgIGlkOiB0cmFuc2xhdGUoJ0lkJyksXG4gICAgdGl0bGU6IHRyYW5zbGF0ZSgnVGl0bGUnKSxcbiAgICBkZXNjcmlwdGlvbjogdHJhbnNsYXRlKCdEZXNjcmlwdGlvbicpLFxuICAgIGlzUHVibGljOiB0cmFuc2xhdGUoJ0lzIHB1YmxpYycpLFxuICAgIGNyZWF0ZWRBdDogdHJhbnNsYXRlKCdDcmVhdGVkIGF0JyksXG4gICAgdXBkYXRlZEF0OiB0cmFuc2xhdGUoJ1VwZGF0ZWQgYXQnKSxcbiAgICBzdGF0dXNlczogdHJhbnNsYXRlKCdTdGF0dXNlcycpLFxuICAgIHRhc2tzOiB0cmFuc2xhdGUoJ1Rhc2tzJyksXG4gICAgdXNlcnM6IHRyYW5zbGF0ZSgnVXNlcnMnKSxcbiAgICBjb21wbGV0ZWRUYXNrc0NvdW50OiB0cmFuc2xhdGUoJ0NvbXBsZXRlZCB0YXNrcycpLFxuICAgIHRhc2tzQ291bnQ6IHRyYW5zbGF0ZSgnVGFza3MnKSxcblxuICAgIGNyZWF0ZVRpdGxlOiB0cmFuc2xhdGUoJ0FkZCBuZXcgcHJvamVjdCcpLFxuICAgIHZpZXdUaXRsZTogdHJhbnNsYXRlKCdQcm9qZWN0ICN7e2lkfX0nKSxcbiAgICB1cGRhdGVUaXRsZTogdHJhbnNsYXRlKCdVcGRhdGUgcHJvamVjdCAje3tpZH19JyksXG4gICAgZGVsZXRlVGl0bGU6IHRyYW5zbGF0ZSgnRGVsZXRlIHByb2plY3QgI3t7aWR9fScpLFxuICAgIGRlbGV0ZU1lc3NhZ2U6IHRyYW5zbGF0ZSgnRG8geW91IHJlYWxseSB3YW50IHRvIGRlbGV0ZSBwcm9qZWN0PycpXG4gIH07XG5cbiAgaWQ6IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICBjb21wbGV0ZWRUYXNrc0NvdW50OiBudW1iZXIgPSB1bmRlZmluZWQ7XG5cbiAgdGFza3NDb3VudDogbnVtYmVyID0gdW5kZWZpbmVkO1xuXG4gIEBJc05vdEVtcHR5KClcbiAgdGl0bGU6IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICBkZXNjcmlwdGlvbjogc3RyaW5nID0gdW5kZWZpbmVkO1xuXG4gIGlzUHVibGljOiBib29sZWFuID0gdW5kZWZpbmVkO1xuXG4gIEBUcmFuc2Zvcm0odHJhbnNmb3JtU3RyaW5nVG9EYXRlLCB7IHRvQ2xhc3NPbmx5OiB0cnVlIH0pXG4gIEBUcmFuc2Zvcm0odHJhbnNmb3JtRGF0ZVRvU3RyaW5nLCB7IHRvUGxhaW5Pbmx5OiB0cnVlIH0pXG4gIGNyZWF0ZWRBdDogRGF0ZSB8IHN0cmluZyA9IHVuZGVmaW5lZDtcblxuICBAVHJhbnNmb3JtKHRyYW5zZm9ybVN0cmluZ1RvRGF0ZSwgeyB0b0NsYXNzT25seTogdHJ1ZSB9KVxuICBAVHJhbnNmb3JtKHRyYW5zZm9ybURhdGVUb1N0cmluZywgeyB0b1BsYWluT25seTogdHJ1ZSB9KVxuICB1cGRhdGVkQXQ6IERhdGUgfCBzdHJpbmcgPSB1bmRlZmluZWQ7XG5cbiAgQElzT3B0aW9uYWwoKVxuICBAVHlwZShzZXJpYWxpemVNb2RlbChTdGF0dXMpKVxuICBzdGF0dXNlczogU3RhdHVzW10gPSBbXTtcblxuICBASXNPcHRpb25hbCgpXG4gIEBUeXBlKHNlcmlhbGl6ZU1vZGVsKFVzZXIpKVxuICB1c2VyczogVXNlcltdID0gW107XG5cbiAgQFR5cGUoc2VyaWFsaXplTW9kZWwoVXNlcikpXG4gIEBUcmFuc2Zvcm0odHJhbnNmb3JtU3RyaW5nVG9PYmplY3QsIHsgdG9QbGFpbk9ubHk6IHRydWUgfSlcbiAgY3JlYXRlZFVzZXI6IFVzZXIgPSB1bmRlZmluZWQ7XG5cbiAgQFR5cGUoc2VyaWFsaXplTW9kZWwoVXNlcikpXG4gIEBUcmFuc2Zvcm0odHJhbnNmb3JtU3RyaW5nVG9PYmplY3QsIHsgdG9QbGFpbk9ubHk6IHRydWUgfSlcbiAgdXBkYXRlZFVzZXI6IFVzZXIgPSB1bmRlZmluZWQ7XG5cbiAgZ2V0IGlzUHVibGljQXNTdHJpbmcoKSB7XG4gICAgaWYgKHRoaXMuaXNQdWJsaWMpIHtcbiAgICAgIHJldHVybiB0cmFuc2xhdGUoJ1llcycpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJhbnNsYXRlKCdObycpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB1c2Vyc0FzU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnVzZXJzLmpvaW4oJywgJyk7XG4gIH1cblxuICBnZXQgc3RhdHVzZXNBc1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXNlcy5qb2luKCcsICcpO1xuICB9XG5cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMudGl0bGU7XG4gIH1cbn1cbiJdfQ==