export enum ErrorCode {
  SERVICE_ERROR = 'SERVICE_ERROR',
  SERVICE_CANT_USE = 'SERVICE_CANT_USE',
  ES_ERROR = 'ES_ERROR',
  ES_INDEX_NOT_FOUND = 'ES_INDEX_NOT_FOUND',
  ES_DATA_NOT_FOUND = 'ES_DATA_NOT_FOUND',
  NOT_LOGIN = 'NOT_LOGIN',
  ADMIN_NOT_LOGIN = 'ADMIN_NOT_LOGIN',
  ACCOUNT_HAS_EXPIRED = 'ACCOUNT_HAS_EXPIRED',
  ACCOUNT_LOGGED_IN_ELESWHERE = 'ACCOUNT_LOGGED_IN_ELESWHERE',
  USER_NOT_FOUND = 'USER_NOT_FOUND',
  BAD_PASSWORD = 'BAD_PASSWORD',
  USER_IS_DISABLED = 'USER_IS_DISABLED',
  ROLE_IS_DISABLED = 'ROLE_IS_DISABLED',
  SERVICE_REPEAT = 'SERVICE_REPEAT',
  SERVICE_COPY = 'SERVICE_COPY',
  SERVICE_END = 'SERVICE_END',
  DUPLICATE_USERS_ACCOUNT = 'DUPLICATE_USERS_ACCOUNT',
  DUPLICATE_USERS_OPENID = 'DUPLICATE_USERS_OPENID',
  PHONE_IS_EXISTS = 'PHONE_IS_EXISTS',
  LOGIN_VALICODE_EXPIRES = 'LOGIN_VALICODE_EXPIRES',
  LOGIN_VALICODE_ERROR = 'LOGIN_VALICODE_ERROR',
  PLEASE_INPUT_LOGIN_CODE = 'PLEASE_INPUT_LOGIN_CODE',
  PLEASE_INPUT_LOGIN_PHONE = 'PLEASE_INPUT_LOGIN_PHONE',
  LOGIN_VALICODE_IS_EXISTS = 'LOGIN_VALICODE_IS_EXISTS',
  PWD_NO_TYPE = 'PWD_NO_TYPE',
  PWD_ERROR_TYPE = 'PWD_ERROR_TYPE',
  PWD_NO_PHONE = 'PWD_NO_PHONE',
  PWD_NO_EMAIL = 'PWD_NO_EMAIL',
  PWD_NO_CODE = 'PWD_NO_CODE',
  PWD_VALICODE_EXPIRES = 'PWD_VALICODE_EXPIRES',
  PWD_VALICODE_ERROR = 'PWD_VALICODE_ERROR',
  REG_VALICODE_EXPIRES = 'REG_VALICODE_EXPIRES',
  REG_VALICODE_ERROR = 'REG_VALICODE_ERROR',

  // 参数
  ID_NOT_FOUND = 'ID_NOT_FOUND',
  BODY_ERROR = 'BODY_ERROR',

  //admin
  ADMIN_BODY_NICK_NAME = 'ADMIN_BODY_NICK_NAME',
  ADMIN_BODY_ACCOUNT = 'ADMIN_BODY_ACCOUNT',
  ADMIN_BODY_PASSWORD = 'ADMIN_BODY_PASSWORD',

  // contactApply
  CONTACTAPPLY_TARGET_USER_NOT_FOUND = 'CONTACTAPPLY_TARGET_USER_NOT_FOUND',
  CONTACTAPPLY_HAS_APPLY_NOT_STATUS = 'CONTACTAPPLY_HAS_APPLY_NOT_STATUS',
  CONTACTAPPLY_NO_PERMISSION = 'CONTACTAPPLY_NO_PERMISSION',
  CONTACTAPPLY_NO_KEYWORD = 'CONTACTAPPLY_NO_KEYWORD',
  CONTACTAPPLY_MATCHING_NOT_ENOUGH = 'CONTACTAPPLY_MATCHING_NOT_ENOUGH',
  CONTACTAPPLY_IS_THIS_USER_DATA = 'CONTACTAPPLY_IS_THIS_USER_DATA',
  CONTACTAPPLY_DEPT_NO_ADMIN = 'CONTACTAPPLY_DEPT_NO_ADMIN',
  CONTACTAPPLY_ADMIN_NO_PERMISSION = 'CONTACTAPPLY_ADMIN_NO_PERMISSION',
  SERVICE_APPLY = 'SERVICE_APPLY',

  DATA_NOT_FOUND = 'DATA_NOT_FOUND',

  // export
  NO_EXPORT_SETTING = 'NO_EXPORT_SETTING',
  NO_DATA_IN_EXPORT_QUERY = 'NO_DATA_IN_EXPORT_QUERY',
}
export class ServiceError extends Error {
  constructor(errcode: string) {
    super(errcode);
    this.name = 'ServiceError';
  }
}
