All files / libs/tenants/assignments/teams/state/src/lib/api-client user-team-assignments.api-client.ts

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

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 331x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 1x  
import { http } from '@amalia/core/http/client';
import { type TeamAssignmentWithTeam, type TeamRole } from '@amalia/tenants/assignments/teams/types';
 
export type GetUserTeamAssignmentsOptions = {
  teamRole?: TeamRole;
  effectiveBetween?: {
    start?: Date | null;
    end?: Date | null;
  };
};
export class UserTeamAssignmentsApiClient {
  public static async getUserTeamAssignments(
    userId: string,
    {
      teamRole,
      effectiveBetween: { start: effectiveBetweenStartDate = null, end: effectiveBetweenEndDate = null } = {},
    }: GetUserTeamAssignmentsOptions = {},
  ) {
    const { data: userTeamAssignments } = await http.get<TeamAssignmentWithTeam[]>(
      `/users/${encodeURIComponent(userId)}/team-assignments`,
      {
        params: {
          teamRole,
          'effectiveBetween.start': effectiveBetweenStartDate,
          'effectiveBetween.end': effectiveBetweenEndDate,
        },
      },
    );
 
    return userTeamAssignments;
  }
}