package cz.moneta.test.dsl.util.task;

import cz.moneta.test.dsl.Harness;
import cz.moneta.test.dsl.elastic.tasks.ElasticApiTasks;
import cz.moneta.test.dsl.exevido.tasks.ExevidoTasks;
import cz.moneta.test.dsl.fortelight.tasks.ForteLightTasks;
import cz.moneta.test.dsl.hypos.tasks.HyposTasks;
import cz.moneta.test.dsl.newib.investments.InvestmentsTasks;
import cz.moneta.test.dsl.newib.tasks.NewIbTasks;
import cz.moneta.test.dsl.payment_engine.tasks.PaymentEngineTasks;
import cz.moneta.test.dsl.salesforce.tasks.SalesForceTasks;
import cz.moneta.test.dsl.salesforceapi.tasks.SalesForceApiTasks;
import cz.moneta.test.dsl.util.task.auto.AutoTasks;
import cz.moneta.test.dsl.util.task.brokerportal.BrokerPortalTasks;
import cz.moneta.test.dsl.util.task.cagw.CaGwTasks;
import cz.moneta.test.dsl.util.task.cebia.CebiaTasks;
import cz.moneta.test.dsl.util.task.common.CommonTasks;
import cz.moneta.test.dsl.util.task.cvm.CvmTasks;
import cz.moneta.test.dsl.util.task.dataprepare.DataPrepareTasks;
import cz.moneta.test.dsl.util.task.dmbsib.DmbsibTasks;
import cz.moneta.test.dsl.util.task.firstvision.FirstVisionTasks;
import cz.moneta.test.dsl.util.task.ib.IbTasks;
import cz.moneta.test.dsl.util.task.ihub.IHubTasks;
import cz.moneta.test.dsl.util.task.insurance.InsuranceTasks;
import cz.moneta.test.dsl.util.task.kasanova.KSNTasks;
import cz.moneta.test.dsl.util.task.monetaportal.MonetaPortalTasks;
import cz.moneta.test.dsl.util.task.mvcr.MvcrTasks;
import cz.moneta.test.dsl.util.task.nasdb.NasDbTasks;
import cz.moneta.test.dsl.util.task.oauth2.Oauth2Tasks;
import cz.moneta.test.dsl.util.task.ods.OdsTasks;
import cz.moneta.test.dsl.util.task.retail.RetailTasks;
import cz.moneta.test.dsl.util.task.sb.SbTasks;
import cz.moneta.test.dsl.util.task.szrmocktasks.SzrMockTasks;
import cz.moneta.test.dsl.util.task.udebs.UdebsTasks;
import cz.moneta.test.dsl.util.task.ufo.UfoTasks;
import cz.moneta.test.dsl.util.task.wso2.Wso2Tasks;
import cz.moneta.test.dsl.util.task.xyzmo.XyzmoTasks;
import cz.moneta.test.dsl.wiremock.tasks.WiremockTasks;

public class Tasks {

    private final Harness harness;

    public Tasks(Harness harness) {
        this.harness = harness;
    }

    public DmbsibTasks dmbsib() {
        return new DmbsibTasks(harness);
    }

    @Deprecated
    public IbTasks ib() {
        return new IbTasks(harness);
    }

    public NewIbTasks newIb() {
        return new NewIbTasks(harness);
    }

    public RetailTasks retail() {
        return new RetailTasks(harness);
    }

    public Oauth2Tasks oauth2() {
        return new Oauth2Tasks(harness);
    }

    public UfoTasks ufo() {
        return new UfoTasks(harness);
    }

    public CaGwTasks caGw() {
        return new CaGwTasks(harness);
    }

    public SbTasks sb() {
        return new SbTasks(harness);
    }

    public UdebsTasks udebs() {
        return new UdebsTasks(harness);
    }

    public KSNTasks kasanova() {
        return new KSNTasks(harness);
    }

    public MvcrTasks mvcr() {
        return new MvcrTasks(harness);
    }

    public CommonTasks common() {
        return new CommonTasks(harness);
    }

    @Deprecated
    public CebiaTasks cebia() {
        return new CebiaTasks(harness);
    }

    public AutoTasks auto() {
        return new AutoTasks(harness);
    }

    public XyzmoTasks xyzmo() {
        return new XyzmoTasks(harness);
    }

    public NasDbTasks nasDb() {
        return new NasDbTasks(harness);
    }

    @Deprecated
    public IHubTasks iHub() {
        return new IHubTasks(harness);
    }

    public OdsTasks ods() {
        return new OdsTasks(harness);
    }

    public Wso2Tasks wso2() {
        return new Wso2Tasks(harness);
    }

    public FirstVisionTasks firstVision() {
        return new FirstVisionTasks(harness);
    }

    public HyposTasks hypos() {
        return new HyposTasks(harness);
    }

    public BrokerPortalTasks brokerPortal() {
        return new BrokerPortalTasks(harness);
    }

    public PaymentEngineTasks paymentEngineTasks() {
        return new PaymentEngineTasks(harness);
    }

    public InsuranceTasks insuranceTasks() {
        return new InsuranceTasks(harness);
    }

    public CvmTasks cvm() {
        return new CvmTasks(harness);
    }

    public DataPrepareTasks dataPrepareTasks() {
        return new DataPrepareTasks(harness);
    }

    public SalesForceTasks salesForce() {
        return new SalesForceTasks(harness);
    }

    public SalesForceApiTasks salesForceApiTasks() {
        return new SalesForceApiTasks(harness);
    }

    public ElasticApiTasks elasticApiTasks() {
        return new ElasticApiTasks(harness);
    }

    public ForteLightTasks forteTasks() {
        return new ForteLightTasks(harness);
    }

    public MonetaPortalTasks monetaPortal() {
        return new MonetaPortalTasks(harness);
    }

    public SzrMockTasks szrMock() {
        return new SzrMockTasks(harness);
    }

    public InvestmentsTasks investmentsTasks() {
        return new InvestmentsTasks(harness);
    }

    public WiremockTasks wiremockTasks() {
        return new WiremockTasks(harness);
    }

    public ExevidoTasks exevidoTasks() {
        return new ExevidoTasks(harness);
    }
}