All files / blog/adapters/api/v1 blog.mapper.ts

50% Statements 3/6
100% Branches 0/0
25% Functions 1/4
40% Lines 2/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42                    1x                               1x                              
import { CreateBlogReq } from './dto/blog.req';
import {
  Blog,
  BlogPrincipal,
  BlogRecord,
} from '../../../domain/models/blog.model';
import { BlogPrincipalRes, BlogRes } from './dto/blog.res';
import { Injectable } from '@nestjs/common';
 
@Injectable()
class BlogApiV1Mapper {
  fromCreateReq(req: CreateBlogReq): BlogRecord {
    return {
      text: req.text,
      tags: req.tags,
    };
  }
 
  fromUpdateReq(req: CreateBlogReq): BlogRecord {
    return {
      text: req.text,
      tags: req.tags,
    };
  }
 
  toPrincipalRes(domain: BlogPrincipal): BlogPrincipalRes {
    return {
      id: domain.id,
      text: domain.record.text,
      tags: domain.record.tags,
    };
  }
 
  toRes(domain: Blog): BlogRes {
    return {
      principal: this.toPrincipalRes(domain.principal),
    };
  }
}
 
export { BlogApiV1Mapper };