diff --git a/Dockerfile b/Dockerfile index b9e8ff2..92c3f39 100644 --- a/Dockerfile +++ b/Dockerfile @@ -53,6 +53,7 @@ RUN npm install --omit=dev # Copy compiled artifacts from builder stage COPY --from=builder /app/dist ./dist COPY --from=builder /app/public ./public +COPY --from=builder /app/src ./src # Recreate swagger-ui symlink in production stage RUN rm -f public/swagger-ui && ln -s /app/node_modules/swagger-ui-dist public/swagger-ui diff --git a/src/__tests__/app-routes.test.ts b/src/__tests__/app-routes.test.ts index 98b773f..49c3c0d 100644 --- a/src/__tests__/app-routes.test.ts +++ b/src/__tests__/app-routes.test.ts @@ -101,9 +101,10 @@ describe("App-level routes", () => { spec = res.body; }); - it("includes POST /v1/signup/verify", () => { - expect(spec.paths["/v1/signup/verify"]).toBeDefined(); - expect(spec.paths["/v1/signup/verify"].post).toBeDefined(); + it("includes POST /v1/signup/free (deprecated)", () => { + expect(spec.paths["/v1/signup/free"]).toBeDefined(); + expect(spec.paths["/v1/signup/free"].post).toBeDefined(); + expect(spec.paths["/v1/signup/free"].post.deprecated).toBe(true); }); it("excludes GET /v1/billing/success (browser redirect, not public API)", () => { diff --git a/src/__tests__/openapi-spec.test.ts b/src/__tests__/openapi-spec.test.ts index e8f7d14..ab26289 100644 --- a/src/__tests__/openapi-spec.test.ts +++ b/src/__tests__/openapi-spec.test.ts @@ -12,8 +12,8 @@ describe("OpenAPI spec accuracy", () => { expect(spec.paths).not.toHaveProperty("/v1/billing/success"); }); - it("should mark /v1/signup/verify as deprecated", () => { - expect(spec.paths["/v1/signup/verify"]?.post?.deprecated).toBe(true); + it("should mark /v1/signup/free as deprecated", () => { + expect(spec.paths["/v1/signup/free"]?.post?.deprecated).toBe(true); }); describe("Rate limit headers", () => { diff --git a/src/swagger.ts b/src/swagger.ts index 7d0c163..dc94bba 100644 --- a/src/swagger.ts +++ b/src/swagger.ts @@ -163,7 +163,7 @@ const options: swaggerJsdoc.Options = { }, }, }, - apis: ["./dist/routes/*.js", "./dist/index.js"], + apis: ["./src/routes/*.ts", "./src/index.ts"], }; export const swaggerSpec = swaggerJsdoc(options);