package com.ai.da.model.enums;

import com.fasterxml.jackson.annotation.JsonValue;

public enum Module implements IEnumDisplay {
    moodBoard("MoodBoard"),
    printBoard("PrintBoard"),
    colorBoard("ColorBoard"),
    sketchBoard("SketchBoard"),
    mannequin("Mannequin"),
    design("Design"),
    toProduct("To Product"),
    relight("Relight"),
    poseTransfer("Pose Transfer"),
    canvas("Canvas"),
    patternMaking3D("3D Pattern Making"),
    deReconstruction("De/Reconstruction"),
    uploadElement("UploadElement"),
    ;

    private final String value;

    Module(String value) {
        this.value = value;
    }

    @Override
    @JsonValue
    public String getValue() {
        return this.value;
    }

    public static Module getName(String value) {
        for (Module module : values()) {
            if (module.value.equalsIgnoreCase(value)) {
                return module;
            }
        }
        throw new IllegalArgumentException("No matching constant for [" + value + "]");
    }
}
