/**
 * Authentication Types
 *
 * User account status, roles, and token configuration.
 */

/**
 * User account status values (shared across auth module)
 */
export enum UserStatus {
	ACTIVE = 'active',
	INACTIVE = 'inactive',
	SUSPENDED = 'suspended',
	PENDING_VERIFICATION = 'pending_verification',
}

/**
 * Built-in user role names (shared across auth module)
 */
export enum UserRoleEnum {
	USER = 'user',
	ADMIN = 'admin',
	SYSTEM_ADMIN = 'system_admin',
}

/**
 * Token lifetime configuration
 */
export const TOKEN_LIFETIME = {
	ACCESS_TOKEN: 900, // 15 minutes in seconds
	REFRESH_TOKEN: 604800, // 7 days in seconds
	ROTATION_ENABLED: true,
} as const;
