All files / libs/payout-definition/state/src/lib/rules rule-plan-assignment.api-client.ts

0% Statements 0/32
0% Branches 0/1
0% Functions 0/1
0% Lines 0/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 33                                                                 
import { http } from '@amalia/core/http/client';
import { type RulePlanConfiguration, type UpdateRuleAssignment } from '@amalia/payout-definition/plans/types';

const e = encodeURIComponent;

export class RulePlanAssignmentApiClient {
  public static async getRuleConfigurations(planId: string): Promise<RulePlanConfiguration[]> {
    const { data } = await http.get<RulePlanConfiguration[]>(`/plans-v2/${planId}/rules`);
    return data;
  }

  public static async getRuleConfiguration(planId: string, ruleId: string): Promise<RulePlanConfiguration> {
    const { data } = await http.get<RulePlanConfiguration>(`/plans-v2/${planId}/rules/${ruleId}`);
    return data;
  }

  public static async updateRuleAssignment({
    planId,
    ruleId,
    patch,
  }: {
    planId: string;
    ruleId: string;
    patch: UpdateRuleAssignment;
  }): Promise<RulePlanConfiguration> {
    const { data } = await http.patch<RulePlanConfiguration>(
      `/plans-v2/${e(planId)}/rule-assignments/${e(ruleId)}`,
      patch,
    );
    return data;
  }
}