All files / libs/assignments/quotas/state/src/lib/api-client user-quota-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 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 1x  
import { type UserQuotaAssignmentsByFrequency } from '@amalia/assignments/quotas/types';
import { http } from '@amalia/core/http/client';
 
export type GetUserQuotaAssignmentsOptions = {
  effectiveBetween?: {
    start?: Date | null;
    end?: Date | null;
  };
};
 
export class UserQuotaAssignmentsApiClient {
  public static async getUserQuotaAssignments(
    userId: string,
    {
      effectiveBetween: { start: effectiveBetweenStartDate = null, end: effectiveBetweenEndDate = null } = {},
    }: GetUserQuotaAssignmentsOptions = {},
  ) {
    const { data: userQuotaAssignments } = await http.get<UserQuotaAssignmentsByFrequency>(
      `/users/${encodeURIComponent(userId)}/quota-assignments`,
      {
        params: {
          'effectiveBetween.start': effectiveBetweenStartDate,
          'effectiveBetween.end': effectiveBetweenEndDate,
        },
      },
    );
 
    return userQuotaAssignments;
  }
}