All files / libs/kernel/auth/shared/src/abilities/user-profiles subjects.ts

100% Statements 12/12
100% Branches 1/1
50% Functions 1/2
100% Lines 12/12

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 131x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import { subject } from '@casl/ability';
 
import { type UnixTimestampInSeconds } from '@amalia/ext/dates';
import { type UserProfile } from '@amalia/tenants/users/profile/types';
 
import { SubjectsEnum } from '../../types';
 
export type UserProfileSubject = Pick<UserProfile, 'id'> & { date?: Date | UnixTimestampInSeconds };
export const userProfileSubject = (user?: UserProfileSubject) => subject(SubjectsEnum.UserProfile, { ...user });
 
export type InviteProfileSubject = Pick<UserProfile, 'email' | 'status'>;
export const inviteProfileSubject = (user: InviteProfileSubject) => subject(SubjectsEnum.UserProfile, { ...user });