All files / libs/kernel/auth/shared/src/abilities/quotas subjects.ts

100% Statements 29/29
100% Branches 2/2
100% Functions 2/2
100% Lines 29/29

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 301x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import { subject } from '@casl/ability';
 
import { type Quota, type VariableType } from '@amalia/amalia-lang/tokens/types';
import { type UnixTimestampInSeconds } from '@amalia/ext/dates';
 
import { SubjectsEnum } from '../../types';
 
export type ViewQuotaSubject = {
  quotaType: VariableType;
  quotaId?: Quota['id'];
  userId?: string | null;
  teamId?: string | null;
  planId?: string | null;
  date?: Date | UnixTimestampInSeconds | null;
};
 
export const viewQuotaSubject = (payload: ViewQuotaSubject) => subject(SubjectsEnum.Quota, { ...payload });
 
export type AssignValuesQuotaSubject = {
  quotaType: VariableType;
  quotaId?: Quota['id'];
  userId?: string | null;
  teamId?: string | null;
  planId?: string | null;
  date?: Date | UnixTimestampInSeconds | null;
};
 
export const assignValuesQuotaSubject = (payload: AssignValuesQuotaSubject) =>
  subject(SubjectsEnum.Quota, { ...payload });