-
Couldn't load subscription status.
- Fork 1
release: v0.2.0 #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughThis pull request performs a comprehensive migration from an OpenAPI-generated SDK to a custom, hand-built TypeScript SDK. The new architecture introduces a centralized Changes
Sequence Diagram(s)sequenceDiagram
participant App as Application
participant PC as PlaneClient
participant Config as Configuration
participant API as API Resource<br/>(e.g., Projects)
participant BR as BaseResource
participant HTTP as HTTP Client<br/>(axios)
App->>PC: new PlaneClient({apiKey, baseUrl})
PC->>Config: new Configuration(config)
Config->>Config: validate()
PC->>API: new Projects(config)
App->>API: create(workspace, projectData)
API->>BR: post('/projects', projectData)
BR->>BR: buildUrl(endpoint)
BR->>BR: getHeaders()
BR->>HTTP: axios.post(url, data, {headers})
HTTP-->>BR: response
BR->>BR: handleError(response)
BR-->>API: parsed response
API-->>App: Promise<Project>
sequenceDiagram
participant User as User
participant OAuth as OAuthClient
participant HTTP as HTTP Client<br/>(axios)
participant API as Plane API
User->>OAuth: new OAuthClient({clientId, clientSecret})
User->>OAuth: exchangeCodeForToken(code)
OAuth->>HTTP: axios.post(token_endpoint, {code, ...})
HTTP->>API: POST /oauth/token
API-->>HTTP: {access_token, refresh_token}
HTTP-->>OAuth: response.data
OAuth-->>User: PlaneOAuthTokenResponse
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Areas requiring extra attention:
Possibly related PRs
Suggested reviewers
Poem
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (107)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
* feat!: add handcrafted SDK v0.2.0 - added models for each entities - added APIs for all available Plane entities - tests to verify e2e api sanity - examples for reference BREAKING CHANGE: must be carefully upgraded from 0.1.x versions as method signatures are changed * chore: adding prettier config * chore: remove ds store * fix: format all files * chore: package imports --------- Co-authored-by: Surya Prashanth <[email protected]>
* move existing tests under unit folder * don't fail unit tests when env is not setup * create helpers folder for test helpers * feat: add e2e test to verify project use case * add jest and tsconfig.jest files * feat: add unit tests using jest for all entities
* chore: eslint config setup * chore: updated the build test workflow * chore: setup pnpm workflow * chore: build errors * chore: updated the push step
* ops: update publishing flow for nw sdk * run only e2e tests in github actions
Summary by CodeRabbit
Release Notes
New Features
PlaneCliententry point for simplified API accessChores
Documentation