package com.pingcap.community.blogserver.enums;

import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

public enum PostAction {
  CREATE,
  SAVE,
  SUBMIT,
  SUBMIT_CANCEL,
  REJECT,
  RECOMMEND,
  RECOMMEND_CANCEL,
  PUBLISH,
  PUBLISH_CANCEL,
  DELETE,
  ;

  private static final String NAME_PREFIX = "PostAction:";
  private static final Map<String, PostAction> postActionMap = new HashMap<>();

  static {
    for (PostAction pa : PostAction.values()) {
      postActionMap.put(NAME_PREFIX + pa.name(), pa);
    }
  }

  public static boolean contains(String name) {
    return postActionMap.containsKey(name);
  }

  public static PostAction of(String name) {
    return Objects.requireNonNull(postActionMap.get(name));
  }
}
