@rytass/member-base-nestjs-module
Version:
Rytass Member System NestJS Base Module
39 lines (37 loc) • 3.28 kB
JavaScript
// Typed injection tokens for better type safety (using Symbol with type annotations)
const MEMBER_BASE_MODULE_OPTIONS = Symbol('MEMBER_BASE_MODULE_OPTIONS');
const LOGIN_FAILED_BAN_THRESHOLD = Symbol('LOGIN_FAILED_BAN_THRESHOLD');
const RESET_PASSWORD_TOKEN_EXPIRATION = Symbol('RESET_PASSWORD_TOKEN_EXPIRATION');
const RESET_PASSWORD_TOKEN_SECRET = Symbol('RESET_PASSWORD_TOKEN_SECRET');
const CASBIN_ENFORCER = Symbol('CASBIN_ENFORCER');
const CASBIN_PERMISSION_DECORATOR = Symbol('CASBIN_PERMISSION_DECORATOR');
const CASBIN_PERMISSION_CHECKER = Symbol('CASBIN_PERMISSION_CHECKER');
const ACCESS_TOKEN_SECRET = Symbol('ACCESS_TOKEN_SECRET');
const ACCESS_TOKEN_EXPIRATION = Symbol('ACCESS_TOKEN_EXPIRATION');
const REFRESH_TOKEN_SECRET = Symbol('REFRESH_TOKEN_SECRET');
const REFRESH_TOKEN_EXPIRATION = Symbol('REFRESH_TOKEN_EXPIRATION');
const ENABLE_GLOBAL_GUARD = Symbol('ENABLE_GLOBAL_GUARD');
const ONLY_RESET_REFRESH_TOKEN_EXPIRATION_BY_PASSWORD = Symbol('ONLY_RESET_REFRESH_TOKEN_EXPIRATION_BY_PASSWORD');
const COOKIE_MODE = Symbol('COOKIE_MODE');
const LOGIN_FAILED_AUTO_UNLOCK_SECONDS = Symbol('LOGIN_FAILED_AUTO_UNLOCK_SECONDS');
const ACCESS_TOKEN_COOKIE_NAME = Symbol('ACCESS_TOKEN_COOKIE_NAME');
const REFRESH_TOKEN_COOKIE_NAME = Symbol('REFRESH_TOKEN_COOKIE_NAME');
// Options Entity Providers
const PROVIDE_MEMBER_ENTITY = Symbol('PROVIDE_MEMBER_ENTITY');
// Resolved Entity Repository Providers
const RESOLVED_MEMBER_REPO = Symbol('RESOLVED_MEMBER_REPO');
// Password Policy Providers
const PASSWORD_SHOULD_INCLUDE_UPPERCASE = Symbol('PASSWORD_SHOULD_INCLUDE_UPPERCASE');
const PASSWORD_SHOULD_INCLUDE_LOWERCASE = Symbol('PASSWORD_SHOULD_INCLUDE_LOWERCASE');
const PASSWORD_SHOULD_INCLUDE_DIGIT = Symbol('PASSWORD_SHOULD_INCLUDE_DIGIT');
const PASSWORD_SHOULD_INCLUDE_SPECIAL_CHARACTER = Symbol('PASSWORD_SHOULD_INCLUDE_SPECIAL_CHARACTER');
const PASSWORD_MIN_LENGTH = Symbol('PASSWORD_MIN_LENGTH');
const PASSWORD_POLICY_REGEXP = Symbol('PASSWORD_POLICY_REGEXP');
const PASSWORD_HISTORY_LIMIT = Symbol('PASSWORD_HISTORY_LIMIT');
const PASSWORD_AGE_LIMIT_IN_DAYS = Symbol('PASSWORD_AGE_LIMIT_IN_DAYS');
const FORCE_REJECT_LOGIN_ON_PASSWORD_EXPIRED = Symbol('FORCE_REJECT_LOGIN_ON_PASSWORD_EXPIRED');
const CUSTOMIZED_JWT_PAYLOAD = Symbol('CUSTOMIZED_JWT_PAYLOAD');
// OAuth2 Providers
const OAUTH2_PROVIDERS = Symbol('OAUTH2_PROVIDERS');
const OAUTH2_CLIENT_DEST_URL = Symbol('OAUTH2_CLIENT_DEST_URL');
export { ACCESS_TOKEN_COOKIE_NAME, ACCESS_TOKEN_EXPIRATION, ACCESS_TOKEN_SECRET, CASBIN_ENFORCER, CASBIN_PERMISSION_CHECKER, CASBIN_PERMISSION_DECORATOR, COOKIE_MODE, CUSTOMIZED_JWT_PAYLOAD, ENABLE_GLOBAL_GUARD, FORCE_REJECT_LOGIN_ON_PASSWORD_EXPIRED, LOGIN_FAILED_AUTO_UNLOCK_SECONDS, LOGIN_FAILED_BAN_THRESHOLD, MEMBER_BASE_MODULE_OPTIONS, OAUTH2_CLIENT_DEST_URL, OAUTH2_PROVIDERS, ONLY_RESET_REFRESH_TOKEN_EXPIRATION_BY_PASSWORD, PASSWORD_AGE_LIMIT_IN_DAYS, PASSWORD_HISTORY_LIMIT, PASSWORD_MIN_LENGTH, PASSWORD_POLICY_REGEXP, PASSWORD_SHOULD_INCLUDE_DIGIT, PASSWORD_SHOULD_INCLUDE_LOWERCASE, PASSWORD_SHOULD_INCLUDE_SPECIAL_CHARACTER, PASSWORD_SHOULD_INCLUDE_UPPERCASE, PROVIDE_MEMBER_ENTITY, REFRESH_TOKEN_COOKIE_NAME, REFRESH_TOKEN_EXPIRATION, REFRESH_TOKEN_SECRET, RESET_PASSWORD_TOKEN_EXPIRATION, RESET_PASSWORD_TOKEN_SECRET, RESOLVED_MEMBER_REPO };