All files / libs/tenants/users/core/src/lib/dto user.response-dto.ts

100% Statements 39/39
100% Branches 1/1
100% Functions 1/1
100% Lines 39/39

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 401x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 13x 1x  
import { pick } from 'lodash-es';
 
import { type User } from '@amalia/core/models';
import { toCompanyResponseDto } from '@amalia/tenants/companies/api';
import { type UserContract } from '@amalia/tenants/users/types';
 
/**
 * Format user response.
 * @param user
 * @private
 */
export const toUserResponseDto = (user: User): UserContract => ({
  ...(pick(user, [
    'id',
    'adminScopeId',
    'clearedAt',
    'companyId',
    'createdAt',
    'currency',
    'email',
    'externalId',
    'externalIdSource',
    'firstName',
    'hrisId',
    'hrisIdSource',
    'invitationSentAt',
    'joinedAt',
    'language',
    'lastConnection',
    'lastName',
    'pictureURL',
    'role',
    'scope',
    'settings',
    'status',
    'updatedAt',
  ]) as UserContract),
  company: toCompanyResponseDto(user.company),
});