diff --git a/hasura/config.yaml b/hasura/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..85d6ce2a3c7285e4fa45de946f53a42991639060 --- /dev/null +++ b/hasura/config.yaml @@ -0,0 +1,6 @@ +version: 3 +endpoint: http://localhost:15432 +metadata_directory: metadata +actions: + kind: synchronous + handler_webhook_baseurl: "http://172.17.0.1:7124/api" diff --git a/hasura/jwk_props_dev.json b/hasura/jwk_props_dev.json new file mode 100644 index 0000000000000000000000000000000000000000..84d71062d53fbef34d6cea5478255c221f954f67 --- /dev/null +++ b/hasura/jwk_props_dev.json @@ -0,0 +1,13 @@ +{ + "jwk_url": "http://172.17.0.1:7124/.well-known/jwks.json", + "header": { + "type": "Authorization" + }, + "issuer": "urn:hackerfest:systems:auth", + "claims_namespace": "urn:hackerfest:resources:claims", + "claims_map": { + "x-hasura-user-id": { "path": "$$['urn:hackerfest:resources:claims']['user-id']" }, + "x-hasura-default-role": { "path": "$$['urn:hackerfest:resources:claims']['default-role']" }, + "x-hasura-allowed-roles": { "path": "$$['urn:hackerfest:resources:claims']['allowed-roles']" } + } +} \ No newline at end of file diff --git a/hasura/metadata/actions.graphql b/hasura/metadata/actions.graphql new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hasura/metadata/actions.yaml b/hasura/metadata/actions.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1edb4c2ffc54522b4a3fff02fbbee9dd1690b565 --- /dev/null +++ b/hasura/metadata/actions.yaml @@ -0,0 +1,6 @@ +actions: [] +custom_types: + enums: [] + input_objects: [] + objects: [] + scalars: [] diff --git a/hasura/metadata/allow_list.yaml b/hasura/metadata/allow_list.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fe51488c7066f6687ef680d6bfaa4f7768ef205c --- /dev/null +++ b/hasura/metadata/allow_list.yaml @@ -0,0 +1 @@ +[] diff --git a/hasura/metadata/cron_triggers.yaml b/hasura/metadata/cron_triggers.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fe51488c7066f6687ef680d6bfaa4f7768ef205c --- /dev/null +++ b/hasura/metadata/cron_triggers.yaml @@ -0,0 +1 @@ +[] diff --git a/hasura/metadata/databases/databases.yaml b/hasura/metadata/databases/databases.yaml new file mode 100644 index 0000000000000000000000000000000000000000..65a11b202ed88526ac3cff9018de41a763814fd9 --- /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_analytics.yaml b/hasura/metadata/databases/default/tables/public_analytics.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ec71a3b68fe56dafe840f395bcbe31b5cc012949 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_analytics.yaml @@ -0,0 +1,32 @@ +table: + name: analytics + schema: public +object_relationships: +- name: parent + using: + foreign_key_constraint_on: parent_id +array_relationships: +- name: children + using: + foreign_key_constraint_on: + column: parent_id + table: + name: analytics + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - session_id + - action + - event + - start_time + - end_time + - parent_id + - properties + - location + - device + - meta + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_bundle_codes.yaml b/hasura/metadata/databases/default/tables/public_bundle_codes.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d49af64c4cebe385f7b86e0ce85e87a5b91f7333 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_bundle_codes.yaml @@ -0,0 +1,25 @@ +table: + name: bundle_codes + schema: public +array_relationships: +- name: user_bundle_codes + using: + foreign_key_constraint_on: + column: bundle_code_id + table: + name: user_bundle_codes + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - name + - description + - platforms + - meta + - created_at + - updated_at + - deleted_at + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_files.yaml b/hasura/metadata/databases/default/tables/public_files.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e82bf5f883b26a5adb457bebaf1efa350aaf61a9 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_files.yaml @@ -0,0 +1,45 @@ +table: + name: files + schema: public +object_relationships: +- name: files_search_index + using: + foreign_key_constraint_on: + column: file_id + table: + name: files_search_index + schema: public +- name: user + using: + foreign_key_constraint_on: user_id +array_relationships: +- name: user_file_likes + using: + foreign_key_constraint_on: + column: file_id + table: + name: user_file_likes + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - user_id + - provider + - file_root + - file_name + - stream + - comment + - tags + - labels + - featured + - requires_approval + - approved + - meta + - created_at + - updated_at + - deleted_at + - featured_at + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_files_search_index.yaml b/hasura/metadata/databases/default/tables/public_files_search_index.yaml new file mode 100644 index 0000000000000000000000000000000000000000..183be4b89af525732c2a9b45240d6ad434c578d7 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_files_search_index.yaml @@ -0,0 +1,15 @@ +table: + name: files_search_index + schema: public +object_relationships: +- name: file + using: + foreign_key_constraint_on: file_id +select_permissions: +- permission: + allow_aggregations: true + columns: + - file_id + - search_index + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_metrics.yaml b/hasura/metadata/databases/default/tables/public_metrics.yaml new file mode 100644 index 0000000000000000000000000000000000000000..72a28305f5ca224b7a06b9fe54f5f1056296e8c8 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_metrics.yaml @@ -0,0 +1,21 @@ +table: + name: metrics + schema: public +object_relationships: +- name: user + using: + foreign_key_constraint_on: author_id +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - value + - type + - location + - author_id + - meta + - recorded_at + - deleted_at + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_oauth_access_tokens.yaml b/hasura/metadata/databases/default/tables/public_oauth_access_tokens.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fbcc3007bb0429c27192fb9cbb4726f86200fa24 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_oauth_access_tokens.yaml @@ -0,0 +1,10 @@ +table: + name: oauth_access_tokens + schema: public +object_relationships: +- name: oauth_client + using: + foreign_key_constraint_on: client_id +- name: user + using: + foreign_key_constraint_on: user_id diff --git a/hasura/metadata/databases/default/tables/public_oauth_authorization_codes.yaml b/hasura/metadata/databases/default/tables/public_oauth_authorization_codes.yaml new file mode 100644 index 0000000000000000000000000000000000000000..eafee9b233460a27823462a01d7a3d0d592f6c6f --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_oauth_authorization_codes.yaml @@ -0,0 +1,10 @@ +table: + name: oauth_authorization_codes + schema: public +object_relationships: +- name: oauth_client + using: + foreign_key_constraint_on: client_id +- name: user + using: + foreign_key_constraint_on: user_id diff --git a/hasura/metadata/databases/default/tables/public_oauth_clients.yaml b/hasura/metadata/databases/default/tables/public_oauth_clients.yaml new file mode 100644 index 0000000000000000000000000000000000000000..749d7f3013648dd033e6f4fd50731aa2422ec78a --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_oauth_clients.yaml @@ -0,0 +1,47 @@ +table: + name: oauth_clients + schema: public +object_relationships: +- name: user + using: + foreign_key_constraint_on: owner_id +array_relationships: +- name: oauth_access_tokens + using: + foreign_key_constraint_on: + column: client_id + table: + name: oauth_access_tokens + schema: public +- name: oauth_authorization_codes + using: + foreign_key_constraint_on: + column: client_id + table: + name: oauth_authorization_codes + schema: public +- name: oauth_refresh_tokens + using: + foreign_key_constraint_on: + column: client_id + table: + name: oauth_refresh_tokens + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - secret + - owner_id + - redirect_uris + - grant_types + - internal + - meta + - created_at + - updated_at + - deleted_at + - name + - description + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_oauth_refresh_tokens.yaml b/hasura/metadata/databases/default/tables/public_oauth_refresh_tokens.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4aed769d5606c429a451b489ccbfc553f5fe0232 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_oauth_refresh_tokens.yaml @@ -0,0 +1,10 @@ +table: + name: oauth_refresh_tokens + schema: public +object_relationships: +- name: oauth_client + using: + foreign_key_constraint_on: client_id +- name: user + using: + foreign_key_constraint_on: user_id diff --git a/hasura/metadata/databases/default/tables/public_survey_users.yaml b/hasura/metadata/databases/default/tables/public_survey_users.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c598f860cbcd9a6be63586d4df9da0ac84a824ad --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_survey_users.yaml @@ -0,0 +1,20 @@ +table: + name: survey_users + schema: public +object_relationships: +- name: survey + using: + foreign_key_constraint_on: survey_id +- name: user + using: + foreign_key_constraint_on: user_id +select_permissions: +- permission: + allow_aggregations: true + columns: + - survey_id + - user_id + - properties + - created_at + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_surveys.yaml b/hasura/metadata/databases/default/tables/public_surveys.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c39d8d01a7749b8408cf87ca305b9cc88ff97c59 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_surveys.yaml @@ -0,0 +1,33 @@ +table: + name: surveys + schema: public +array_relationships: +- name: survey_users + using: + foreign_key_constraint_on: + column: survey_id + table: + name: survey_users + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - slug + - name + - header_image_url + - partner_names + - description + - requirements + - settings + - properties + - public + - published_at + - expires_at + - meta + - created_at + - updated_at + - deleted_at + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_uploads.yaml b/hasura/metadata/databases/default/tables/public_uploads.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0d2f61c89ee2d31d5a71786a826b903b72d805c7 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_uploads.yaml @@ -0,0 +1,25 @@ +table: + name: uploads + schema: public +object_relationships: +- name: user + using: + foreign_key_constraint_on: user_id +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - user_id + - provider + - upload_url + - request_params + - expires_at + - status + - status_reason + - meta + - created_at + - updated_at + - deleted_at + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_user_bundle_codes.yaml b/hasura/metadata/databases/default/tables/public_user_bundle_codes.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2044a9c5741092ffa37ba9d502e3faeb82a739cb --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_user_bundle_codes.yaml @@ -0,0 +1,18 @@ +table: + name: user_bundle_codes + schema: public +object_relationships: +- name: bundle_code + using: + foreign_key_constraint_on: bundle_code_id +- name: user + using: + foreign_key_constraint_on: user_id +select_permissions: +- permission: + allow_aggregations: true + columns: + - user_id + - bundle_code_id + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_user_file_likes.yaml b/hasura/metadata/databases/default/tables/public_user_file_likes.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cb1016fd9d75793e6e9d220d713a1dbf016a6434 --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_user_file_likes.yaml @@ -0,0 +1,21 @@ +table: + name: user_file_likes + schema: public +object_relationships: +- name: file + using: + foreign_key_constraint_on: file_id +- name: user + using: + foreign_key_constraint_on: user_id +select_permissions: +- permission: + allow_aggregations: true + columns: + - user_id + - file_id + - created_at + - updated_at + - deleted_at + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/public_users.yaml b/hasura/metadata/databases/default/tables/public_users.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3a2f1badf32a0e7a9c6c4d139ce7b0fa772685bb --- /dev/null +++ b/hasura/metadata/databases/default/tables/public_users.yaml @@ -0,0 +1,89 @@ +table: + name: users + schema: public +array_relationships: +- name: files + using: + foreign_key_constraint_on: + column: user_id + table: + name: files + schema: public +- name: metrics + using: + foreign_key_constraint_on: + column: author_id + table: + name: metrics + schema: public +- name: oauth_access_tokens + using: + foreign_key_constraint_on: + column: user_id + table: + name: oauth_access_tokens + schema: public +- name: oauth_authorization_codes + using: + foreign_key_constraint_on: + column: user_id + table: + name: oauth_authorization_codes + schema: public +- name: oauth_clients + using: + foreign_key_constraint_on: + column: owner_id + table: + name: oauth_clients + schema: public +- name: oauth_refresh_tokens + using: + foreign_key_constraint_on: + column: user_id + table: + name: oauth_refresh_tokens + schema: public +- name: survey_users + using: + foreign_key_constraint_on: + column: user_id + table: + name: survey_users + schema: public +- name: uploads + using: + foreign_key_constraint_on: + column: user_id + table: + name: uploads + schema: public +- name: user_bundle_codes + using: + foreign_key_constraint_on: + column: user_id + table: + name: user_bundle_codes + schema: public +- name: user_file_likes + using: + foreign_key_constraint_on: + column: user_id + table: + name: user_file_likes + schema: public +select_permissions: +- permission: + allow_aggregations: true + columns: + - id + - name + - email + - password + - reset_token + - meta + - created_at + - updated_at + - deleted_at + filter: {} + role: overseer diff --git a/hasura/metadata/databases/default/tables/tables.yaml b/hasura/metadata/databases/default/tables/tables.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ae8e81f9b3d88e5b8a35da5f395bfea4c7ab5979 --- /dev/null +++ b/hasura/metadata/databases/default/tables/tables.yaml @@ -0,0 +1,15 @@ +- "!include public_analytics.yaml" +- "!include public_bundle_codes.yaml" +- "!include public_files.yaml" +- "!include public_files_search_index.yaml" +- "!include public_metrics.yaml" +- "!include public_oauth_access_tokens.yaml" +- "!include public_oauth_authorization_codes.yaml" +- "!include public_oauth_clients.yaml" +- "!include public_oauth_refresh_tokens.yaml" +- "!include public_survey_users.yaml" +- "!include public_surveys.yaml" +- "!include public_uploads.yaml" +- "!include public_user_bundle_codes.yaml" +- "!include public_user_file_likes.yaml" +- "!include public_users.yaml" diff --git a/hasura/metadata/query_collections.yaml b/hasura/metadata/query_collections.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fe51488c7066f6687ef680d6bfaa4f7768ef205c --- /dev/null +++ b/hasura/metadata/query_collections.yaml @@ -0,0 +1 @@ +[] diff --git a/hasura/metadata/remote_schemas.yaml b/hasura/metadata/remote_schemas.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fe51488c7066f6687ef680d6bfaa4f7768ef205c --- /dev/null +++ b/hasura/metadata/remote_schemas.yaml @@ -0,0 +1 @@ +[] diff --git a/hasura/metadata/rest_endpoints.yaml b/hasura/metadata/rest_endpoints.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fe51488c7066f6687ef680d6bfaa4f7768ef205c --- /dev/null +++ b/hasura/metadata/rest_endpoints.yaml @@ -0,0 +1 @@ +[] diff --git a/hasura/metadata/version.yaml b/hasura/metadata/version.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0a70affa4bdaac5b06bfd9793ffc20f5f60e9ea6 --- /dev/null +++ b/hasura/metadata/version.yaml @@ -0,0 +1 @@ +version: 3