package com.example.quiz.data.model.dtos;

public class NotifPayload<T> {
    private NotifType type;
    private String entity;
    private Long entityId;
    private T payload;

    public NotifPayload() {
    }

    public NotifType getType() {
        return type;
    }

    public void setType(NotifType type) {
        this.type = type;
    }

    public String getEntity() {
        return entity;
    }

    public void setEntity(String entity) {
        this.entity = entity;
    }

    public Long getEntityId() {
        return entityId;
    }

    public void setEntityId(Long entityId) {
        this.entityId = entityId;
    }

    public T getPayload() {
        return payload;
    }

    public void setPayload(T payload) {
        this.payload = payload;
    }

    public enum NotifType {
        COURSE_CREATED,
        COURSE_UPDATED,
        COURSE_CANCELLED,
        COURSE_REPORTED,
        COURSE_CLOSED_FOR_BETTING,
        RUNNER_DECLARED_NON_PARTANT
    }
}
