diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 2b74a68..0000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: Deploy - -on: - push: - branches: [main] - -jobs: - check-changes: - name: Check Changed Files - runs-on: ubuntu-latest - permissions: - contents: read - outputs: - build-affected: ${{ steps.filter.outputs.build-affected }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Filter paths - uses: dorny/paths-filter@v3 - id: filter - with: - filters: | - build-affected: - - "src/**" - - "static/**" - - "package.json" - - "bun.lock" - - "vite.config.*" - - "svelte.config.*" - - "tsconfig.json" - - "wrangler.toml" - - "wrangler.json" - - "drizzle.config.*" - - "eslint.config.*" - - ".prettierrc*" - - deploy: - name: Build & Deploy to Cloudflare Workers - runs-on: ubuntu-latest - needs: check-changes - if: needs.check-changes.outputs.build-affected == 'true' - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Bun - uses: oven-sh/setup-bun@v2 - - - name: Install dependencies - run: bun install - - - name: Build - run: bun run build - - - name: Deploy - run: bun run deploy - env: - CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }} - CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} diff --git a/src/routes/account/mfa/+page.server.ts b/src/routes/account/mfa/+page.server.ts index c8e88d5..6a7ecc8 100644 --- a/src/routes/account/mfa/+page.server.ts +++ b/src/routes/account/mfa/+page.server.ts @@ -107,7 +107,10 @@ export const actions: Actions = { if (!locals.user) throw redirect(303, "/login"); const config = getRuntimeConfig(platform); if (!config.signingKeySecret) { - return fail(503, { setup: true, error: "IDP_SIGNING_KEY_SECRET 이 설정되지 않았습니다." }); + return fail(503, { + setup: true, + error: "IDP_SIGNING_KEY_SECRET 이 설정되지 않았습니다.", + }); } const secret = generateTotpSecret(); @@ -133,18 +136,27 @@ export const actions: Actions = { const config = getRuntimeConfig(platform); if (!config.signingKeySecret) { - return fail(503, { confirm: true, error: "IDP_SIGNING_KEY_SECRET 이 설정되지 않았습니다." }); + return fail(503, { + confirm: true, + error: "IDP_SIGNING_KEY_SECRET 이 설정되지 않았습니다.", + }); } const setupToken = cookies.get(TOTP_SETUP_COOKIE); if (!setupToken) { - return fail(400, { confirm: true, error: "등록 세션이 만료되었습니다. 다시 시작해 주세요." }); + return fail(400, { + confirm: true, + error: "등록 세션이 만료되었습니다. 다시 시작해 주세요.", + }); } const plainSecret = await verifySetupToken(setupToken, config.signingKeySecret); if (!plainSecret) { cookies.delete(TOTP_SETUP_COOKIE, { path: "/" }); - return fail(400, { confirm: true, error: "등록 세션이 만료되었습니다. 다시 시작해 주세요." }); + return fail(400, { + confirm: true, + error: "등록 세션이 만료되었습니다. 다시 시작해 주세요.", + }); } const formData = await event.request.formData(); @@ -156,7 +168,10 @@ export const actions: Actions = { const valid = await verifyTotp(code, plainSecret); if (!valid) { - return fail(400, { confirm: true, error: "코드가 올바르지 않습니다. 다시 확인해 주세요." }); + return fail(400, { + confirm: true, + error: "코드가 올바르지 않습니다. 다시 확인해 주세요.", + }); } const { db, tenant } = requireDbContext(locals); @@ -219,7 +234,10 @@ export const actions: Actions = { const config = getRuntimeConfig(platform); if (!config.signingKeySecret) { - return fail(503, { delete: true, error: "IDP_SIGNING_KEY_SECRET 이 설정되지 않았습니다." }); + return fail(503, { + delete: true, + error: "IDP_SIGNING_KEY_SECRET 이 설정되지 않았습니다.", + }); } const formData = await event.request.formData(); diff --git a/src/routes/account/passkeys/+page.svelte b/src/routes/account/passkeys/+page.svelte index 58fd976..22fca60 100644 --- a/src/routes/account/passkeys/+page.svelte +++ b/src/routes/account/passkeys/+page.svelte @@ -93,7 +93,9 @@ const formError = $derived((form as { error?: string } | null)?.error ?? null); d="M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z" />
{pk.label ?? "패스키"}
++ {pk.label ?? "패스키"} +
등록: {new Date(pk.createdAt).toLocaleDateString("ko-KR")} {#if pk.lastUsedAt} diff --git a/src/routes/admin/+layout.svelte b/src/routes/admin/+layout.svelte index db4d7e3..1ebb750 100644 --- a/src/routes/admin/+layout.svelte +++ b/src/routes/admin/+layout.svelte @@ -37,7 +37,9 @@ const orgMenuItems = [
{data.currentUser.displayName ?? "관리자"}
++ {data.currentUser.displayName ?? "관리자"} +
{data.currentUser.email}
{err}
++ {err} +
{/if}{err}
++ {err} +
{/if}{sp.name}
-{sp.entityId}
++ {sp.entityId} +
{err}
++ {err} +
{/if}{user.username ?? "-"}
++ {user.username ?? "-"} +
{user.email}