>
### Description
>
### Changelog
- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.
### Affected components
- [x] Console
### Related Issues
closes [#7336](https://github.com/hasura/graphql-engine/issues/7336)
### Steps to test and verify
- Add a scalar computed field with only table row as argument, to the table you want to use for testing
- Then head to table's permission tab, and try to use permission builder to set permissions for any role
- confirm that computed fields are listed as options along table columns
https://github.com/hasura/graphql-engine-mono/pull/2056
GitOrigin-RevId: 2cd16ca4a0e6a6288d4b62549ebe1aaaf841952b
This PR fixes untracked foreign-key relationships suggestion across schemas.
### Changelog
- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.
### Affected components
- [x] Console
### Related Issues
close [#7177](https://github.com/hasura/graphql-engine/issues/7177)
### Solution and Design
Previously to determine relations, we'd check the foreign keys constraint on all tables in the metadata,
but from 2.0, we filtered these tables based on schema. Therefore, relationships are only reflected if both tables are of the same schema. This PR makes sure that all tables in the metadata are considered
### Steps to test and verify
- Create two schemas and a table in each
- Create a foreign key constraint on one of the tables to the other using RawSQL
- Go the schema page of the table where the constraint was created on.
- Confirm that the console suggests to track the relationship you created in step 2 above
#### Breaking changes
- [x] No Breaking changes
https://github.com/hasura/graphql-engine-mono/pull/2000
GitOrigin-RevId: c1d5229955e731bb8019955ebd7a925d7870eb17
>
This PR replaces all occurrences of invalid graphql identifiers in table and column names when tracking a table from the console.
### Description
>
### Changelog
- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.
### Affected components
- [x] Console
### Related Issues
Closes [7239](https://github.com/hasura/graphql-engine/issues/7239)
https://github.com/hasura/graphql-engine-mono/pull/1888
GitOrigin-RevId: b6f719b0f1c270908a8717b08564a97c44d8c5bf
closes: https://github.com/hasura/graphql-engine/issues/7168
### Description
On expanding the pending and processed event on `one-off scheduled event` on pro we are getting an error because we are not passing the auth header to API request. In this PR we are passing `includeAdminHeaders` to API as `true` to fetch events.
`keyframes` imported from `styled-components` is supported on V3 only and we are using V5.0.1. So, instead of importing spinner from UIKit which we are not using anymore, we are importing spinner form other place.
### Affected components
- [x] Console
https://github.com/hasura/graphql-engine-mono/pull/1754
Co-authored-by: Sooraj <8408875+soorajshankar@users.noreply.github.com>
GitOrigin-RevId: 7550d544b2d7f4f98a793895368c964d17d0e362
This PR fixes the following errors when column name and graphql field name are modified:
1. Metadata out-of-date error -> when graphql field name is removed (set to empty on the console UI)
2. Inconsistent state error -> due to old column name used in modifying graphql field name
### Changelog
- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR.
### Affected components
- [x] Console
### Related Issues
Closes [7221](https://github.com/hasura/graphql-engine/issues/7221)
### Solution and Design
1. Use exportMetadata function after column name rename has been completed, passing the function to rename graphql field name
2. Use new column name, instead of old column name when renaming graphql field name
### Steps to test and verify
1. Go to data tab
2. Create a table if none
3. click the table name by the side-menu and when it has loaded, click on the modify tab.
4. Then edit any column of the table:
- Change column name and graphql field name, it should work successfully without an error
- Change column name and remove graphql field name, it should work successfully without metadata out-of-date error
Does this PR add a new Metadata feature?
- [x] No
#### GraphQL
- [x] No new GraphQL schema is generated
#### Breaking changes
- [x] No Breaking changes
https://github.com/hasura/graphql-engine-mono/pull/1778
GitOrigin-RevId: edfd795fb804df71a4e07e0373ca0714ff45fda9
Closes: https://github.com/hasura/graphql-engine/issues/6969
Description:
To reproduce the issue please visit the issue link.
This is happening because the request payload is using the current table name while cloning permission. This PR change makes the payload use the correct table name.
- [ ] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.
### Affected components
- [x] Console
- [x] CLI
https://github.com/hasura/graphql-engine-mono/pull/1505
GitOrigin-RevId: bfd8a67ccb55261a1bf47a9ede18e3e1cf3bff2c
>
### Description
We want to hide postgres system schemas like `pg_toast` and `pg_temp` and their variations (ex. `pg_toast_temp_35`) from showing up in console.
>
### Changelog
- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.
### Affected components
- [x] Console
### Related Issues
->
https://github.com/hasura/graphql-engine/issues/6954
### Solution and Design
>
We can achieve this by updating the `schemaListSql` query for postgres datasources to filter out postgres system schemas.
### Steps to test and verify
>
1. Add a postgres datasource containing some system schemas
2. The system schemas should not show up in console
https://github.com/hasura/graphql-engine-mono/pull/1499
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: 6a179b9d5cd4d061ae9fda17bf3824321cf7e96e
>
Adding a table with a capital letter and a comment was causing SQL error, this PR fixes that issue. (in postgres and citus dbs)
### Description
>
### Changelog
- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.
### Affected components
- [x] Console
https://github.com/hasura/graphql-engine-mono/pull/1617
GitOrigin-RevId: b8e911206af7ce950b5432dab98723e52992b905
Modify page for mssql.
Column edit, add and delete
Pk add and delete
unique key add and delete
> Known Issues
> It is not because of this PR, but evident after implementing this changes.
> Table comments section is not only showing table comments but also anything that has `SYS.EXTENDED_PROPERTIES` with the table id, we may need to fix this by adding more conditions while fetching the table comments
> issue: https://github.com/hasura/graphql-engine-mono/issues/1486
Update
> Found a common issue while testing this PR, and it happens for PG tables too, so keeping it as a different issue
https://github.com/hasura/graphql-engine/issues/7018
GitOrigin-RevId: f7883a797ce8d25034824ae35668b1f830e59c70
Closes: https://github.com/hasura/graphql-engine/issues/6858
Description:
Following two things are done:
1. Show compatible functions in the Untracked custom functions list (i.e. even those with ROWTYPE arg)
![Screenshot from 2021-05-11 16-13-21](https://user-images.githubusercontent.com/68095256/117803100-dd606f80-b273-11eb-8d02-1ea55b31863d.png)
2. When a function with ROWTYPE argument is tracked, a confirmatory dialogue box is shown. The text reads `This function can be added as a root field or a computed field inside a table` and the buttons reflect the options: `Add as root field`, `Add as computed field` (this will take the user to the Modify -> Add a computed field section of the first-row type argument)
![Screenshot from 2021-06-03 17-28-28](https://user-images.githubusercontent.com/68095256/120641377-28dff500-c491-11eb-80ea-cc60e6f37f23.png)
Affected Component:
- [x] Console
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
Co-authored-by: Abhijeet Khangarot <26903230+abhi40308@users.noreply.github.com>
GitOrigin-RevId: 089944aadba73f7a77e220a49489846ff1cb9540
### Description
The `statementTimeout` on RawSQL is not reset after changing a datasource. This causes an error when running SQL and parsing the results for DBs that don't support statement timeout property on the console.
![timeout](https://user-images.githubusercontent.com/11921040/120473505-b6094800-c3c4-11eb-8b00-e43d9ebcb207.gif)
### Affected components
- [x] Console
### Steps to test and verify
- Open /data/manage
- Click on any SQL Server DB.
- Go to Raw SQL
- Run any query
- Verify correct result
GitOrigin-RevId: 8a0adaf308d14db17126953286173da7ef1afc1c
adds foreign key functionality to mssql tables under Modify Tab.
Steps to test:
1. Connect an MSSQL data source.
2. Create a table
3. go to modify page
4. make sure the `Add foreign key `button is visible
5. click on `Add foreign key`, and try to add FK
6. after adding the FK, we will see the `edit` and `remove` button, try to edit and remove the FK
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
GitOrigin-RevId: 63be7c4ef909503ac05096a64c686b72f7c47307
Before: on edit source page, changing data source name was not allowed and the input disabled.
Now: data source name can be changed on edit source page.
Note:
- ~When only the data source name is changed, a request is sent for renaming and another for updating data source even when other values of the data source configuration weren't changed.~
- This has been fixed and should be tested thus:
- run `npm run jest`
- on edit source UI, change only data source name and confirm that only `rename_source` request is being sent through network tab in dev tools
- change any other fields but the source name, and confirm that only `add_source` with `replace_configuration: true` is sent.
- change both source name and any other field in the form and confirm that both request are sent (in this order: rename request before add request) and export_metadata request only sent once after that.
- Try with bigquery, mssql and postgres
Possible Refactor:
- consider if `renameDataSource` and `addDataSource`, can be refactored or left as is
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: cbb041ac8362fd94de5aa19bfa61c0cde8703459
### Description
This PR adds `Create Table` view for MSSQL server schemas.
### Changelist
* [x] Add basic `create table` form view on navigating from Schema's create table action.
* [x] Hide frequently selected columns button.
* [x] Allow the user to manually add column types for now: convert `select` for columns to a `text` input .
* [x] Remove `Restrict` radio selection for foreign key constraints.
* [x] Add SQL query for Create table in MSSQL.
### Screenshot
![Screenshot 2021-03-09 at 5 22 03 PM](https://user-images.githubusercontent.com/11921040/110467030-82d45700-80fc-11eb-84af-dd228d84b135.png)
### Changelog
- [x] CHANGELOG.md is updated with user-facing content relevant to this PR. If no changelog is required, then add the no-changelog-required label.
### Modified components
- Console
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: a783b5940198ecf582d1cd6ad4d4224efabf59fc
Adding regex expression to test `view`, `table` and `function` routes.
Fixes no highlight issue when clicking on functions in the data tab navigation tree.
GitOrigin-RevId: f278998ec1c98c98e0bfc9cd72d63d673cd74012
Fixes [issue](https://github.com/hasura/graphql-engine/issues/6937)
### Description
The problem lies with the `schemaListSql` for Big Query. Without a region qualifier prefixed, the SQL result contains datasets only US regions, as described in the [docs](https://cloud.google.com/bigquery/docs/information-schema-datasets).
```
If you do not specify a regional qualifier, metadata is retrieved from the us multi-region.
```
The alternative way is to get a list of all available publicly available regions (which is `us` and `europe` atm), for example for europe -
```
SELECT * FROM region-europe.INFORMATION_SCHEMA.SCHEMATA;
```
and then perform `UNION ALL` of the results. This is approached is ditched in favour of the reason that Big Query is read-only on Hasura and new datasets cannot be added from the console (other than by modifying the metadata), we can return the datasets available in the Big Query source's metadata as the possible values of datasets needed by the console to render the data nav tree, thereby avoiding an extra API call in the process.
GitOrigin-RevId: 8117d5698dcc4e7d932362b7cf2e7c8ef34d106a
### Description
- Fixes https://github.com/hasura/graphql-engine/issues/6926
- This is to resolve the issue where inherited tables get listed into the array that's used to filter off partitions.
- In the check, we compare if the partition's parent is a "partitioned table" or not before adding to the filter array.
### Steps to verify
- Create the following tables on a postgres db
```SQL
CREATE TABLE cities (
id SERIAL PRIMARY KEY,
name text,
population real,
elevation int -- (in ft)
);
CREATE TABLE capitals (
state char(2) UNIQUE NOT NULL
) INHERITS (cities);
```
- Navigate to the data tab, and click on the datasource > schema, and verify that both `cities` and `capitals` are present.
- Click on `capitals` and see if it loads properly.
- Create the following table and its partitions
```sql
CREATE TABLE measurement (
city_id int not null,
logdate date not null,
peaktemp int,
unitsales int
) PARTITION BY RANGE (logdate);
CREATE TABLE measurement_y2006m02 PARTITION OF measurement
FOR VALUES FROM ('2006-02-01') TO ('2006-03-01');
CREATE TABLE measurement_y2006m03 PARTITION OF measurement
FOR VALUES FROM ('2006-03-01') TO ('2006-04-01');
```
- Verify that the data tab nav does not show `measurement_y2006m02` and `measurement_y2006m03`
GitOrigin-RevId: 1cc988fff03f289e6ea36d0b1e9f8e54b8741be9
This fixes `column "column_name" named in key does not exist"`,
when changing editing a column to be unique in column editor. resolves [6734](https://github.com/hasura/graphql-engine/issues/6734)
GitOrigin-RevId: 5c8f9523d6c022245cd4c1bb5d0d4a3340c455cf
This adds the feature to edit data sources to the console
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
Co-authored-by: Martin Mark <74692114+martin-hasura@users.noreply.github.com>
GitOrigin-RevId: 40f97a362620e9cebe97a2267cb9fb143c32af5d
The changes turned out to be flaky — tests were failing from time to time, and blocking other PRs from being merged.
Reverts hasura/graphql-engine-mono#1037
GitOrigin-RevId: 97d95156e8d348f2e89ec33e06ffaac9bf75a2f9
This is the first step in making our cypress test faster.
Will clean the comments up in the coming days
Running time imporves from ~7mins to ~83secs
GitOrigin-RevId: d8d2b23c5a46789a3828dac1c6652034bd0bfc1c
### Description
Resolves#1128
### Changelist
- [x] Removed partitions from list of untracked tables (clean up awaits)
- [x] Display table definition at modify table like that of `psql \d+ tableName`
- [x] Fix broken console error when reloading console on `Modify` and `Relationships` tab for any other schema than default redirect schema.
- [x] Fetch table partition info only at /table/modify
### Screenshots
<img width="700" alt="Screenshot 2021-05-04 at 12 57 30" src="https://user-images.githubusercontent.com/9019397/116993856-4c6c2000-acd8-11eb-8a61-cd2b45d6e7ac.png">
### Changelog
- [x] Console
Co-authored-by: Vijay Prasanna <11921040+vijayprasanna13@users.noreply.github.com>
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: 3a6e527839daf52af101c2ce1803eefba600d29e
**How to repro this bug:**
1. Create another source, in addition the existing `default source`
2. this new source has one or more tables while the `default` has none.
3. If you check the Redux State object, the `allSourcesSchemas` attribute has the wrong mapping of objects
```JSON
allSourcesSchemas:
default: {}
```
This results in the table_types not being mapped properly.
For example in the below screenshot, I have 2 db objects, one is a view and the other is a table. Since the `allSourcesSchemas` is not mapped properly, the table_type is not available to `DataSubSidebar.js`
![Screenshot 2021-05-04 at 11 22 27 AM](https://user-images.githubusercontent.com/11921040/116965274-065c8f80-accb-11eb-9a4f-c1fedced8e6a.png)
GitOrigin-RevId: d728f08306ce7a8770d7d08a6236b76cd379f140
This PR was migrated from https://github.com/hasura/graphql-engine/pull/6416
Co-authored-by: alex argunov <10955264+troglotit@users.noreply.github.com>
GitOrigin-RevId: 59a2391900d7aa4a612d596bb61165185f51cd53
This PR allows the use invalid identifiers allowed in SQL server to be used in column names. fixes#954
### Todo
- [x] Track (all) table(s)
- [x] Fetch rows in browse rows
- [x] Process fetching query
- [x] Process sort and where clauses
- [x] Process fetch results
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: 7930a2064080156ae067a396523274768f37f17d
This PR
* Gets all queries from all collections present in allowlist and displays those. (Earlier we were just displaying queries present in "allowed-queries" collection.
* Adds collection names to allow-list section
### Description
fix [4138](https://github.com/hasura/graphql-engine/issues/4138)
### Affected components
- [x] Console
### Solution and Design
<img width="828" alt="Screenshot 2021-01-04 at 12 11 01 PM" src="https://user-images.githubusercontent.com/26903230/103507774-eb495280-4e85-11eb-9ef7-95871fb03edd.png">
### Changelog
- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: d96d2aadebeabc00073e028d514db429ee18f187
TODO:
- [x] Test for add sources
- [x] Test for set connection setting
- [x] Test for delete sources
- [x] Test for switch between sources
Co-authored-by: Ikechukwu Eze <22247592+iykekings@users.noreply.github.com>
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: 2b31dbb69767cdcacf0cb2b2afde56871c3a2240
Closes: https://github.com/hasura/graphql-engine/issues/6565
Description:
At line 57 in `JsonInput.js` there is a typo, replace `event.metaKey` with `e.event`.
Effected components:
- [x] Console
GitOrigin-RevId: ef3ff46ca2c45ef48d9fde2f561a3409d11ddcb5
### Description
This PR adds `Browse` tab for MSSQL server.
### Changelist
* [x] Use the server provided GraphQL API to fetch data for browse rows, related issue [here](https://github.com/hasura/graphql-engine-mono/issues/691).
* [x] Use GraphQL API to export data in CSV/JSON format.
* [x] Add Relationship view for tracked relationships.
* [x] Modify Query generation based on `Array` or `Object` relationship.
* [x] Add custom Pagination Component.
* [x] Make `FilterQuery` sort and filter work for MS SQL server.
### Screenshot
![Screenshot 2021-03-09 at 4 11 22 PM](https://user-images.githubusercontent.com/11921040/110458750-22d8b300-80f2-11eb-8df0-94ed4a1a27f3.png)
### Changelog
- [x] CHANGELOG.md is updated with user-facing content relevant to this PR. If no changelog is required, then add the no-changelog-required label.
### Modified components
- Console
### Issues that will arise from this PR
- Incorrect number of row counts when exporting table as JSON or CSV - (depends on aggregation support on mssql)
- Disabled actions buttons on table - (depends on mutation support on mssql)
- Display of row counts on Browse Rows - (depends on aggregation support on mssql)
Co-authored-by: Ikechukwu Eze <22247592+iykekings@users.noreply.github.com>
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: 803f4a7ce482a01eb9bf29c0ad5e0f26eb4375e5
This PR was migrated from https://github.com/hasura/graphql-engine/pull/5923
---
### Description
### Changelog
- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.
Co-authored-by: Kim <20434382+kimberrypi@users.noreply.github.com>
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: 244c5272ef1113af840f9b5379826ff60e7f1136
Related work: **https://github.com/hasura/lux/pull/1335**
##### NOTE: These changes are split across both the oss-console and the pro-console.
- So we need these changes to make sure that the team console uses the `projectEndpoint` env var to load the console and execute the correct requests.
- The other item that was updated in this PR was that we, now, have hidden/removed all of the logout buttons on the Pro console(for Cloud alone).
Co-authored-by: Ikechukwu Eze <22247592+iykekings@users.noreply.github.com>
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: 7319f49de4b7369b58c1261b7dd3c41cff9b858d
resolves#134
The PR adds a new header(`Hasura-Internal-Request-Source`) to every request sent to the server.
Co-authored-by: Aleksandra Sikora <9019397+beerose@users.noreply.github.com>
GitOrigin-RevId: 9d1538fcf92fd5a00c649884b910da3f3993cd47