STREAM-674/bugs-defillama-project-vars (#55)

This commit is contained in:
Julius Remigio 2023-10-18 10:50:03 -07:00 committed by GitHub
parent 8653f7cef2
commit f31e64f4bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 28 additions and 29 deletions

View File

@ -29,11 +29,11 @@ models:
deploy:
+materialized: ephemeral
core:
+tags: core
+tags: lq_core
evm:
+tags: evm
+tags: lq_evm
marketplace:
+tags: marketplace
+tags: lq_marketplace
tests:
+store_failures: true # all tests
@ -66,10 +66,10 @@ vars:
STREAMLINE_INVOKE_STREAMS: False
STREAMLINE_USE_DEV_FOR_EXTERNAL_TABLES: False
STUDIO_TEST_USER_ID: '{{ env_var("STUDIO_TEST_USER_ID", "98d15c30-9fa5-43cd-9c69-3d4c0bb269f5") }}'
ENABLE_SNOWFLAKE_SECRETS: '{{ env_var("ENABLE_SNOWFLAKE_SECRETS", "") }}'
API_INTEGRATION: '{{ var("config")[target.name]["API_INTEGRATION"] }}'
EXTERNAL_FUNCTION_URI: '{{ var("config")[target.name]["EXTERNAL_FUNCTION_URI"] }}'
ENABLE_SNOWFLAKE_SECRETS: '{{ env_var("ENABLE_SNOWFLAKE_SECRETS", "") }}'
ROLES: '{{ var("config")[target.name]["ROLES"] }}'
config:

View File

@ -6,25 +6,23 @@
This can be manually run to grant permissions to a new schema:
`dbt run-operation apply_grants_by_schema --args '{"schema": "my_schema"}'`
#}
{% if target.name in ("prod", "hosted") %}
{%- set outer = namespace(sql="") -%}
{% for role in var("ROLES") %}
{% set sql -%}
{% if schema.startswith("_") %}
REVOKE USAGE ON SCHEMA {{ target.database }}.{{ schema }} FROM {{ role }};
REVOKE USAGE ON ALL FUNCTIONS IN SCHEMA {{ target.database }}.{{ schema }} FROM {{ role }};
{%- else -%}
GRANT USAGE ON SCHEMA {{ target.database }}.{{ schema }} TO {{ role }};
GRANT USAGE ON ALL FUNCTIONS IN SCHEMA {{ target.database }}.{{ schema }} TO {{ role }};
{%- set outer = namespace(sql="") -%}
{% for role in fromyaml(var("ROLES")) %}
{% set sql -%}
{% if schema.startswith("_") %}
REVOKE USAGE ON SCHEMA {{ target.database }}.{{ schema }} FROM {{ role }};
REVOKE USAGE ON ALL FUNCTIONS IN SCHEMA {{ target.database }}.{{ schema }} FROM {{ role }};
{%- else -%}
GRANT USAGE ON SCHEMA {{ target.database }}.{{ schema }} TO {{ role }};
GRANT USAGE ON ALL FUNCTIONS IN SCHEMA {{ target.database }}.{{ schema }} TO {{ role }};
GRANT SELECT ON ALL TABLES IN SCHEMA {{ target.database }}.{{ schema }} TO {{ role }};
GRANT SELECT ON ALL VIEWS IN SCHEMA {{ target.database }}.{{ schema }} TO {{ role }};
{%- endif -%}
{%- endset -%}
{%- set outer.sql = outer.sql ~ sql -%}
{%- endfor -%}
{{ outer.sql }}
{%- endif -%}
GRANT SELECT ON ALL TABLES IN SCHEMA {{ target.database }}.{{ schema }} TO {{ role }};
GRANT SELECT ON ALL VIEWS IN SCHEMA {{ target.database }}.{{ schema }} TO {{ role }};
{%- endif -%}
{%- endset -%}
{%- set outer.sql = outer.sql ~ sql -%}
{%- endfor -%}
{{ outer.sql }}
{%- endmacro -%}
{% macro apply_grants_to_all_schema() %}

View File

@ -16,7 +16,7 @@
live.udf_api(
'GET',
concat('https://api.llama.fi', PATH, '?', utils.udf_object_to_url_query_string(QUERY_ARGS)),
{},
{'Accept': '*/*', 'User-Agent': 'livequery/1.0 (Snowflake)', 'Host':'api.llama.fi', 'Connection': 'keep-alive'},
{}
) as response
@ -33,7 +33,7 @@
live.udf_api(
'POST',
CONCAT('https://api.llama.fi', PATH),
{},
{'Accept': '*/*', 'User-Agent': 'livequery/1.0 (Snowflake)', 'Host':'api.llama.fi', 'Connection': 'keep-alive'},
BODY
) as response

View File

@ -1,3 +1,4 @@
version: 2
models:
- name: _utils
columns:

View File

@ -1,6 +1,6 @@
{{ config(
materialized = 'view',
grants = {'+select': var('ROLES')}
grants = {'+select': fromyaml(var('ROLES'))}
) }}
SELECT *

View File

@ -1,6 +1,6 @@
{{ config(
materialized = 'view',
grants = {'+select': var('ROLES')}
grants = {'+select': fromyaml(var('ROLES'))}
) }}
SELECT *

View File

@ -1,6 +1,6 @@
{{ config(
materialized = 'view',
grants = {'+select': var('ROLES')}
grants = {'+select': fromyaml(var('ROLES'))}
) }}
SELECT

View File

@ -1,6 +1,6 @@
{{ config(
materialized = 'view',
grants = {'+select': var('ROLES')}
grants = {'+select': fromyaml(var('ROLES'))}
) }}
SELECT

View File

@ -1,6 +1,6 @@
{{ config(
materialized = 'view',
grants = {'+select': var('ROLES')}
grants = {'+select': fromyaml(var('ROLES'))}
) }}
WITH blockchain_assets AS (