-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
[Components] real_id - new action components #15662
base: master
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 3 Skipped Deployments
|
WalkthroughThis pull request introduces three new action modules for handling ID checks—creation, deletion, and retrieval. Each module is defined with its own metadata, properties, and methods to perform specific API requests. In addition, the underlying real_id application has been enhanced with new properties and methods to streamline HTTP requests. The package version has been updated and a new dependency added to support these changes. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant ActionModule (Create/Get)
participant RealIDApp
participant API
User->>ActionModule: Provide parameters (e.g., email/phone, etc.)
ActionModule->>RealIDApp: Call post or GET method (/checks endpoint)
RealIDApp->>API: Send HTTP request with payload
API-->>RealIDApp: Return response
RealIDApp-->>ActionModule: Deliver response
ActionModule-->>User: Output summary message
sequenceDiagram
participant User
participant DeleteAction
participant RealIDApp
participant API
User->>DeleteAction: Provide checkId for deletion
DeleteAction->>RealIDApp: Call delete method (/checks/{checkId})
RealIDApp->>API: Send DELETE request
API-->>RealIDApp: Return response
RealIDApp-->>DeleteAction: Deliver response
DeleteAction-->>User: Output deletion summary
Possibly related PRs
Suggested reviewers
Poem
Warning There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure. 🔧 ESLint
components/real_id/actions/create-id-check/create-id-check.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs components/real_id/actions/get-id-check/get-id-check.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs components/real_id/actions/delete-id-check/delete-id-check.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs
✨ Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
23f0225
to
29ebe34
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (6)
components/real_id/real_id.app.mjs (1)
26-35
: Consider making the base URL configurable.The base URL is currently hardcoded. Consider moving it to a constant or configuration to make it easier to update and maintain.
+const BASE_URL = "https://real-id.getverdict.com/api/v1"; + getUrl(path) { - return `https://real-id.getverdict.com/api/v1${path}`; + return `${BASE_URL}${path}`; }components/real_id/actions/create-id-check/create-id-check.mjs (2)
11-16
: Document the reason for eslint-disable.Add a comment explaining why the eslint rules are disabled for the info prop.
- // eslint-disable-next-line pipedream/props-label, pipedream/props-description + // eslint-disable-next-line pipedream/props-label, pipedream/props-description + // Info alert doesn't require label and description as it's not a user input
86-121
: Add validation and enhance the success message.Two suggestions for improvement:
- Add validation to ensure either email or phone is provided
- Include the created check ID in the success message
async run({ $ }) { const { createIdCheck, email, phone, // ... other destructured props } = this; + if (!email && !phone) { + throw new Error("Either email or phone must be provided"); + } const response = await createIdCheck({ // ... request configuration }); - $.export("$summary", "Successfully created ID check."); + $.export("$summary", `Successfully created ID check \`${response.check.id}\`.`); return response; }components/real_id/actions/get-id-check/get-id-check.mjs (2)
25-32
: Use consistent HTTP method approach.For consistency with other modules, consider using a dedicated get method from the app instead of _makeRequest directly.
- retrieveIdCheck({ - checkId, ...args - } = {}) { - return this.app._makeRequest({ - path: `/checks/${checkId}`, - ...args, - }); - }, + retrieveIdCheck({ + checkId, ...args + } = {}) { + return this.app.get({ + path: `/checks/${checkId}`, + ...args, + }); + },
49-49
: Enhance the success message.Include the retrieved check ID in the success message for better context.
- $.export("$summary", "Successfully retrieved ID check."); + $.export("$summary", `Successfully retrieved ID check \`${response.check.id}\`.`);components/real_id/package.json (1)
18-18
: Formatting Check: Maintain Consistency in JSON Structure.A minor formatting update appears at the end of the JSON object. Please verify that the overall JSON structure adheres to our style guidelines.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
components/real_id/actions/create-id-check/create-id-check.mjs
(1 hunks)components/real_id/actions/delete-id-check/delete-id-check.mjs
(1 hunks)components/real_id/actions/get-id-check/get-id-check.mjs
(1 hunks)components/real_id/package.json
(2 hunks)components/real_id/real_id.app.mjs
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: Verify TypeScript components
- GitHub Check: Publish TypeScript components
🔇 Additional comments (10)
components/real_id/real_id.app.mjs (3)
1-24
: LGTM! Well-structured prop definitions.The prop definitions are clear, well-documented, and appropriately marked as optional where needed. The use of descriptive labels and helpful descriptions improves the user experience.
36-44
: LGTM! Well-structured request method.The
_makeRequest
method effectively centralizes request creation with good defaults and flexibility for customization.
45-56
: LGTM! Clean HTTP method implementations.The POST and DELETE methods are implemented cleanly and consistently using the centralized request method.
components/real_id/actions/create-id-check/create-id-check.mjs (1)
17-77
: LGTM! Comprehensive and well-documented props.The props are well-structured with clear labels, descriptions, and appropriate optional flags. The inclusion of e-commerce platform IDs and additional parameters provides good flexibility.
components/real_id/actions/get-id-check/get-id-check.mjs (1)
9-23
: LGTM! Clear and well-documented props.The props are well-structured with clear documentation, especially the explanation about photo URL expiration.
components/real_id/actions/delete-id-check/delete-id-check.mjs (2)
3-17
: LGTM! Well-structured metadata and props.The component is well-documented with appropriate props for the delete operation.
18-40
: LGTM! Clean and consistent implementation.The methods are well-implemented with good error handling and an informative success message.
components/real_id/package.json (3)
3-3
: Version Update: Confirm Backward Compatibility.The package version has been updated to
"0.1.0"
, signifying a new release stage. Please ensure that any breaking changes or new features introduced by this update are thoroughly documented (e.g., in the project changelog) for all users.
12-14
: Publish Configuration: Validate Public Distribution Settings.The
"publishConfig"
block retains"access": "public"
, which is consistent with our distribution strategy. Confirm that public access remains appropriate with the new functionalities added in this release.
15-16
: New Dependency Addition: Verify Compatibility and Impact.A new dependency on
"@pipedream/platform": "^3.0.3"
has been introduced. Ensure that this version constraint aligns with our compatibility requirements and that the dependency is fully supported by the new action modules.
29ebe34
to
26fc535
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
components/real_id/actions/create-id-check/create-id-check.mjs (1)
11-11
: Document ESLint disable comment.Please add a comment explaining why these ESLint rules are disabled.
- // eslint-disable-next-line pipedream/props-label, pipedream/props-description + // Alert props don't require label and description as they are used for displaying messages + // eslint-disable-next-line pipedream/props-label, pipedream/props-description
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yaml
is excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (5)
components/real_id/actions/create-id-check/create-id-check.mjs
(1 hunks)components/real_id/actions/delete-id-check/delete-id-check.mjs
(1 hunks)components/real_id/actions/get-id-check/get-id-check.mjs
(1 hunks)components/real_id/package.json
(2 hunks)components/real_id/real_id.app.mjs
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
- components/real_id/package.json
- components/real_id/actions/get-id-check/get-id-check.mjs
- components/real_id/actions/delete-id-check/delete-id-check.mjs
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Verify TypeScript components
- GitHub Check: pnpm publish
- GitHub Check: Publish TypeScript components
🔇 Additional comments (7)
components/real_id/real_id.app.mjs (4)
1-1
: LGTM!Using the platform's axios instance is a good practice.
6-24
: LGTM!The property definitions are well-structured with appropriate types, labels, and descriptions. The optional flags are correctly set for email and phone, allowing them to be used as alternatives.
26-35
: LGTM!The URL and headers construction methods are well-structured and reusable. They correctly handle API versioning and authentication.
36-56
: LGTM!The request methods are well-structured and follow DRY principles. The base
_makeRequest
method is properly reused by HTTP-specific wrapper methods.components/real_id/actions/create-id-check/create-id-check.mjs (3)
6-6
: Documentation link needs to be updated.The documentation link appears to be invalid.
17-28
: LGTM!The email and phone props are correctly defined using the app's propDefinitions, with proper handling of their optional nature while ensuring at least one is provided.
29-77
: LGTM!The optional props are well-defined with appropriate types, labels, and descriptions. The case conversion between prop names and API fields is handled correctly in the run method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Optional minor nitpick: For prop descriptions, it's preferred that we not use a period unless it's a complete sentence.
26fc535
to
f99fccd
Compare
f99fccd
to
e2da690
Compare
WHY
Resolves #15622
Summary by CodeRabbit
New Features
Chores