diff --git a/src/context.ts b/src/context.ts index 85fd481..e0478bc 100644 --- a/src/context.ts +++ b/src/context.ts @@ -1,6 +1,6 @@ import type { Context, RouteSchema } from 'elysia'; -import type { GitHubDecorator } from './decorators/github'; -import type { JwtDecorator } from './decorators/jwt'; +import type { GitHubDecorator } from './decorators/auth/github'; +import type { JwtDecorator } from './decorators/auth/jwt'; export type ApiContext = Context & { github: GitHubDecorator; diff --git a/src/decorators/github.ts b/src/decorators/auth/github.ts similarity index 94% rename from src/decorators/github.ts rename to src/decorators/auth/github.ts index 4f6126b..a398281 100644 --- a/src/decorators/github.ts +++ b/src/decorators/auth/github.ts @@ -1,6 +1,6 @@ import { z } from 'zod'; -import { GitHubApiError } from '../errors'; -import { assertNonNullish } from '../utils/assert'; +import { GitHubApiError } from '../../errors'; +import { assertNonNullish } from '../../utils/assert'; const GitHubUserSchema = z.object({ id: z.number(), diff --git a/src/decorators/jwt.ts b/src/decorators/auth/jwt.ts similarity index 97% rename from src/decorators/jwt.ts rename to src/decorators/auth/jwt.ts index c1149b2..f47d41d 100644 --- a/src/decorators/jwt.ts +++ b/src/decorators/auth/jwt.ts @@ -7,7 +7,7 @@ import { jwtVerify, SignJWT } from 'jose'; -import { assertNonNullish } from '../utils/assert'; +import { assertNonNullish } from '../../utils/assert'; const PRIVATE_KEY_PEM_PATH = process.env.JWT_PRIVATE_KEY_PATH; const PUBLIC_KEY_PEM_PATH = process.env.JWT_PUBLIC_KEY_PATH; diff --git a/src/server.ts b/src/server.ts index 2506c9c..0454ed6 100644 --- a/src/server.ts +++ b/src/server.ts @@ -2,8 +2,8 @@ import { cors } from '@elysiajs/cors'; import { openapi } from '@elysiajs/openapi'; import { Elysia } from 'elysia'; import packageJson from '../package.json'; -import { GitHubDecorator } from './decorators/github'; -import { JwtDecorator } from './decorators/jwt'; +import { GitHubDecorator } from './decorators/auth/github'; +import { JwtDecorator } from './decorators/auth/jwt'; import { GitHubApiError, GitHubAuthUnauthorizedError, NullishError } from './errors'; import { GitHubAuthFinalizeSchema, diff --git a/test/decorators/github.test.ts b/test/decorators/auth/github.test.ts similarity index 97% rename from test/decorators/github.test.ts rename to test/decorators/auth/github.test.ts index 66e4bee..14add03 100644 --- a/test/decorators/github.test.ts +++ b/test/decorators/auth/github.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeEach, describe, expect, it, mock, spyOn } from 'bun:test'; -import { GitHubDecorator } from '../../src/decorators/github'; -import { GitHubApiError } from '../../src/errors'; +import { GitHubDecorator } from '../../../src/decorators/auth/github'; +import { GitHubApiError } from '../../../src/errors'; describe('decorators > github', () => { let github: GitHubDecorator; diff --git a/test/decorators/jwt.test.ts b/test/decorators/auth/jwt.test.ts similarity index 98% rename from test/decorators/jwt.test.ts rename to test/decorators/auth/jwt.test.ts index c0e6455..0899d6a 100644 --- a/test/decorators/jwt.test.ts +++ b/test/decorators/auth/jwt.test.ts @@ -1,5 +1,5 @@ import { beforeAll, describe, expect, it } from 'bun:test'; -import { JwtDecorator } from '../../src/decorators/jwt'; +import { JwtDecorator } from '../../../src/decorators/auth/jwt'; describe('decorators > jwt', () => { let jwt: JwtDecorator; diff --git a/test/handlers/auth/github.ts b/test/handlers/auth/github.ts index 6df6ca2..95c39ae 100644 --- a/test/handlers/auth/github.ts +++ b/test/handlers/auth/github.ts @@ -1,6 +1,6 @@ import { afterEach, describe, expect, it, mock } from 'bun:test'; import type { ApiContext } from '../../../src/context'; -import { JwtDecorator } from '../../../src/decorators/jwt'; +import { JwtDecorator } from '../../../src/decorators/auth/jwt'; import { githubAuthInit } from '../../../src/handlers/auth/github'; describe('handlers > auth > github', () => { diff --git a/test/handlers/auth/jwks.ts b/test/handlers/auth/jwks.ts index 7769b29..3210b5a 100644 --- a/test/handlers/auth/jwks.ts +++ b/test/handlers/auth/jwks.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'bun:test'; import type { ApiContext } from '../../../src/context'; -import { JwtDecorator } from '../../../src/decorators/jwt'; +import { JwtDecorator } from '../../../src/decorators/auth/jwt'; import { authJwks } from '../../../src/handlers/auth/jwks'; describe('handlers > auth > jwks', () => { diff --git a/test/server.test.ts b/test/server.test.ts index 98be692..9006060 100644 --- a/test/server.test.ts +++ b/test/server.test.ts @@ -33,7 +33,7 @@ describe('server', () => { expect(data.state).toBeString(); // Verify the state JWT is valid - const { JwtDecorator } = await import('../src/decorators/jwt'); + const { JwtDecorator } = await import('../src/decorators/auth/jwt'); const jwt = new JwtDecorator(); const verified = await jwt.verify(data.state); expect(verified.valid).toBe(true); @@ -82,7 +82,7 @@ describe('server', () => { }) as typeof fetch); // Create valid state token - const { JwtDecorator } = await import('../src/decorators/jwt'); + const { JwtDecorator } = await import('../src/decorators/auth/jwt'); const jwt = new JwtDecorator(); const stateToken = await jwt.signOAuthJwt({ payload: { @@ -144,7 +144,7 @@ describe('server', () => { }); it('should return 401 on state mismatch', async () => { - const { JwtDecorator } = await import('../src/decorators/jwt'); + const { JwtDecorator } = await import('../src/decorators/auth/jwt'); const jwt = new JwtDecorator(); const stateToken = await jwt.signOAuthJwt({ payload: { provider: 'github', token: 'a'.repeat(64), nonce: 'nonce' }