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
Feature supabase plugin integration #9213
Feature supabase plugin integration #9213
Conversation
Deployment: https://tooljet-pr-9213.onrender.com |
We have tested the PR. There are a few issues that we'd like you to fix before we merge this.
|
@mansukh-tj |
Screen.Recording.2024-03-29.at.11.42.51.AM.mov
|
1- Just want to confirm are you using "anon public" key or "service_role" secret key? If its "anon public" key you have to define RLS policy for that table in supabase. if its "service_role" secret key then it will bypass that automatically. |
…eature-supabase-plugin-integration
These are resolved. Also added some validation error messages after runquery execution
|
Deployment: https://tooljet-pr-9213.onrender.com |
Deployment: https://tooljet-pr-9213.onrender.com |
Deployment: https://tooljet-pr-9213.onrender.com |
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.
Put a comment, please check @blank0537
…eature-supabase-plugin-integration
@akshaysasidrn mentioned comments resolved. |
Deployment: https://tooljet-pr-9213.onrender.com |
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.
Found some issue again on testing, please check @blank0537
@akshaysasidrn mentioned comments resolved. |
Deployment: https://tooljet-pr-9213.onrender.com |
Thank you for the contribution @blank0537! |
Closes #9138
PR contains an implementation of the Supabase plugin. A few changes in operations/fields that are not as per the given design.
MARKETPLACE INPUTS
Project Url: Implemented as per design. Taking supabase project url from user in this field.
Service Role Secret: Implemented as per design. Taking supabase service role key from user in this encrypted field.
QUERY BUILDER INPUTS
Note: For the Table field, it will appear after the user selects the operation from the dropdown(Also took references from other datasources) and it will be a text field instead of a dropdown because there is no supabase method to fetch tables list.
Where option: As per design, Usage of this to filter data. It has three fields.
First is text field. It needs column name of table to filter by,
Second is dropdown. It has filter list operators. (Provided in issue),
Third is text field. It needs value to filter.
Sort: As per design, Usage of this to sort data. It has two fields.
First is text field. It needs column name of table which will be used to sort data
Second is dropdown. It has two options to sort data by ascending and descending.
Operations
All operations are implemented as mentioned in the issue.
Count Rows
Table: Pass table name here.(refer note for table)
Where: As per design, (refer Where option above)
Get Rows
Table: Pass table name here.(refer note for table)
Where: As per design, (refer Where filter above)
Sort: As per design, (refer Sort above)
Limit: As per design, Pass numeric value to get number of rows from table.
Create Row(s)
This does not have Values field(as per design). I added Body field instead because it needs json object to create row and also supabase has bulk row creation capability so I implemented that instead. Now it can handle single or bulk row creation.
Table: Pass table name here.(refer note for table)
Body: It takes Array of objects to create row(s) in table.
Update Row(s)
As per my understanding, I guess the expectation here is to update the column by giving value in the table for multiple rows based on filtration.
This does not have Values field(as per design). Instead It has two fields one for Column Name and one for Value
Table: Pass table name here.(refer note for table)
Where: As per design, (refer Where option above)
Column Name: Pass column name of table. It will update values to given column name.
Value: Pass value which needs to be updated to that column
Delete Row(s)
Table: Pass table name here.(refer note for table)
Where: As per design, (refer Where option above)
Limit: As per design, Pass numeric value to get number of rows from table.
SOLUTION VIDEO (E2E)
9138-supabase.mp4
@karan-rathod-316 @2001asjad Let me know if any change required.