All files / libs/assignments/plans/state/src/lib/api-client user-plan-assignments.api-client.ts

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

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 311x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 1x  
import { http } from '@amalia/core/http/client';
import { type PlanAssignmentWithPlanAndMainTeam } from '@amalia/payout-definition/plans/types';
 
export type GetUserPlanAssignmentsOptions = {
  effectiveBetween?: {
    start?: Date | null;
    end?: Date | null;
  };
};
 
export class UserPlanAssignmentsApiClient {
  public static async getUserPlanAssignments(
    userId: string,
    {
      effectiveBetween: { start: effectiveBetweenStartDate = null, end: effectiveBetweenEndDate = null } = {},
    }: GetUserPlanAssignmentsOptions = {},
  ) {
    const { data } = await http.get<PlanAssignmentWithPlanAndMainTeam[]>(
      `/users/${encodeURIComponent(userId)}/plan-assignments`,
      {
        params: {
          'effectiveBetween.start': effectiveBetweenStartDate,
          'effectiveBetween.end': effectiveBetweenEndDate,
        },
      },
    );
 
    return data;
  }
}