19 lines
850 B
JavaScript
19 lines
850 B
JavaScript
import { getMemberBootstrapState } from '../../repositories/member-repository'
|
|
import { isResendConfigured } from '../../utils/resend-mail'
|
|
import { getRuntimeEnvValue } from '../../utils/runtime-env'
|
|
|
|
/**
|
|
* 최초 관리자 등록 필요 여부·이메일 OTP(Resend) 사용 가능 여부를 조회한다.
|
|
* @returns {Promise<{ hasUsers: boolean, needsAdminSetup: boolean, emailOtpConfigured: boolean }>} 부트스트랩 상태
|
|
*/
|
|
export default defineEventHandler(async () => {
|
|
const base = await getMemberBootstrapState()
|
|
const config = useRuntimeConfig()
|
|
const hasPepper = Boolean(getRuntimeEnvValue('EMAIL_OTP_PEPPER', 'emailOtpPepper', getRuntimeEnvValue('MEMBER_SESSION_SECRET', 'memberSessionSecret')).trim())
|
|
const emailOtpConfigured = isResendConfigured(config) && hasPepper
|
|
return {
|
|
...base,
|
|
emailOtpConfigured
|
|
}
|
|
})
|