All files / libs/payout-calculation/payments/core/src/lib/handlers payments.tasks.ts

0% Statements 0/30
0% Branches 0/1
0% Functions 0/1
0% Lines 0/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 31                                                             
import { type INestApplicationContext } from '@nestjs/common';

import { MessageTasks, type QueueMessageAttributes, type QueueMessageContent } from '@amalia/kernel/queue/core';
import { type UserCurrencyChangedEvent } from '@amalia/tenants/users/profile/events';

import { PaymentsModule } from '../payments.module';
import { PaymentsService } from '../payments.service';

export const executePaymentsTasks = async (
  app: INestApplicationContext,
  attributes: QueueMessageAttributes<MessageTasks>,
  messageContent: QueueMessageContent,
) => {
  switch (attributes.taskIdentifier) {
    case MessageTasks.CHANGE_CURRENCY_FOR_UNRELEASED_PAYMENTS_FOR_USER: {
      await app
        .select(PaymentsModule)
        .get(PaymentsService)
        .changeUserPaymentsCurrency(messageContent!['changeCurrencyEvent'] as UserCurrencyChangedEvent);
      break;
    }

    default:
      // Will not handle any task.
      return false;
  }

  // Task have been handled.
  return true;
};