/* eslint-disable @typescript-eslint/naming-convention */
/** 统一错误码定义 */
export const ERROR = {
  INVALID_PARAM: {
    code: 'INVALID_PARAM',
    message: 'invalid param',
  },
  SYS_ERR: {
    code: 'SYS_ERR',
    message: 'system error',
  },
  STORAGE_REQUEST_FAIL: {
    code: 'STORAGE_REQUEST_FAIL',
    message: 'storage request fail',
  },
  STORAGE_FILE_NONEXIST: {
    code: 'STORAGE_FILE_NONEXIST',
    message: 'storage file not exist',
  },
  TCB_CLS_UNOPEN: {
    code: 'TCB_CLS_UNOPEN',
    message: '需要先开通日志检索功能',
  },
  INVALID_CONTEXT: {
    code: 'INVALID_CONTEXT',
    message: '无效的context对象，请使用 云函数入口的context参数',
  },
}

/** 管理端 API 路径，用于替换 /web 路径（需要密钥签名时） */
export const ADMIN_PATH = '/admin'

/** 管理端获取客户端凭证 access_token，为管理员权限 */
export const CLIENT_AUTH_PATH = '/auth/v1/token/clientCredential'

/** 自定义用户 ID 校验规则：4~32 位，允许字母、数字及部分特殊字符 */
export const checkCustomUserIdRegex = /^[a-zA-Z0-9_\-#@~=*(){}[\]:.,<>+]{4,32}$/

export enum SECRET_TYPE {
  'SECRET' = 'SECRET',
  'SESSION_SECRET' = 'SESSION_SECRET',
}
