From 412215e36e7d46e1e76db5b05ddcc9658adaf05a Mon Sep 17 00:00:00 2001 From: Hugo Wood Date: Fri, 25 Mar 2022 15:04:41 +0100 Subject: [PATCH] =?UTF-8?q?=E2=AC=86=20update=20hasura=20config=20to=20v3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Requis pour pouvoir profiter des endpoints REST. --- hasura/config.yaml | 22 +- hasura/metadata/allow_list.yaml | 2 +- hasura/metadata/databases/databases.yaml | 14 + ...genciesAverageCurrentSkillsAndDesires.yaml | 16 + .../default/tables/public_Agency.yaml | 18 + .../default/tables/public_Category.yaml | 50 ++ .../default/tables/public_Skill.yaml | 51 ++ .../default/tables/public_Topic.yaml | 19 + .../databases/default/tables/public_User.yaml | 68 +++ .../tables/public_UserAchievements.yaml | 38 ++ .../default/tables/public_UserAgency.yaml | 43 ++ .../tables/public_UserLatestAgency.yaml | 11 + .../tables/public_UserSkillDesire.yaml | 64 +++ .../default/tables/public_UserTopic.yaml | 63 +++ .../public_UsersCurrentSkillsAndDesires.yaml | 26 + ...ZenikasAverageCurrentSkillsAndDesires.yaml | 25 + .../databases/default/tables/tables.yaml | 13 + hasura/metadata/functions.yaml | 1 - hasura/metadata/query_collections.yaml | 127 ++++- hasura/metadata/rest_endpoints.yaml | 1 + hasura/metadata/tables.yaml | 492 ------------------ hasura/metadata/version.yaml | 2 +- .../{ => default}/1620140585184_init/up.sql | 0 .../1621458424098_run_sql_migration/up.sql | 0 .../up.sql | 0 .../1621690706082_run_sql_migration/up.sql | 0 .../1621690720527_run_sql_migration/up.sql | 0 .../1621695806497_run_sql_migration/up.sql | 0 .../1621695937620_run_sql_migration/up.sql | 0 .../1621695989248_run_sql_migration/up.sql | 0 .../1621852454428_run_sql_migration/up.sql | 0 .../down.sql | 0 .../up.sql | 0 .../down.sql | 0 .../up.sql | 0 .../down.sql | 0 .../up.sql | 0 .../up.sql | 0 .../up.sql | 0 .../up.sql | 0 .../up.sql | 0 .../up.sql | 0 .../up.sql | 0 .../up.sql | 0 .../up.sql | 0 .../up.sql | 0 .../down.sql | 0 .../up.sql | 0 .../down.sql | 0 .../up.sql | 0 hasura/seeds/{ => default}/.gitignore | 0 hasura/seeds/{ => default}/Agency.json | 0 hasura/seeds/{ => default}/Category.json | 0 hasura/seeds/{ => default}/Topic.json | 0 hasura/seeds/{ => default}/seedscript.ts | 0 55 files changed, 667 insertions(+), 499 deletions(-) create mode 100644 hasura/metadata/databases/databases.yaml create mode 100644 hasura/metadata/databases/default/tables/public_AgenciesAverageCurrentSkillsAndDesires.yaml create mode 100644 hasura/metadata/databases/default/tables/public_Agency.yaml create mode 100644 hasura/metadata/databases/default/tables/public_Category.yaml create mode 100644 hasura/metadata/databases/default/tables/public_Skill.yaml create mode 100644 hasura/metadata/databases/default/tables/public_Topic.yaml create mode 100644 hasura/metadata/databases/default/tables/public_User.yaml create mode 100644 hasura/metadata/databases/default/tables/public_UserAchievements.yaml create mode 100644 hasura/metadata/databases/default/tables/public_UserAgency.yaml create mode 100644 hasura/metadata/databases/default/tables/public_UserLatestAgency.yaml create mode 100644 hasura/metadata/databases/default/tables/public_UserSkillDesire.yaml create mode 100644 hasura/metadata/databases/default/tables/public_UserTopic.yaml create mode 100644 hasura/metadata/databases/default/tables/public_UsersCurrentSkillsAndDesires.yaml create mode 100644 hasura/metadata/databases/default/tables/public_ZenikasAverageCurrentSkillsAndDesires.yaml create mode 100644 hasura/metadata/databases/default/tables/tables.yaml delete mode 100644 hasura/metadata/functions.yaml create mode 100644 hasura/metadata/rest_endpoints.yaml delete mode 100644 hasura/metadata/tables.yaml rename hasura/migrations/{ => default}/1620140585184_init/up.sql (100%) rename hasura/migrations/{ => default}/1621458424098_run_sql_migration/up.sql (100%) rename hasura/migrations/{ => default}/1621685606849_run_create_view_userscurrentskillsanddesires/up.sql (100%) rename hasura/migrations/{ => default}/1621690706082_run_sql_migration/up.sql (100%) rename hasura/migrations/{ => default}/1621690720527_run_sql_migration/up.sql (100%) rename hasura/migrations/{ => default}/1621695806497_run_sql_migration/up.sql (100%) rename hasura/migrations/{ => default}/1621695937620_run_sql_migration/up.sql (100%) rename hasura/migrations/{ => default}/1621695989248_run_sql_migration/up.sql (100%) rename hasura/migrations/{ => default}/1621852454428_run_sql_migration/up.sql (100%) rename hasura/migrations/{ => default}/1623761251964_create_table_public_UserSkillDesire/down.sql (100%) rename hasura/migrations/{ => default}/1623761251964_create_table_public_UserSkillDesire/up.sql (100%) rename hasura/migrations/{ => default}/1623763366554_set_fk_public_UserSkillDesire_userEmail/down.sql (100%) rename hasura/migrations/{ => default}/1623763366554_set_fk_public_UserSkillDesire_userEmail/up.sql (100%) rename hasura/migrations/{ => default}/1623763387833_set_fk_public_UserSkillDesire_skillId/down.sql (100%) rename hasura/migrations/{ => default}/1623763387833_set_fk_public_UserSkillDesire_skillId/up.sql (100%) rename hasura/migrations/{ => default}/1623763518443_run_copy_skill_and_appetite_to_unified_table/up.sql (100%) rename hasura/migrations/{ => default}/1623764613660_drop_view_public_UsersCurrentSkillsAndDesires/up.sql (100%) rename hasura/migrations/{ => default}/1623764620245_run_update_users_current_skills_and_desires_view/up.sql (100%) rename hasura/migrations/{ => default}/1623765674171_drop_view_public_ZenikasAverageCurrentSkillsAndDesires/up.sql (100%) rename hasura/migrations/{ => default}/1623765765561_run_update_users_current_skills_and_desires_view/up.sql (100%) rename hasura/migrations/{ => default}/1623766286251_drop_view_public_AgenciesAverageCurrentSkillsAndDesires/up.sql (100%) rename hasura/migrations/{ => default}/1623766338114_run_update_agencies_current_skills_and_desires_view/up.sql (100%) rename hasura/migrations/{ => default}/1623766510639_drop_table_public_TechnicalAppetite/up.sql (100%) rename hasura/migrations/{ => default}/1623766526271_drop_table_public_UserSkill/up.sql (100%) rename hasura/migrations/{ => default}/1628779887119_create_table_public_UserAchievements/down.sql (100%) rename hasura/migrations/{ => default}/1628779887119_create_table_public_UserAchievements/up.sql (100%) rename hasura/migrations/{ => default}/1633697332723_alter_table_public_User_alter_column_name/down.sql (100%) rename hasura/migrations/{ => default}/1633697332723_alter_table_public_User_alter_column_name/up.sql (100%) rename hasura/seeds/{ => default}/.gitignore (100%) rename hasura/seeds/{ => default}/Agency.json (100%) rename hasura/seeds/{ => default}/Category.json (100%) rename hasura/seeds/{ => default}/Topic.json (100%) rename hasura/seeds/{ => default}/seedscript.ts (100%) diff --git a/hasura/config.yaml b/hasura/config.yaml index 9b26dd9a..5e55ede6 100644 --- a/hasura/config.yaml +++ b/hasura/config.yaml @@ -1,4 +1,20 @@ -version: 2 -endpoint: http://localhost:8080 -admin_secret: key +version: 3 +endpoint: https://staging.hasura.skillz.zenika.com/ +admin_secret: b39be850-fc0d-49bc-8d7d-cbb3ebf8824c +api_paths: + v1_query: v1/query + v2_query: v2/query + v1_metadata: v1/metadata + graphql: v1/graphql + config: v1alpha1/config + pg_dump: v1alpha1/pg_dump + version: v1/version metadata_directory: metadata +migrations_directory: migrations +seeds_directory: seeds +actions: + kind: synchronous + handler_webhook_baseurl: http://localhost:3000 + codegen: + framework: "" + output_dir: "" diff --git a/hasura/metadata/allow_list.yaml b/hasura/metadata/allow_list.yaml index fe51488c..4ef597ff 100644 --- a/hasura/metadata/allow_list.yaml +++ b/hasura/metadata/allow_list.yaml @@ -1 +1 @@ -[] +- collection: allowed-queries diff --git a/hasura/metadata/databases/databases.yaml b/hasura/metadata/databases/databases.yaml new file mode 100644 index 00000000..65a11b20 --- /dev/null +++ b/hasura/metadata/databases/databases.yaml @@ -0,0 +1,14 @@ +- name: default + kind: postgres + configuration: + connection_info: + database_url: + from_env: HASURA_GRAPHQL_DATABASE_URL + isolation_level: read-committed + pool_settings: + connection_lifetime: 600 + idle_timeout: 180 + max_connections: 50 + retries: 1 + use_prepared_statements: true + tables: "!include default/tables/tables.yaml" diff --git a/hasura/metadata/databases/default/tables/public_AgenciesAverageCurrentSkillsAndDesires.yaml b/hasura/metadata/databases/default/tables/public_AgenciesAverageCurrentSkillsAndDesires.yaml new file mode 100644 index 00000000..bfc29e5a --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_AgenciesAverageCurrentSkillsAndDesires.yaml @@ -0,0 +1,16 @@ +table: + name: AgenciesAverageCurrentSkillsAndDesires + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - skillId + - categoryId + - agency + - name + - averageSkillLevel + - averageDesireLevel + - userCount + filter: {} + role: world diff --git a/hasura/metadata/databases/default/tables/public_Agency.yaml b/hasura/metadata/databases/default/tables/public_Agency.yaml new file mode 100644 index 00000000..f3f7e1d3 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_Agency.yaml @@ -0,0 +1,18 @@ +table: + name: Agency + schema: public +array_relationships: +- name: UserAgencies + using: + foreign_key_constraint_on: + column: agency + table: + name: UserAgency + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - name + filter: {} + role: world diff --git a/hasura/metadata/databases/default/tables/public_Category.yaml b/hasura/metadata/databases/default/tables/public_Category.yaml new file mode 100644 index 00000000..f74489a1 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_Category.yaml @@ -0,0 +1,50 @@ +table: + name: Category + schema: public +array_relationships: +- name: AgenciesAverageCurrentSkillsAndDesires + using: + manual_configuration: + column_mapping: + id: categoryId + insertion_order: null + remote_table: + name: AgenciesAverageCurrentSkillsAndDesires + schema: public +- name: CurrentSkillsAndDesires + using: + manual_configuration: + column_mapping: + id: categoryId + insertion_order: null + remote_table: + name: UsersCurrentSkillsAndDesires + schema: public +- name: Skills + using: + foreign_key_constraint_on: + column: categoryId + table: + name: Skill + schema: public +- name: ZenikasAverageCurrentSkillsAndDesires + using: + manual_configuration: + column_mapping: + id: categoryId + insertion_order: null + remote_table: + name: ZenikasAverageCurrentSkillsAndDesires + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - label + - x + - y + - color + - index + filter: {} + role: world diff --git a/hasura/metadata/databases/default/tables/public_Skill.yaml b/hasura/metadata/databases/default/tables/public_Skill.yaml new file mode 100644 index 00000000..8be73df8 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_Skill.yaml @@ -0,0 +1,51 @@ +table: + name: Skill + schema: public +object_relationships: +- name: Category + using: + foreign_key_constraint_on: categoryId +array_relationships: +- name: UserSkillDesires + using: + foreign_key_constraint_on: + column: skillId + table: + name: UserSkillDesire + schema: public +- name: UsersCurrentSkillsAndDesires + using: + manual_configuration: + column_mapping: + id: skillId + insertion_order: null + remote_table: + name: UsersCurrentSkillsAndDesires + schema: public +insert_permissions: +- permission: + backend_only: false + check: {} + columns: + - categoryId + - id + - name + role: world +select_permissions: +- permission: + allow_aggregations: true + columns: + - categoryId + - id + - name + filter: {} + role: world +update_permissions: +- permission: + check: {} + columns: + - categoryId + - id + - name + filter: {} + role: world diff --git a/hasura/metadata/databases/default/tables/public_Topic.yaml b/hasura/metadata/databases/default/tables/public_Topic.yaml new file mode 100644 index 00000000..0ff894f8 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_Topic.yaml @@ -0,0 +1,19 @@ +table: + name: Topic + schema: public +array_relationships: +- name: UserTopics + using: + foreign_key_constraint_on: + column: topicId + table: + name: UserTopic + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - name + filter: {} + role: world diff --git a/hasura/metadata/databases/default/tables/public_User.yaml b/hasura/metadata/databases/default/tables/public_User.yaml new file mode 100644 index 00000000..b1b5dae5 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_User.yaml @@ -0,0 +1,68 @@ +table: + name: User + schema: public +object_relationships: +- name: UserLatestAgency + using: + manual_configuration: + column_mapping: + email: userEmail + insertion_order: null + remote_table: + name: UserLatestAgency + schema: public +array_relationships: +- name: UserAgencies + using: + foreign_key_constraint_on: + column: userEmail + table: + name: UserAgency + schema: public +- name: UserSkillDesires + using: + foreign_key_constraint_on: + column: userEmail + table: + name: UserSkillDesire + schema: public +- name: UserTopics + using: + foreign_key_constraint_on: + column: userEmail + table: + name: UserTopic + schema: public +insert_permissions: +- permission: + backend_only: false + check: + email: + _eq: x-hasura-user-email + columns: + - email + - name + - picture + role: world +select_permissions: +- permission: + allow_aggregations: true + columns: + - email + - name + - picture + filter: {} + role: world +update_permissions: +- permission: + check: + email: + _eq: x-hasura-user-email + columns: + - email + - name + - picture + filter: + email: + _eq: x-hasura-user-email + role: world diff --git a/hasura/metadata/databases/default/tables/public_UserAchievements.yaml b/hasura/metadata/databases/default/tables/public_UserAchievements.yaml new file mode 100644 index 00000000..91cb66e5 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_UserAchievements.yaml @@ -0,0 +1,38 @@ +table: + name: UserAchievements + schema: public +object_relationships: +- name: User + using: + foreign_key_constraint_on: userEmail +insert_permissions: +- permission: + backend_only: false + check: + userEmail: + _eq: x-hasura-user-email + columns: [] + role: world +select_permissions: +- permission: + allow_aggregations: true + columns: + - additionalInfo + - created_at + - id + - label + - points + - step + - userEmail + filter: {} + role: world +update_permissions: +- permission: + check: + userEmail: + _eq: x-hasura-user-email + columns: [] + filter: + userEmail: + _eq: x-hasura-user-email + role: world diff --git a/hasura/metadata/databases/default/tables/public_UserAgency.yaml b/hasura/metadata/databases/default/tables/public_UserAgency.yaml new file mode 100644 index 00000000..635e5ad3 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_UserAgency.yaml @@ -0,0 +1,43 @@ +table: + name: UserAgency + schema: public +object_relationships: +- name: Agency + using: + foreign_key_constraint_on: agency +- name: User + using: + foreign_key_constraint_on: userEmail +insert_permissions: +- permission: + backend_only: false + check: + userEmail: + _eq: x-hasura-user-email + columns: + - userEmail + - agency + - created_at + role: world +select_permissions: +- permission: + allow_aggregations: true + columns: + - created_at + - agency + - userEmail + filter: {} + role: world +update_permissions: +- permission: + check: + userEmail: + _eq: x-hasura-user-email + columns: + - userEmail + - agency + - created_at + filter: + userEmail: + _eq: x-hasura-user-email + role: world diff --git a/hasura/metadata/databases/default/tables/public_UserLatestAgency.yaml b/hasura/metadata/databases/default/tables/public_UserLatestAgency.yaml new file mode 100644 index 00000000..0741a7b2 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_UserLatestAgency.yaml @@ -0,0 +1,11 @@ +table: + name: UserLatestAgency + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - userEmail + - agency + filter: {} + role: world diff --git a/hasura/metadata/databases/default/tables/public_UserSkillDesire.yaml b/hasura/metadata/databases/default/tables/public_UserSkillDesire.yaml new file mode 100644 index 00000000..7a3cec78 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_UserSkillDesire.yaml @@ -0,0 +1,64 @@ +table: + name: UserSkillDesire + schema: public +object_relationships: +- name: Skill + using: + foreign_key_constraint_on: skillId +- name: User + using: + foreign_key_constraint_on: userEmail +insert_permissions: +- permission: + backend_only: false + check: + userEmail: + _eq: x-hasura-user-email + columns: + - created_at + - desireLevel + - skillId + - skillLevel + - userEmail + role: world +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - userEmail + - skillId + - skillLevel + - desireLevel + - created_at + filter: {} + role: world +update_permissions: +- permission: + check: + userEmail: + _eq: x-hasura-user-email + columns: + - created_at + - desireLevel + - skillId + - skillLevel + - userEmail + filter: + userEmail: + _eq: x-hasura-user-email + role: world +event_triggers: +- definition: + enable_manual: false + insert: + columns: "*" + headers: + - name: authorization + value_from_env: NEXT_API_BEARER_TOKEN + name: categoryCompletionAchievement + retry_conf: + interval_sec: 30 + num_retries: 5 + timeout_sec: 60 + webhook_from_env: HASURA_ACHIEVEMENTS_ENDPOINT diff --git a/hasura/metadata/databases/default/tables/public_UserTopic.yaml b/hasura/metadata/databases/default/tables/public_UserTopic.yaml new file mode 100644 index 00000000..991699d8 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_UserTopic.yaml @@ -0,0 +1,63 @@ +table: + name: UserTopic + schema: public +object_relationships: +- name: Topic + using: + foreign_key_constraint_on: topicId +- name: User + using: + foreign_key_constraint_on: userEmail +insert_permissions: +- permission: + backend_only: false + check: + userEmail: + _eq: x-hasura-user-email + columns: + - userEmail + - topicId + - created_at + role: world +select_permissions: +- permission: + allow_aggregations: true + columns: + - created_at + - userEmail + - topicId + filter: {} + role: world +update_permissions: +- permission: + check: + userEmail: + _eq: x-hasura-user-email + columns: + - userEmail + - topicId + - created_at + filter: + userEmail: + _eq: x-hasura-user-email + role: world +delete_permissions: +- permission: + filter: + userEmail: + _eq: x-hasura-user-email + role: world +event_triggers: +- definition: + enable_manual: false + insert: + columns: "*" + headers: + - name: authorization + value_from_env: NEXT_API_BEARER_TOKEN + name: categoryProfileAchievement + retry_conf: + interval_sec: 30 + num_retries: 5 + timeout_sec: 60 + webhook_from_env: HASURA_ACHIEVEMENTS_ENDPOINT diff --git a/hasura/metadata/databases/default/tables/public_UsersCurrentSkillsAndDesires.yaml b/hasura/metadata/databases/default/tables/public_UsersCurrentSkillsAndDesires.yaml new file mode 100644 index 00000000..1955b728 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_UsersCurrentSkillsAndDesires.yaml @@ -0,0 +1,26 @@ +table: + name: UsersCurrentSkillsAndDesires + schema: public +object_relationships: +- name: User + using: + manual_configuration: + column_mapping: + userEmail: email + insertion_order: null + remote_table: + name: User + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - skillId + - categoryId + - userEmail + - name + - skillLevel + - desireLevel + - created_at + filter: {} + role: world diff --git a/hasura/metadata/databases/default/tables/public_ZenikasAverageCurrentSkillsAndDesires.yaml b/hasura/metadata/databases/default/tables/public_ZenikasAverageCurrentSkillsAndDesires.yaml new file mode 100644 index 00000000..61b520dd --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_ZenikasAverageCurrentSkillsAndDesires.yaml @@ -0,0 +1,25 @@ +table: + name: ZenikasAverageCurrentSkillsAndDesires + schema: public +object_relationships: +- name: Category + using: + manual_configuration: + column_mapping: + categoryId: id + insertion_order: null + remote_table: + name: Category + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - skillId + - categoryId + - name + - averageSkillLevel + - averageDesireLevel + - userCount + filter: {} + role: world diff --git a/hasura/metadata/databases/default/tables/tables.yaml b/hasura/metadata/databases/default/tables/tables.yaml new file mode 100644 index 00000000..0f3968ef --- /dev/null +++ b/hasura/metadata/databases/default/tables/tables.yaml @@ -0,0 +1,13 @@ +- "!include public_AgenciesAverageCurrentSkillsAndDesires.yaml" +- "!include public_Agency.yaml" +- "!include public_Category.yaml" +- "!include public_Skill.yaml" +- "!include public_Topic.yaml" +- "!include public_User.yaml" +- "!include public_UserAchievements.yaml" +- "!include public_UserAgency.yaml" +- "!include public_UserLatestAgency.yaml" +- "!include public_UserSkillDesire.yaml" +- "!include public_UserTopic.yaml" +- "!include public_UsersCurrentSkillsAndDesires.yaml" +- "!include public_ZenikasAverageCurrentSkillsAndDesires.yaml" diff --git a/hasura/metadata/functions.yaml b/hasura/metadata/functions.yaml deleted file mode 100644 index fe51488c..00000000 --- a/hasura/metadata/functions.yaml +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/hasura/metadata/query_collections.yaml b/hasura/metadata/query_collections.yaml index fe51488c..62537ee5 100644 --- a/hasura/metadata/query_collections.yaml +++ b/hasura/metadata/query_collections.yaml @@ -1 +1,126 @@ -[] +- name: allowed-queries + definition: + queries: + - name: getAllAgencies + query: |- + query allAgencies { + Agency { + name + } + } + - name: getAllTopics + query: |- + query allTopics { + Topic { + name + } + } + - name: getUserInfosByAgencyAndTopic + query: |- + query getUserByAgencyAndTopic($agency: String!, $topic: String!) { + User(where: {UserLatestAgency: {agency: {_eq: $agency}}, UserTopics: {Topic: {name: {_eq: $topic}}}}) { + name + email + } + } + - name: update skll from skill ID + query: |- + mutation addUserSkill($email: String!, $skillId: uuid!, $skillLevel: Int!, $desireLevel: Int!) { + insert_UserSkillDesire(objects: {skillId: $skillId, skillLevel: $skillLevel, desireLevel: $desireLevel, userEmail: $email}, on_conflict: {constraint: UserSkillDesire_userEmail_skillId_created_at_key, update_columns: [skillLevel, desireLevel]}) { + affected_rows + } + } + - name: get-all-emails + query: |- + query addUserSkill { + User { + email + } + } + - name: getSkillName + query: |- + query addUserSkill($skill: uuid!) { + Skill_by_pk(id: $skill) { + name + } + } + - name: getSkillInfos + query: |- + query getSkillInfosFromID($skill: uuid!) { + Skill_by_pk(id: $skill) { + name + Category { + label + } + } + } + - name: getSkillNameByID + query: |- + query getSKillNameByID($id: uuid!) { + Skill_by_pk(id: $id) { + name + } + } + - name: getAllSkillsName + query: |- + query getAllSkillsName { + Skill { + name + } + } + - name: getSkillCategoryAndIDByName + query: |- + query getSkillCategoryAndIDByName($name: String!) { + Skill(where: {name: {_eq: $name}}) { + Category { + label + } + id + } + } + - name: getBotNotifications + query: |- + query getBotNotifications($email: String!) { + User(where: {email: {_eq: $email}}) { + botNotifications + } + } + - name: setBotNotifications + query: |- + mutation setBotNotifications($email: String!, $botNotifications: Boolean!) { + update_User(where: {email: {_eq: $email}}, _set: {botNotifications: $botNotifications}) { + affected_rows + } + } + - name: getSkillIDByName + query: |- + query getSkillCategoryAndIDByName($name: String!) { + Skill(where: {name: {_eq: $name}}) { + id + } + } + - name: getSkillsInfosByIDAndEmail + query: |- + query getSkillInfosFromEmailAndID($email: String!, $id: uuid!) { + UserSkillDesire(where: {User: {email: {_eq: $email}}, skillId: {_eq: $id}}) { + Skill { + UserSkillDesires { + desireLevel + skillLevel + created_at + } + } + } + } + - name: getCreatedAt + query: |- + query getSkillInfosFromID($email: String!) { + UserSkillDesire(where: {User: {email: {_eq: $email}}}, distinct_on: skillId) { + Skill { + UserSkillDesires { + created_at + skillId + } + } + } + } diff --git a/hasura/metadata/rest_endpoints.yaml b/hasura/metadata/rest_endpoints.yaml new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/hasura/metadata/rest_endpoints.yaml @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml deleted file mode 100644 index 676589da..00000000 --- a/hasura/metadata/tables.yaml +++ /dev/null @@ -1,492 +0,0 @@ -- table: - schema: public - name: AgenciesAverageCurrentSkillsAndDesires - select_permissions: - - role: world - permission: - columns: - - skillId - - categoryId - - agency - - name - - averageSkillLevel - - averageDesireLevel - - userCount - filter: {} - allow_aggregations: true -- table: - schema: public - name: Agency - array_relationships: - - name: UserAgencies - using: - foreign_key_constraint_on: - column: agency - table: - schema: public - name: UserAgency - select_permissions: - - role: world - permission: - columns: - - name - filter: {} - allow_aggregations: true -- table: - schema: public - name: Category - array_relationships: - - name: AgenciesAverageCurrentSkillsAndDesires - using: - manual_configuration: - remote_table: - schema: public - name: AgenciesAverageCurrentSkillsAndDesires - insertion_order: null - column_mapping: - id: categoryId - - name: CurrentSkillsAndDesires - using: - manual_configuration: - remote_table: - schema: public - name: UsersCurrentSkillsAndDesires - insertion_order: null - column_mapping: - id: categoryId - - name: Skills - using: - foreign_key_constraint_on: - column: categoryId - table: - schema: public - name: Skill - - name: ZenikasAverageCurrentSkillsAndDesires - using: - manual_configuration: - remote_table: - schema: public - name: ZenikasAverageCurrentSkillsAndDesires - insertion_order: null - column_mapping: - id: categoryId - select_permissions: - - role: world - permission: - columns: - - id - - label - - x - - "y" - - color - - index - filter: {} - allow_aggregations: true -- table: - schema: public - name: Skill - object_relationships: - - name: Category - using: - foreign_key_constraint_on: categoryId - array_relationships: - - name: UserSkillDesires - using: - foreign_key_constraint_on: - column: skillId - table: - schema: public - name: UserSkillDesire - - name: UsersCurrentSkillsAndDesires - using: - manual_configuration: - remote_table: - schema: public - name: UsersCurrentSkillsAndDesires - insertion_order: null - column_mapping: - id: skillId - insert_permissions: - - role: world - permission: - check: {} - columns: - - categoryId - - id - - name - backend_only: false - select_permissions: - - role: world - permission: - columns: - - categoryId - - id - - name - filter: {} - allow_aggregations: true - update_permissions: - - role: world - permission: - columns: - - categoryId - - id - - name - filter: {} - check: {} -- table: - schema: public - name: Topic - array_relationships: - - name: UserTopics - using: - foreign_key_constraint_on: - column: topicId - table: - schema: public - name: UserTopic - select_permissions: - - role: world - permission: - columns: - - id - - name - filter: {} - allow_aggregations: true -- table: - schema: public - name: User - object_relationships: - - name: UserLatestAgency - using: - manual_configuration: - remote_table: - schema: public - name: UserLatestAgency - insertion_order: null - column_mapping: - email: userEmail - array_relationships: - - name: UserAgencies - using: - foreign_key_constraint_on: - column: userEmail - table: - schema: public - name: UserAgency - - name: UserSkillDesires - using: - foreign_key_constraint_on: - column: userEmail - table: - schema: public - name: UserSkillDesire - - name: UserTopics - using: - foreign_key_constraint_on: - column: userEmail - table: - schema: public - name: UserTopic - insert_permissions: - - role: world - permission: - check: - email: - _eq: x-hasura-user-email - columns: - - email - - name - - picture - backend_only: false - select_permissions: - - role: world - permission: - columns: - - email - - name - - picture - filter: {} - allow_aggregations: true - update_permissions: - - role: world - permission: - columns: - - email - - name - - picture - filter: - email: - _eq: x-hasura-user-email - check: - email: - _eq: x-hasura-user-email -- table: - schema: public - name: UserAchievements - object_relationships: - - name: User - using: - foreign_key_constraint_on: userEmail - insert_permissions: - - role: world - permission: - check: - userEmail: - _eq: x-hasura-user-email - columns: [] - backend_only: false - select_permissions: - - role: world - permission: - columns: - - additionalInfo - - created_at - - id - - label - - points - - step - - userEmail - filter: {} - allow_aggregations: true - update_permissions: - - role: world - permission: - columns: [] - filter: - userEmail: - _eq: x-hasura-user-email - check: - userEmail: - _eq: x-hasura-user-email -- table: - schema: public - name: UserAgency - object_relationships: - - name: Agency - using: - foreign_key_constraint_on: agency - - name: User - using: - foreign_key_constraint_on: userEmail - insert_permissions: - - role: world - permission: - check: - userEmail: - _eq: x-hasura-user-email - columns: - - userEmail - - agency - - created_at - backend_only: false - select_permissions: - - role: world - permission: - columns: - - created_at - - agency - - userEmail - filter: {} - allow_aggregations: true - update_permissions: - - role: world - permission: - columns: - - userEmail - - agency - - created_at - filter: - userEmail: - _eq: x-hasura-user-email - check: - userEmail: - _eq: x-hasura-user-email -- table: - schema: public - name: UserLatestAgency - select_permissions: - - role: world - permission: - columns: - - userEmail - - agency - filter: {} - allow_aggregations: true -- table: - schema: public - name: UserSkillDesire - object_relationships: - - name: Skill - using: - foreign_key_constraint_on: skillId - - name: User - using: - foreign_key_constraint_on: userEmail - insert_permissions: - - role: world - permission: - check: - userEmail: - _eq: x-hasura-user-email - columns: - - created_at - - desireLevel - - skillId - - skillLevel - - userEmail - backend_only: false - select_permissions: - - role: world - permission: - columns: - - id - - userEmail - - skillId - - skillLevel - - desireLevel - - created_at - filter: {} - allow_aggregations: true - update_permissions: - - role: world - permission: - columns: - - created_at - - desireLevel - - skillId - - skillLevel - - userEmail - filter: - userEmail: - _eq: x-hasura-user-email - check: - userEmail: - _eq: x-hasura-user-email - event_triggers: - - name: categoryCompletionAchievement - definition: - enable_manual: false - insert: - columns: '*' - retry_conf: - num_retries: 5 - interval_sec: 30 - timeout_sec: 60 - webhook_from_env: HASURA_ACHIEVEMENTS_ENDPOINT - headers: - - name: authorization - value_from_env: NEXT_API_BEARER_TOKEN -- table: - schema: public - name: UserTopic - object_relationships: - - name: Topic - using: - foreign_key_constraint_on: topicId - - name: User - using: - foreign_key_constraint_on: userEmail - insert_permissions: - - role: world - permission: - check: - userEmail: - _eq: x-hasura-user-email - columns: - - userEmail - - topicId - - created_at - backend_only: false - select_permissions: - - role: world - permission: - columns: - - created_at - - userEmail - - topicId - filter: {} - allow_aggregations: true - update_permissions: - - role: world - permission: - columns: - - userEmail - - topicId - - created_at - filter: - userEmail: - _eq: x-hasura-user-email - check: - userEmail: - _eq: x-hasura-user-email - delete_permissions: - - role: world - permission: - filter: - userEmail: - _eq: x-hasura-user-email - event_triggers: - - name: categoryProfileAchievement - definition: - enable_manual: false - insert: - columns: '*' - retry_conf: - num_retries: 5 - interval_sec: 30 - timeout_sec: 60 - webhook_from_env: HASURA_ACHIEVEMENTS_ENDPOINT - headers: - - name: authorization - value_from_env: NEXT_API_BEARER_TOKEN -- table: - schema: public - name: UsersCurrentSkillsAndDesires - object_relationships: - - name: User - using: - manual_configuration: - remote_table: - schema: public - name: User - insertion_order: null - column_mapping: - userEmail: email - select_permissions: - - role: world - permission: - columns: - - skillId - - categoryId - - userEmail - - name - - skillLevel - - desireLevel - - created_at - filter: {} - allow_aggregations: true -- table: - schema: public - name: ZenikasAverageCurrentSkillsAndDesires - object_relationships: - - name: Category - using: - manual_configuration: - remote_table: - schema: public - name: Category - insertion_order: null - column_mapping: - categoryId: id - select_permissions: - - role: world - permission: - columns: - - skillId - - categoryId - - name - - averageSkillLevel - - averageDesireLevel - - userCount - filter: {} - allow_aggregations: true diff --git a/hasura/metadata/version.yaml b/hasura/metadata/version.yaml index 22817d2a..0a70affa 100644 --- a/hasura/metadata/version.yaml +++ b/hasura/metadata/version.yaml @@ -1 +1 @@ -version: 2 +version: 3 diff --git a/hasura/migrations/1620140585184_init/up.sql b/hasura/migrations/default/1620140585184_init/up.sql similarity index 100% rename from hasura/migrations/1620140585184_init/up.sql rename to hasura/migrations/default/1620140585184_init/up.sql diff --git a/hasura/migrations/1621458424098_run_sql_migration/up.sql b/hasura/migrations/default/1621458424098_run_sql_migration/up.sql similarity index 100% rename from hasura/migrations/1621458424098_run_sql_migration/up.sql rename to hasura/migrations/default/1621458424098_run_sql_migration/up.sql diff --git a/hasura/migrations/1621685606849_run_create_view_userscurrentskillsanddesires/up.sql b/hasura/migrations/default/1621685606849_run_create_view_userscurrentskillsanddesires/up.sql similarity index 100% rename from hasura/migrations/1621685606849_run_create_view_userscurrentskillsanddesires/up.sql rename to hasura/migrations/default/1621685606849_run_create_view_userscurrentskillsanddesires/up.sql diff --git a/hasura/migrations/1621690706082_run_sql_migration/up.sql b/hasura/migrations/default/1621690706082_run_sql_migration/up.sql similarity index 100% rename from hasura/migrations/1621690706082_run_sql_migration/up.sql rename to hasura/migrations/default/1621690706082_run_sql_migration/up.sql diff --git a/hasura/migrations/1621690720527_run_sql_migration/up.sql b/hasura/migrations/default/1621690720527_run_sql_migration/up.sql similarity index 100% rename from hasura/migrations/1621690720527_run_sql_migration/up.sql rename to hasura/migrations/default/1621690720527_run_sql_migration/up.sql diff --git a/hasura/migrations/1621695806497_run_sql_migration/up.sql b/hasura/migrations/default/1621695806497_run_sql_migration/up.sql similarity index 100% rename from hasura/migrations/1621695806497_run_sql_migration/up.sql rename to hasura/migrations/default/1621695806497_run_sql_migration/up.sql diff --git a/hasura/migrations/1621695937620_run_sql_migration/up.sql b/hasura/migrations/default/1621695937620_run_sql_migration/up.sql similarity index 100% rename from hasura/migrations/1621695937620_run_sql_migration/up.sql rename to hasura/migrations/default/1621695937620_run_sql_migration/up.sql diff --git a/hasura/migrations/1621695989248_run_sql_migration/up.sql b/hasura/migrations/default/1621695989248_run_sql_migration/up.sql similarity index 100% rename from hasura/migrations/1621695989248_run_sql_migration/up.sql rename to hasura/migrations/default/1621695989248_run_sql_migration/up.sql diff --git a/hasura/migrations/1621852454428_run_sql_migration/up.sql b/hasura/migrations/default/1621852454428_run_sql_migration/up.sql similarity index 100% rename from hasura/migrations/1621852454428_run_sql_migration/up.sql rename to hasura/migrations/default/1621852454428_run_sql_migration/up.sql diff --git a/hasura/migrations/1623761251964_create_table_public_UserSkillDesire/down.sql b/hasura/migrations/default/1623761251964_create_table_public_UserSkillDesire/down.sql similarity index 100% rename from hasura/migrations/1623761251964_create_table_public_UserSkillDesire/down.sql rename to hasura/migrations/default/1623761251964_create_table_public_UserSkillDesire/down.sql diff --git a/hasura/migrations/1623761251964_create_table_public_UserSkillDesire/up.sql b/hasura/migrations/default/1623761251964_create_table_public_UserSkillDesire/up.sql similarity index 100% rename from hasura/migrations/1623761251964_create_table_public_UserSkillDesire/up.sql rename to hasura/migrations/default/1623761251964_create_table_public_UserSkillDesire/up.sql diff --git a/hasura/migrations/1623763366554_set_fk_public_UserSkillDesire_userEmail/down.sql b/hasura/migrations/default/1623763366554_set_fk_public_UserSkillDesire_userEmail/down.sql similarity index 100% rename from hasura/migrations/1623763366554_set_fk_public_UserSkillDesire_userEmail/down.sql rename to hasura/migrations/default/1623763366554_set_fk_public_UserSkillDesire_userEmail/down.sql diff --git a/hasura/migrations/1623763366554_set_fk_public_UserSkillDesire_userEmail/up.sql b/hasura/migrations/default/1623763366554_set_fk_public_UserSkillDesire_userEmail/up.sql similarity index 100% rename from hasura/migrations/1623763366554_set_fk_public_UserSkillDesire_userEmail/up.sql rename to hasura/migrations/default/1623763366554_set_fk_public_UserSkillDesire_userEmail/up.sql diff --git a/hasura/migrations/1623763387833_set_fk_public_UserSkillDesire_skillId/down.sql b/hasura/migrations/default/1623763387833_set_fk_public_UserSkillDesire_skillId/down.sql similarity index 100% rename from hasura/migrations/1623763387833_set_fk_public_UserSkillDesire_skillId/down.sql rename to hasura/migrations/default/1623763387833_set_fk_public_UserSkillDesire_skillId/down.sql diff --git a/hasura/migrations/1623763387833_set_fk_public_UserSkillDesire_skillId/up.sql b/hasura/migrations/default/1623763387833_set_fk_public_UserSkillDesire_skillId/up.sql similarity index 100% rename from hasura/migrations/1623763387833_set_fk_public_UserSkillDesire_skillId/up.sql rename to hasura/migrations/default/1623763387833_set_fk_public_UserSkillDesire_skillId/up.sql diff --git a/hasura/migrations/1623763518443_run_copy_skill_and_appetite_to_unified_table/up.sql b/hasura/migrations/default/1623763518443_run_copy_skill_and_appetite_to_unified_table/up.sql similarity index 100% rename from hasura/migrations/1623763518443_run_copy_skill_and_appetite_to_unified_table/up.sql rename to hasura/migrations/default/1623763518443_run_copy_skill_and_appetite_to_unified_table/up.sql diff --git a/hasura/migrations/1623764613660_drop_view_public_UsersCurrentSkillsAndDesires/up.sql b/hasura/migrations/default/1623764613660_drop_view_public_UsersCurrentSkillsAndDesires/up.sql similarity index 100% rename from hasura/migrations/1623764613660_drop_view_public_UsersCurrentSkillsAndDesires/up.sql rename to hasura/migrations/default/1623764613660_drop_view_public_UsersCurrentSkillsAndDesires/up.sql diff --git a/hasura/migrations/1623764620245_run_update_users_current_skills_and_desires_view/up.sql b/hasura/migrations/default/1623764620245_run_update_users_current_skills_and_desires_view/up.sql similarity index 100% rename from hasura/migrations/1623764620245_run_update_users_current_skills_and_desires_view/up.sql rename to hasura/migrations/default/1623764620245_run_update_users_current_skills_and_desires_view/up.sql diff --git a/hasura/migrations/1623765674171_drop_view_public_ZenikasAverageCurrentSkillsAndDesires/up.sql b/hasura/migrations/default/1623765674171_drop_view_public_ZenikasAverageCurrentSkillsAndDesires/up.sql similarity index 100% rename from hasura/migrations/1623765674171_drop_view_public_ZenikasAverageCurrentSkillsAndDesires/up.sql rename to hasura/migrations/default/1623765674171_drop_view_public_ZenikasAverageCurrentSkillsAndDesires/up.sql diff --git a/hasura/migrations/1623765765561_run_update_users_current_skills_and_desires_view/up.sql b/hasura/migrations/default/1623765765561_run_update_users_current_skills_and_desires_view/up.sql similarity index 100% rename from hasura/migrations/1623765765561_run_update_users_current_skills_and_desires_view/up.sql rename to hasura/migrations/default/1623765765561_run_update_users_current_skills_and_desires_view/up.sql diff --git a/hasura/migrations/1623766286251_drop_view_public_AgenciesAverageCurrentSkillsAndDesires/up.sql b/hasura/migrations/default/1623766286251_drop_view_public_AgenciesAverageCurrentSkillsAndDesires/up.sql similarity index 100% rename from hasura/migrations/1623766286251_drop_view_public_AgenciesAverageCurrentSkillsAndDesires/up.sql rename to hasura/migrations/default/1623766286251_drop_view_public_AgenciesAverageCurrentSkillsAndDesires/up.sql diff --git a/hasura/migrations/1623766338114_run_update_agencies_current_skills_and_desires_view/up.sql b/hasura/migrations/default/1623766338114_run_update_agencies_current_skills_and_desires_view/up.sql similarity index 100% rename from hasura/migrations/1623766338114_run_update_agencies_current_skills_and_desires_view/up.sql rename to hasura/migrations/default/1623766338114_run_update_agencies_current_skills_and_desires_view/up.sql diff --git a/hasura/migrations/1623766510639_drop_table_public_TechnicalAppetite/up.sql b/hasura/migrations/default/1623766510639_drop_table_public_TechnicalAppetite/up.sql similarity index 100% rename from hasura/migrations/1623766510639_drop_table_public_TechnicalAppetite/up.sql rename to hasura/migrations/default/1623766510639_drop_table_public_TechnicalAppetite/up.sql diff --git a/hasura/migrations/1623766526271_drop_table_public_UserSkill/up.sql b/hasura/migrations/default/1623766526271_drop_table_public_UserSkill/up.sql similarity index 100% rename from hasura/migrations/1623766526271_drop_table_public_UserSkill/up.sql rename to hasura/migrations/default/1623766526271_drop_table_public_UserSkill/up.sql diff --git a/hasura/migrations/1628779887119_create_table_public_UserAchievements/down.sql b/hasura/migrations/default/1628779887119_create_table_public_UserAchievements/down.sql similarity index 100% rename from hasura/migrations/1628779887119_create_table_public_UserAchievements/down.sql rename to hasura/migrations/default/1628779887119_create_table_public_UserAchievements/down.sql diff --git a/hasura/migrations/1628779887119_create_table_public_UserAchievements/up.sql b/hasura/migrations/default/1628779887119_create_table_public_UserAchievements/up.sql similarity index 100% rename from hasura/migrations/1628779887119_create_table_public_UserAchievements/up.sql rename to hasura/migrations/default/1628779887119_create_table_public_UserAchievements/up.sql diff --git a/hasura/migrations/1633697332723_alter_table_public_User_alter_column_name/down.sql b/hasura/migrations/default/1633697332723_alter_table_public_User_alter_column_name/down.sql similarity index 100% rename from hasura/migrations/1633697332723_alter_table_public_User_alter_column_name/down.sql rename to hasura/migrations/default/1633697332723_alter_table_public_User_alter_column_name/down.sql diff --git a/hasura/migrations/1633697332723_alter_table_public_User_alter_column_name/up.sql b/hasura/migrations/default/1633697332723_alter_table_public_User_alter_column_name/up.sql similarity index 100% rename from hasura/migrations/1633697332723_alter_table_public_User_alter_column_name/up.sql rename to hasura/migrations/default/1633697332723_alter_table_public_User_alter_column_name/up.sql diff --git a/hasura/seeds/.gitignore b/hasura/seeds/default/.gitignore similarity index 100% rename from hasura/seeds/.gitignore rename to hasura/seeds/default/.gitignore diff --git a/hasura/seeds/Agency.json b/hasura/seeds/default/Agency.json similarity index 100% rename from hasura/seeds/Agency.json rename to hasura/seeds/default/Agency.json diff --git a/hasura/seeds/Category.json b/hasura/seeds/default/Category.json similarity index 100% rename from hasura/seeds/Category.json rename to hasura/seeds/default/Category.json diff --git a/hasura/seeds/Topic.json b/hasura/seeds/default/Topic.json similarity index 100% rename from hasura/seeds/Topic.json rename to hasura/seeds/default/Topic.json diff --git a/hasura/seeds/seedscript.ts b/hasura/seeds/default/seedscript.ts similarity index 100% rename from hasura/seeds/seedscript.ts rename to hasura/seeds/default/seedscript.ts