Skip to content

Conversation

@luancazarine
Copy link
Collaborator

@luancazarine luancazarine commented Mar 14, 2025

Resolves #15214

Summary by CodeRabbit

  • New Features

    • Introduced a new action that enables you to retrieve user availability schedules in real-time for streamlined scheduling management.
  • Chores

    • Updated version numbers across various integration components to ensure enhanced stability and consistent performance.

@luancazarine luancazarine linked an issue Mar 14, 2025 that may be closed by this pull request
@vercel
Copy link

vercel bot commented Mar 14, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

3 Skipped Deployments
Name Status Preview Comments Updated (UTC)
docs-v2 ⬜️ Ignored (Inspect) Visit Preview Mar 17, 2025 4:01pm
pipedream-docs ⬜️ Ignored (Inspect) Mar 17, 2025 4:01pm
pipedream-docs-redirect-do-not-edit ⬜️ Ignored (Inspect) Mar 17, 2025 4:01pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 14, 2025

Walkthrough

This pull request updates version numbers across multiple Calendly modules, reorders certain import statements, and introduces new functionality. A new asynchronous method for listing user availability schedules has been added to the main app module, along with a new action module that calls this method. Package metadata is updated to reflect the new release version. The changes are limited to version bumps, import reordering, and the addition of a new feature for retrieving user availability schedules.

Changes

File(s) Change Summary
components/calendly_v2/actions/create-invitee-no-show/create-invitee-no-show.mjs, .../create-scheduling-link/create-scheduling-link.mjs, .../get-event/get-event.mjs, .../list-event-invitees/list-event-invitees.mjs, .../list-events/list-events.mjs, .../list-webhook-subscriptions/list-webhook-subscriptions.mjs Reordered import in create-invitee-no-show.mjs; updated version numbers (e.g., 0.0.2→0.0.3, 0.0.4→0.0.5, 0.1.4→0.1.5).
components/calendly_v2/calendly_v2.app.mjs Added new asynchronous method listUserAvailabilitySchedules(uuid, $) to retrieve user availability schedules.
components/calendly_v2/package.json Package version updated from "1.2.1" to "1.3.0".
components/calendly_v2/sources/invitee-canceled/invitee-canceled.mjs, .../invitee-created/invitee-created.mjs, .../new-event-scheduled/new-event-scheduled.mjs, .../routing-form-submission-created/routing-form-submission-created.mjs Updated version numbers (e.g., 0.0.2→0.0.3, 0.0.3→0.0.4, 0.0.6→0.0.7, 0.0.2→0.0.3); reordering of import in new-event-scheduled.mjs.
components/calendly_v2/actions/list-user-availability-schedules/list-user-availability-schedules.mjs New action module added to list user availability schedules, leveraging the updated API method.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Action as ListUserAvailabilitySchedules Action
    participant App as calendly_v2.app
    participant API as Axios/Calendly API

    User->>Action: Trigger availability schedule action
    Action->>App: Call listUserAvailabilitySchedules(uuid, $)
    App->>API: Request /user_availability_schedules with user URI
    API-->>App: Return availability data
    App-->>Action: Pass returned data
    Action-->>User: Deliver availability schedules
Loading

Assessment against linked issues

Objective Addressed Explanation
Implement action to list user availability schedules. (#15214)

Suggested labels

User submitted, ai-assisted

Suggested reviewers

  • michelle0927

Poem

I'm a rabbit with hops so light,
Code updates dancing in the night.
Versions rise and imports align,
New features bloom like springtime vine.
With a twitch of my nose, I cheer the change—
🐰 Hopping to a future bright and strange!

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

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

components/line_messaging_api/line_messaging_api.app.mjs

Oops! Something went wrong! :(

ESLint: 8.57.1

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs
at packageResolve (node:internal/modules/esm/resolve:839:9)
at moduleResolve (node:internal/modules/esm/resolve:908:18)
at defaultResolve (node:internal/modules/esm/resolve:1038:11)
at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:557:12)
at ModuleLoader.resolve (node:internal/modules/esm/loader:525:25)
at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:246:38)
at ModuleJob._link (node:internal/modules/esm/module_job:126:49)

Tip

⚡🧪 Multi-step agentic review comment chat (experimental)
  • We're introducing multi-step agentic chat in review comments. This experimental feature enhances review discussions with the CodeRabbit agentic chat by enabling advanced interactions, including the ability to create pull requests directly from comments.
    - To enable this feature, set early_access to true under in the settings.

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9a3a215 and cbdf073.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • components/line_messaging_api/line_messaging_api.app.mjs (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • components/line_messaging_api/line_messaging_api.app.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

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 7

🔭 Outside diff range comments (1)
components/calendly_v2/sources/new-event-scheduled/new-event-scheduled.mjs (1)

55-57: 🛠️ Refactor suggestion

Ensure proper binding for the emitEvent callback.

Using events.forEach(this.emitEvent); may lose the correct context for this within emitEvent. To maintain the proper binding, consider using an arrow function. For example:

-        events.forEach(this.emitEvent);
+        events.forEach(event => this.emitEvent(event));
🧹 Nitpick comments (13)
components/calendly_v2/calendly_v2.app.mjs (1)

258-271: Fix method name capitalization.

The method name has a capitalization inconsistency - listUSerAvailabilitySchedules should be listUserAvailabilitySchedules (the 'S' in "User" should not be capitalized).

-    async listUSerAvailabilitySchedules(uuid, $) {
+    async listUserAvailabilitySchedules(uuid, $) {
       const user = this._buildUserUri(uuid);
       const opts = {
         path: "/user_availability_schedules",
         params: {
           user,
         },
       };

       return axios(
         $ ?? this,
         this._makeRequestOpts(opts),
       );
     },

This would provide better consistency with other method names in the codebase, which follow camelCase convention.

components/neo4j_auradb/common/constants.mjs (1)

3-16: Fix spelling error in ORDER_TYPE_OPTIONS.

There's a spelling error in one of the options: "Sequencial" should be "Sequential".

  export const ORDER_TYPE_OPTIONS = [
    {
      label: "DateTime",
      value: "datetime",
    },
    {
-     label: "Sequencial (integer)",
+     label: "Sequential (integer)",
      value: "sequencial",
    },
    {
      label: "Other",
      value: "other",
    },
  ];

Additionally, consider updating the value "sequencial" to "sequential" for consistency, but check if this value is used elsewhere in the codebase first.

components/neo4j_auradb/actions/create-relationship/create-relationship.mjs (1)

42-45: Enhance the summary message with node details

The current summary message only mentions the relationship type but doesn't include any details about which nodes were connected. This makes it harder to identify the specific relationship that was created.

Consider enhancing the summary message to include identifiers for the connected nodes:

$.export(
  "$summary",
-  `Created relationship '${this.relationshipType}' between nodes`,
+  `Created relationship '${this.relationshipType}' between nodes with identifiers ${JSON.stringify(Object.keys(this.startNode)[0])}:${JSON.stringify(this.startNode[Object.keys(this.startNode)[0]])} and ${JSON.stringify(Object.keys(this.endNode)[0])}:${JSON.stringify(this.endNode[Object.keys(this.endNode)[0]])}`,
);

Or a simpler version:

$.export(
  "$summary",
-  `Created relationship '${this.relationshipType}' between nodes`,
+  `Created relationship '${this.relationshipType}' between nodes (${JSON.stringify(this.startNode)} → ${JSON.stringify(this.endNode)})`,
);
components/neo4j_auradb/common/utils.mjs (1)

1-24: Add JSDoc documentation to the parseObject utility

This utility function serves an important purpose in normalizing different types of input, but lacks documentation explaining its intended use and behavior.

Consider adding JSDoc documentation:

+/**
+ * Parses various input types into their object representation.
+ * - Returns undefined for null/undefined inputs
+ * - For arrays, maps over items and parses strings as JSON when possible
+ * - For strings, attempts to parse as JSON
+ * - Returns other types as-is
+ *
+ * @param {any} obj - The input to parse
+ * @returns {any} The parsed object or the original input if parsing is not applicable
+ */
export const parseObject = (obj) => {
  if (!obj) return undefined;

  if (Array.isArray(obj)) {
    // ...
components/neo4j_auradb/sources/new-node/new-node.mjs (2)

22-25: Add validation for orderBy format before splitting

The getBaseQuery method assumes that this.orderBy contains a dot (.) character that can be split to extract a variable name. If orderBy doesn't contain a dot, this could lead to unexpected behavior.

Consider adding validation:

getBaseQuery(whereClause) {
-  const variable = this.orderBy.split(".")[0];
+  // Default to 'n' if orderBy doesn't contain a dot
+  const variable = this.orderBy.includes(".")
+    ? this.orderBy.split(".")[0]
+    : "n";
  return `MATCH (${variable}:${this.nodeLabel}) ${whereClause} RETURN ${variable} `;
},

26-36: Add error handling for date parsing

The emit method attempts to parse a date from item properties when orderType is "dateTime", but doesn't handle the case where the date string might be invalid.

Consider adding error handling:

emit(item) {
-  const ts = (this.orderType === "dateTime")
-    ? Date.parse(item.properties[this.orderBy])
-    : new Date();
+  let ts = new Date();
+  
+  if (this.orderType === "dateTime") {
+    try {
+      const parsedDate = Date.parse(item.properties[this.orderBy]);
+      if (!isNaN(parsedDate)) {
+        ts = parsedDate;
+      }
+    } catch (error) {
+      console.log(`Error parsing date from ${this.orderBy}: ${error.message}`);
+    }
+  }

  this.$emit(item, {
    id: item.elementId,
    summary: `New node created with label ${this.nodeLabel}`,
    ts,
  });
},
components/neo4j_auradb/sources/new-query-result/new-query-result.mjs (1)

25-35: Handle potential missing or malformed data gracefully.

The call to Date.parse(item[1].properties[this.orderBy]) and usage of item[1].elementId assume the array has an element at [1] with valid date properties. Consider verifying that item[1] and item[1].properties[this.orderBy] exist to avoid runtime errors. You might add a fallback if parsing fails or if the property isn’t present.

components/neo4j_auradb/sources/common/base.mjs (2)

70-72: Remove or utilize the getVarName() method.

This method always returns an empty string. If it’s intentionally a placeholder, consider adding a comment explaining its purpose; otherwise, remove it to reduce clutter.


95-97: Check for missing array elements before accessing nested properties.

responseArray[0][1] and responseArray[0]?.properties assume the first entry is an array containing at least two elements. Add a safety check in case the item has a different structure or to handle empty arrays. This helps prevent runtime errors.

components/neo4j_auradb/neo4j_auradb.app.mjs (4)

9-17: Consider validating $auth fields.
_baseUrl() and _auth() directly rely on this.$auth.api_url, this.$auth.username, and this.$auth.password. If these fields are missing or malformed, subsequent calls will fail. Adding minimal checks or validations in these methods could help catch misconfigurations early.


18-26: Consider handling and surfacing errors more explicitly.
Currently, _makeRequest delegates error handling to the caller or to default Axios behavior. If needed, wrapping this request in try/catch blocks (or using Axios interceptors) can provide friendlier error messages or fallback logic for downstream functionality.


70-80: Surface query results or error states in executeCypherQuery.
executeCypherQuery simply returns the Axios call. If you need a standardized format or additional error handling (e.g., partial failures), consider parsing and validating the result here.


81-106: Improve pagination stability.
The paginate method relies on a basic SKIP ... LIMIT ... approach without forcing an ORDER BY. This can lead to inconsistent or out-of-order results across pages for large data sets if the underlying dataset changes or if no ordering is specified. Consider requiring users to include a stable ORDER BY in the input query.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 840d913 and 0cd7878.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (27)
  • components/calendly_v2/actions/create-invitee-no-show/create-invitee-no-show.mjs (1 hunks)
  • components/calendly_v2/actions/create-scheduling-link/create-scheduling-link.mjs (1 hunks)
  • components/calendly_v2/actions/get-event/get-event.mjs (1 hunks)
  • components/calendly_v2/actions/list-event-invitees/list-event-invitees.mjs (1 hunks)
  • components/calendly_v2/actions/list-events/list-events.mjs (1 hunks)
  • components/calendly_v2/actions/list-user-availability-schecdules/list-user-availability-schecdules.mjs (1 hunks)
  • components/calendly_v2/actions/list-webhook-subscriptions/list-webhook-subscriptions.mjs (1 hunks)
  • components/calendly_v2/calendly_v2.app.mjs (1 hunks)
  • components/calendly_v2/package.json (1 hunks)
  • components/calendly_v2/sources/invitee-canceled/invitee-canceled.mjs (1 hunks)
  • components/calendly_v2/sources/invitee-created/invitee-created.mjs (1 hunks)
  • components/calendly_v2/sources/new-event-scheduled/new-event-scheduled.mjs (1 hunks)
  • components/calendly_v2/sources/routing-form-submission-created/routing-form-submission-created.mjs (1 hunks)
  • components/neo4j_auradb/actions/create-node/create-node.mjs (1 hunks)
  • components/neo4j_auradb/actions/create-relationship/create-relationship.mjs (1 hunks)
  • components/neo4j_auradb/actions/run-query/run-query.mjs (1 hunks)
  • components/neo4j_auradb/common/constants.mjs (1 hunks)
  • components/neo4j_auradb/common/utils.mjs (1 hunks)
  • components/neo4j_auradb/neo4j_auradb.app.mjs (1 hunks)
  • components/neo4j_auradb/package.json (2 hunks)
  • components/neo4j_auradb/sources/common/base.mjs (1 hunks)
  • components/neo4j_auradb/sources/new-node/new-node.mjs (1 hunks)
  • components/neo4j_auradb/sources/new-node/test-event.mjs (1 hunks)
  • components/neo4j_auradb/sources/new-query-result/new-query-result.mjs (1 hunks)
  • components/neo4j_auradb/sources/new-query-result/test-event.mjs (1 hunks)
  • components/neo4j_auradb/sources/new-relationship/new-relationship.mjs (1 hunks)
  • components/neo4j_auradb/sources/new-relationship/test-event.mjs (1 hunks)
⏰ 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 (26)
components/calendly_v2/package.json (1)

3-3: Version bump to "1.3.0" confirmed.

The version has been updated correctly to match the coordinated release strategy across the Calendly V2 components.

components/calendly_v2/sources/invitee-created/invitee-created.mjs (1)

8-8: Updated version to "0.0.4".

The version increment is consistent with other components in this module. Ensure that any external integrations referencing this source update their version expectations accordingly.

components/calendly_v2/sources/routing-form-submission-created/routing-form-submission-created.mjs (1)

8-8: Incremented version to "0.0.3".

The version bump is in line with the overall versioning update for Calendly V2 sources. No further action is needed.

components/calendly_v2/sources/invitee-canceled/invitee-canceled.mjs (1)

8-8: Version update to "0.0.3".

This change maintains consistent versioning across the related sources. The update is straightforward and correct.

components/calendly_v2/sources/new-event-scheduled/new-event-scheduled.mjs (2)

1-1: Optimized import order for clarity.

Moving the import for DEFAULT_POLLING_SOURCE_TIMER_INTERVAL to the top improves dependency visibility and avoids potential duplicate import issues.


9-9: Version bump to "0.0.7" noted.

The version update is consistent with the overall release strategy applied across the Calendly V2 components.

components/calendly_v2/actions/get-event/get-event.mjs (1)

9-9: Version Bump Verification

The version number has been updated from "0.1.4" to "0.1.5". This change is consistent with the coordinated versioning across similar Calendly actions.

components/calendly_v2/actions/list-events/list-events.mjs (1)

7-7: Version Bump Verification

The version field has been updated from "0.0.4" to "0.0.5", aligning with the overall release strategy for Calendly V2 components.

components/calendly_v2/actions/list-webhook-subscriptions/list-webhook-subscriptions.mjs (1)

8-8: Version Bump Confirmation

The version number change from "0.1.4" to "0.1.5" is correctly applied and maintains consistency with the updated release versioning across the module.

components/calendly_v2/actions/create-scheduling-link/create-scheduling-link.mjs (1)

7-7: Version Update Verification

The version number has been updated from "0.0.4" to "0.0.5". This version bump is in line with the overall update strategy and does not affect the functionality of the scheduling link action.

components/calendly_v2/actions/list-event-invitees/list-event-invitees.mjs (1)

7-7: Version Update Confirmation

The version field has been incremented from "0.0.4" to "0.0.5" as part of the coordinated release update. There are no changes affecting functionality or logic.

components/neo4j_auradb/sources/new-node/test-event.mjs (1)

1-11: The test event object looks good for Neo4j node testing.

This is a well-structured test event object that properly represents a Neo4j node with appropriate elementId, labels and properties. It will serve as a good sample for testing node-related functionality.

Note: There might be a small typo in the player's name - "Shikar Dhawan" should likely be "Shikhar Dhawan" (with an 'h' after 'S'), but this doesn't affect testing functionality.

components/calendly_v2/actions/create-invitee-no-show/create-invitee-no-show.mjs (2)

2-2: Import order change looks good.

Rearranging import order for consistency with other modules in the codebase.


8-8: Version bump is appropriate.

Incrementing version from 0.0.2 to 0.0.3 for tracking the changes made to this component.

components/neo4j_auradb/package.json (2)

3-3: Version update aligns with significant changes.

The version change from 0.0.1 to 0.1.0 (minor version bump) correctly indicates the significant update with new functionality added to the Neo4j AuraDB component.


15-17: Adding explicit dependency on platform package.

Adding the dependency on @pipedream/platform with appropriate version constraint is a good practice, ensuring the component explicitly defines its requirements.

components/neo4j_auradb/sources/new-query-result/test-event.mjs (1)

1-11: Test event object is appropriate for query result testing.

The test event object has a good structure that represents a Neo4j node as a query result. The structure with elementId, labels, and properties is consistent with Neo4j's data model.

Note: Similar to the other test file, there appears to be a minor typo in "Shikar Dhawan" which would typically be spelled "Shikhar Dhawan", but this doesn't impact functionality.

components/neo4j_auradb/sources/new-relationship/test-event.mjs (1)

1-29: Well-structured test event for Neo4j relationships.

This test event exports an array that properly demonstrates a Neo4j graph with two nodes and a relationship between them. The structure includes:

  1. First player node with elementId and properties
  2. Relationship object with startNodeElementId, endNodeElementId, and type
  3. Second player node with elementId and properties

This provides a comprehensive example for testing relationship functionality in the Neo4j component.

components/neo4j_auradb/common/constants.mjs (1)

1-2: LGTM: Appropriate constant definition.

The LIMIT constant is well-defined and will be useful for pagination or restricting the number of results returned by Neo4j queries.

components/neo4j_auradb/actions/run-query/run-query.mjs (1)

1-25: LGTM: Well-structured Neo4j query action.

The implementation is clean and follows the common pattern for Pipedream actions. It correctly imports the app, defines the necessary properties, and executes the Cypher query.

components/neo4j_auradb/actions/create-relationship/create-relationship.mjs (1)

1-48: LGTM! Solid implementation of a Neo4j relationship creation action

The overall structure and implementation of this component is well-done. It correctly handles object parsing, provides clear property descriptions, and follows Pipedream's component architecture.

components/neo4j_auradb/common/utils.mjs (1)

1-24: LGTM! Effective utility for handling object parsing

The parseObject utility is well-structured with appropriate error handling for JSON parsing and handles different input types correctly.

components/neo4j_auradb/actions/create-node/create-node.mjs (2)

30-33: LGTM! Effective handling of response and summary generation

The element ID extraction with optional chaining and conditional summary message is well-implemented. This provides good user feedback regardless of the response structure.

As a minor optimization, you could use the nullish coalescing operator to slightly simplify the summary export:

const elementId = response.data?.values?.[0]?.[0]?.elementId;
-$.export("$summary", elementId
-  ? `Created node with id ${elementId}`
-  : "Node created successfully");
+$.export("$summary", `Created node${elementId ? ` with id ${elementId}` : " successfully"}`);

But the current implementation is perfectly fine as is.


1-36: LGTM! Solid implementation of a Neo4j node creation action

The overall structure and implementation of this component is well-done. It correctly handles property parsing, provides clear descriptions, and follows Pipedream's component architecture.

components/neo4j_auradb/sources/new-node/new-node.mjs (1)

1-39: LGTM! Well-structured source component extending common base

The overall implementation of this source component is solid. It correctly extends the common base, adds specific functionality for Neo4j node events, and properly formats the emitted events.

components/neo4j_auradb/neo4j_auradb.app.mjs (1)

1-2: Imports look good.
No issues found with importing axios from @pipedream/platform and the LIMIT constant.

@luancazarine luancazarine force-pushed the 15214-action-calendly---list-user-availability-schedules branch from 0cd7878 to 9ff707e Compare March 14, 2025 14:35
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
components/calendly_v2/calendly_v2.app.mjs (1)

258-271: Fix method name capitalization: listUSerAvailabilitySchedules

There's an inconsistent capitalization in the method name - "USer" should be "User" to follow proper camelCase convention and match the rest of the codebase.

-async listUSerAvailabilitySchedules(uuid, $) {
+async listUserAvailabilitySchedules(uuid, $) {

Additionally, consider implementing pagination handling similar to the other list methods in this file. The current implementation uses a direct axios call, but other list operations use the _makeRequest method which handles pagination.

components/calendly_v2/actions/list-user-availability-schedules/list-user-availability-schedules.mjs (1)

4-6: Fix typo in action name and update method reference

There's a typo in the action name: "Schecdules" should be "Schedules".

-  name: "List User Availability Schecdules",
+  name: "List User Availability Schedules",

Also, the description could be more informative by briefly explaining what "availability schedules" are before referencing the documentation.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0cd7878 and 9ff707e.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (13)
  • components/calendly_v2/actions/create-invitee-no-show/create-invitee-no-show.mjs (1 hunks)
  • components/calendly_v2/actions/create-scheduling-link/create-scheduling-link.mjs (1 hunks)
  • components/calendly_v2/actions/get-event/get-event.mjs (1 hunks)
  • components/calendly_v2/actions/list-event-invitees/list-event-invitees.mjs (1 hunks)
  • components/calendly_v2/actions/list-events/list-events.mjs (1 hunks)
  • components/calendly_v2/actions/list-user-availability-schedules/list-user-availability-schedules.mjs (1 hunks)
  • components/calendly_v2/actions/list-webhook-subscriptions/list-webhook-subscriptions.mjs (1 hunks)
  • components/calendly_v2/calendly_v2.app.mjs (1 hunks)
  • components/calendly_v2/package.json (1 hunks)
  • components/calendly_v2/sources/invitee-canceled/invitee-canceled.mjs (1 hunks)
  • components/calendly_v2/sources/invitee-created/invitee-created.mjs (1 hunks)
  • components/calendly_v2/sources/new-event-scheduled/new-event-scheduled.mjs (1 hunks)
  • components/calendly_v2/sources/routing-form-submission-created/routing-form-submission-created.mjs (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (11)
  • components/calendly_v2/actions/create-invitee-no-show/create-invitee-no-show.mjs
  • components/calendly_v2/package.json
  • components/calendly_v2/actions/create-scheduling-link/create-scheduling-link.mjs
  • components/calendly_v2/sources/routing-form-submission-created/routing-form-submission-created.mjs
  • components/calendly_v2/actions/list-webhook-subscriptions/list-webhook-subscriptions.mjs
  • components/calendly_v2/sources/invitee-created/invitee-created.mjs
  • components/calendly_v2/actions/list-event-invitees/list-event-invitees.mjs
  • components/calendly_v2/sources/new-event-scheduled/new-event-scheduled.mjs
  • components/calendly_v2/sources/invitee-canceled/invitee-canceled.mjs
  • components/calendly_v2/actions/get-event/get-event.mjs
  • components/calendly_v2/actions/list-events/list-events.mjs
🔇 Additional comments (1)
components/calendly_v2/actions/list-user-availability-schedules/list-user-availability-schedules.mjs (1)

29-29: Update method reference to match corrected method name

If you fix the method name capitalization in the main app file as suggested, make sure to update the reference here as well.

-    const response = await this.calendly.listUSerAvailabilitySchedules(this.user, $);
+    const response = await this.calendly.listUserAvailabilitySchedules(this.user, $);

Copy link
Collaborator

@GTFalcao GTFalcao left a comment

Choose a reason for hiding this comment

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

There's just a few typos I commented on, but moving this forward to speed it up!

luancazarine and others added 3 commits March 17, 2025 12:52
…s/list-user-availability-schedules.mjs

Co-authored-by: Guilherme Falcão <[email protected]>
…s/list-user-availability-schedules.mjs

Co-authored-by: Guilherme Falcão <[email protected]>
@luancazarine
Copy link
Collaborator Author

/approve

@luancazarine luancazarine merged commit 98dab01 into master Mar 17, 2025
11 checks passed
@luancazarine luancazarine deleted the 15214-action-calendly---list-user-availability-schedules branch March 17, 2025 19:37
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.

[ACTION] Calendly - List User Availability Schedules

3 participants