Skip to content

Integrate OpenAPI documentation parsing functionality#4

Merged
nonhana merged 5 commits intomainfrom
dev
Jan 29, 2026
Merged

Integrate OpenAPI documentation parsing functionality#4
nonhana merged 5 commits intomainfrom
dev

Conversation

@nonhana
Copy link
Owner

@nonhana nonhana commented Jan 29, 2026

This allows the project to manually import and parse the OpenAPI documentation, ultimately storing it in the database.

@nonhana nonhana self-assigned this Jan 29, 2026
Copilot AI review requested due to automatic review settings January 29, 2026 08:47
@netlify
Copy link

netlify bot commented Jan 29, 2026

Deploy Preview for apiplayer ready!

Name Link
🔨 Latest commit 6664f82
🔍 Latest deploy log https://app.netlify.com/projects/apiplayer/deploys/697b571cb79cdd00087a228e
😎 Deploy Preview https://deploy-preview-4--apiplayer.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request integrates OpenAPI document parsing and importing functionality, allowing users to import API definitions from OpenAPI 3.0/3.1 documents via file upload, URL, or direct paste. The implementation includes a complete workflow from document parsing and preview to execution with conflict resolution strategies.

Changes:

  • Added OpenAPI parsing service with support for JSON and YAML formats, including schema conversion, parameter extraction, and conflict detection
  • Implemented three-step import dialog (upload, preview with configuration, and result display) in the frontend
  • Refactored cookie configuration to use environment variables instead of hardcoded constants, improving configurability

Reviewed changes

Copilot reviewed 31 out of 32 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
pnpm-workspace.yaml, pnpm-lock.yaml Added dependencies for OpenAPI parsing (openapi-types, js-yaml, @types/js-yaml) and UI (tailwind-scrollbar-hide); moved nanoid to public catalog
packages/shared/src/errors.ts Added OpenAPI-related error codes (51001-51004) for parse, format, fetch, and import failures
package.json Added nanoid dependency to root workspace
apps/frontend/src/types/import.ts Defined TypeScript interfaces for import workflow (strategies, previews, results, steps)
apps/frontend/src/components/workbench/dialogs/import/*.vue Created three import dialog components for upload, preview, and result display
apps/frontend/src/api/import.ts Added frontend API client methods for parsing and executing OpenAPI imports
apps/frontend/src/components/ui/scroll-area/*.vue Enhanced ScrollArea components with configurable bar width and orientation
apps/frontend/src/style/global.css Added tailwind-scrollbar-hide CSS import
apps/backend/src/api/import.service.ts Implemented comprehensive OpenAPI parsing service with schema conversion, conflict detection, and import execution (1549 lines)
apps/backend/src/api/import.controller.ts Added REST endpoints for parsing and executing OpenAPI imports with proper authentication
apps/backend/src/api/dto/import/*.ts Defined DTOs for import requests/responses and conflict strategies
apps/backend/src/api/api.module.ts Registered ImportService and ImportController with HttpModule dependency
apps/backend/src/cookie/cookie.service.ts Refactored to use configurable cookie max age from environment variables
apps/backend/src/auth/auth.service.ts Updated to use environment-based cookie configuration
apps/backend/.env.example Added COOKIE_MAX_AGE and COOKIE_REMEMBER_ME_MAX_AGE configuration examples
apps/backend/package.json Added type checking to build script and new dependencies
apps/backend/tsdown.config.ts Added nanoid to inlineOnly array for proper bundling
apps/frontend/src/views/workbench/ApiDetailView.vue Minor UI adjustment for tab scroll area
apps/frontend/src/components/workbench/api-tree/*.vue Added "Import OpenAPI" button to API tree toolbar
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

@nonhana nonhana merged commit 30f50a1 into main Jan 29, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants