/**
 * 管理ロール
 * @const {string[]}
 */
export const ADMIN_ROLES = {
  ADMIN: "admin",
  STANDARD: "standard",
} as const;

/**
 * ロール
 * @const {string[]}
 */
export const USER_ROLES = {
  NONE: "none",
  AUTHOR: "author",
  TYPIST: "typist",
} as const;

/**
 * 階層
 * @const {string[]}
 */
export const TIERS = {
  TIER1: "1",
  TIER2: "2",
  TIER3: "3",
  TIER4: "4",
  TIER5: "5",
} as const;

/**
 * 401エラー時にログアウトさせずに処理を継続するエラーコード
 * @const {string[]}
 */
export const UNAUTHORIZED_TO_CONTINUE_ERROR_CODES = [
  "E010209",
  "E010503",
  "E010501",
];

/**
 * ローカルストレージに残すキー類
 * @const {string[]}
 */
export const KEYS_TO_PRESERVE = [
  "accessToken",
  "refreshToken",
  "displayInfo",
  "sortCriteria",
];

/**
 * アクセストークンを更新する基準の秒数
 * @const {number}
 */
export const TOKEN_UPDATE_TIME = 5 * 60;

/**
 * アクセストークンの更新チェックを行う間隔（ミリ秒）
 * @const {number}
 */
export const TOKEN_UPDATE_INTERVAL_MS = 3 * 60 * 1000;
