import { IsPolicyActiveEnum } from '../../enum/system-sync-policy.enum';
import { EventTypeEnum } from '../../enum/event-type.enum';
import { CustomerSyncPolicyModel } from '../../models/customer-sync-policy.entity';

export class SystemSyncPolicy {
  static async get(
    sourceSystem: string,
    targetSystem: string,
    eventType: EventTypeEnum,
  ): Promise<CustomerSyncPolicyModel | null> {
    const policy = await CustomerSyncPolicyModel.findOne({
      where: {
        SourceSystemCode: sourceSystem,
        TargetSystemCode: targetSystem,
        IsActiveYN: IsPolicyActiveEnum.Y,
      },
    });

    return policy ?? null;
  }
}
