UNPKG

@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
/** * @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==