package cokr.xit.ens.modules.common.code;

import java.util.*;

import cokr.xit.ens.core.code.*;
import lombok.*;

@RequiredArgsConstructor
public enum PostSeCd implements CodeMapperType {

	testMblPage("모바일페이지 테스트")
	,intgrnNoti("통합 전자고지")
	,kkoMydoc("카카오페이 내문서함(인증톡)")
	// FIXME: 카카오톡 추가
	,kkoTalk("카카오톡 인증톡")
	,kkoAlimtalk("카카오페이 알림톡")
	,nvSigntalk("네이버 고지서(인증톡)")
	,ktSigntalk("KT 인증톡")
	,ktGibis("KT 인증톡(지비스)")
	;


	@Getter
	private final String codeNm;

	@Override
	public String getCode() {
		return this.name();
	}

	//@JsonCreator
	public static PostSeCd getEnum(String value) {
		return Arrays.stream(values())
			.filter(v -> v.getCode().equalsIgnoreCase(value))
			.findAny()
			.orElseThrow(() -> new IllegalArgumentException("Invalid PostSeCd: " + value));
	}
}
