VerificationCodePurpose.java

package org.darkroomlibrary.domain.type;

import java.util.Arrays;
import java.util.Optional;

public enum VerificationCodePurpose {

    REGISTER,
    RESET_PASSWORD,
    CHANGE_EMAIL;

    public static Optional<VerificationCodePurpose> from(String value) {
        if (value == null || value.trim().isEmpty()) {
            return Optional.empty();
        }
        String normalized = value.trim().toUpperCase();
        return Arrays.stream(values())
                .filter(purpose -> purpose.name().equals(normalized))
                .findFirst();
    }
}