import { inject, injectable } from "inversify"; import BlogCategory, { IBlogCategory, IBlogCategoryResource, blogCategoryType } from "../blogCategory"; import { IResourceMapper, IJsonApiResponse, IJsonApiResource } from "../../interfaces"; import * as TYPES from "../../types"; import Mapper from "../../mapper"; @injectable() export class BlogCategoryMapper extends Mapper { @inject(TYPES.User) model: IBlogCategory; toModel(resource: IBlogCategoryResource, included: IJsonApiResource[] = []): IBlogCategory { const model = new BlogCategory(); model.id = resource.id; model.text = resource.attributes.text; model.slug = resource.attributes.slug; return model; } toResource(model: IBlogCategory): IBlogCategoryResource { const resource = { id: model.id, type: blogCategoryType, attributes: { text: model.text, slug: model.slug, }, }; return resource; } } export default BlogCategoryMapper;