package com.telephoners.krakyournet.ctf.core;

import com.telephoners.krakyournet.ctf.beans.Team;
import com.telephoners.krakyournet.ctf.beans.User;
import com.telephoners.krakyournet.ctf.beans.tasks.TextTask;
import com.telephoners.krakyournet.ctf.beans.tasks.WebTask;
import io.dropwizard.Configuration;

import javax.validation.constraints.NotNull;
import java.util.List;

public class ApplicationConfiguration extends Configuration
{
    @NotNull
    private String dbHost;

    @NotNull
    private int dbPort;

    @NotNull
    private String dbName;

    @NotNull
    private String digestMethod;

    @NotNull
    private List<Team> teams;

    @NotNull
    private List<TextTask> textTasks;

    @NotNull
    private List<WebTask> webTasks;

    @NotNull
    private List<User> admins;

    public List<User> getAdmins()
    {
        return admins;
    }

    public void setAdmins(List<User> admins)
    {
        this.admins = admins;
    }

    public String getDigestMethod()
    {
        return digestMethod;
    }

    public List<Team> getTeams()
    {
        return teams;
    }

    public void setTeams(List<Team> teams)
    {
        this.teams = teams;
    }

    public void setDigestMethodHashMethod(String digestMethod)
    {
        this.digestMethod = digestMethod;
    }

    public String getDbHost()
    {
        return dbHost;
    }

    public void setDbHost(String dbHost)
    {
        this.dbHost = dbHost;
    }

    public int getDbPort()
    {
        return dbPort;
    }

    public void setDbPort(int dbPort)
    {
        this.dbPort = dbPort;
    }

    public String getDbName()
    {
        return dbName;
    }

    public void setDbName(String dbName)
    {
        this.dbName = dbName;
    }

    public List<TextTask> getTextTasks()
    {
        return textTasks;
    }

    public void setTextTasks(List<TextTask> textTasks)
    {
        this.textTasks = textTasks;
    }

    public List<WebTask> getWebTasks()
    {
        return webTasks;
    }

    public void setWebTasks(List<WebTask> webTasks)
    {
        this.webTasks = webTasks;
    }
}
