mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-18 13:02:11 +03:00
4e229dc568
* fix relay introspection failing if any views exist, fix #5020 * reduce base64 encoded node id length, close #5037 * make node field type non-nullable in an edge * more relay tests with permissions & complete restructure of test yaml files Co-authored-by: Aravind <aravindkp@outlook.in> Co-authored-by: Vamshi Surabhi <0x777@users.noreply.github.com>
134 lines
2.7 KiB
YAML
134 lines
2.7 KiB
YAML
type: bulk
|
|
args:
|
|
- type: run_sql
|
|
args:
|
|
sql: |
|
|
CREATE TABLE author(
|
|
id SERIAL PRIMARY KEY,
|
|
name TEXT UNIQUE NOT NULL
|
|
);
|
|
|
|
INSERT INTO author (name)
|
|
VALUES ('Author 1'), ('Author 2'), ('Author 3'), ('Author 4');
|
|
|
|
CREATE TABLE article (
|
|
id SERIAL PRIMARY KEY,
|
|
title TEXT,
|
|
content TEXT,
|
|
author_id INTEGER REFERENCES author(id)
|
|
);
|
|
|
|
INSERT INTO article (title, content, author_id)
|
|
VALUES
|
|
(
|
|
'Article 1',
|
|
'Sample article content 1',
|
|
1
|
|
),
|
|
(
|
|
'Article 2',
|
|
'Sample article content 2',
|
|
1
|
|
),
|
|
(
|
|
'Article 3',
|
|
'Sample article content 3',
|
|
1
|
|
),
|
|
(
|
|
'Article 4',
|
|
'Sample article content 4',
|
|
2
|
|
),
|
|
(
|
|
'Article 5',
|
|
'Sample article content 5',
|
|
2
|
|
),
|
|
(
|
|
'Article 6',
|
|
'Sample article content 6',
|
|
3
|
|
);
|
|
|
|
-- Create article view for testing https://github.com/hasura/graphql-engine/issues/5020
|
|
CREATE VIEW article_view AS (
|
|
SELECT * FROM article
|
|
);
|
|
|
|
CREATE FUNCTION search_articles(search text)
|
|
RETURNS SETOF article AS $$
|
|
SELECT *
|
|
FROM article
|
|
WHERE
|
|
title ilike ('%' || search || '%') OR
|
|
content ilike ('%' || search || '%')
|
|
$$ LANGUAGE SQL STABLE;
|
|
|
|
-- Table with two primary key columns
|
|
CREATE TABLE "user"(
|
|
first_name TEXT not null,
|
|
last_name TEXT not null,
|
|
age INTEGER,
|
|
address TEXT,
|
|
|
|
PRIMARY KEY (first_name, last_name)
|
|
);
|
|
|
|
INSERT INTO "user"(first_name, last_name, age, address)
|
|
VALUES
|
|
('first_1', 'last_1', 24, null),
|
|
('first_2', 'last_2', null, 'Bangalore');
|
|
|
|
# Track tables and define relationships
|
|
- type: track_table
|
|
args:
|
|
name: author
|
|
schema: public
|
|
|
|
- type: track_table
|
|
args:
|
|
name: article
|
|
schema: public
|
|
|
|
- type: track_table
|
|
args:
|
|
name: article_view
|
|
schema: public
|
|
|
|
- type: create_object_relationship
|
|
args:
|
|
table: article
|
|
name: author
|
|
using:
|
|
foreign_key_constraint_on: author_id
|
|
|
|
- type: create_array_relationship
|
|
args:
|
|
table: author
|
|
name: articles
|
|
using:
|
|
foreign_key_constraint_on:
|
|
table: article
|
|
column: author_id
|
|
|
|
- type: create_array_relationship
|
|
args:
|
|
table: author
|
|
name: articles_view
|
|
using:
|
|
manual_configuration:
|
|
remote_table: article_view
|
|
column_mapping:
|
|
id: author_id
|
|
|
|
- type: track_function
|
|
version: 2
|
|
args:
|
|
function: search_articles
|
|
|
|
- type: track_table
|
|
args:
|
|
name: user
|
|
schema: public
|