From a4d27ba19e8951f0404bd381a3e2afc98ca1f9c8 Mon Sep 17 00:00:00 2001 From: folhesgabriel Date: Wed, 20 Sep 2023 13:38:10 -0300 Subject: [PATCH] Adiciona modelos dbt permissionados --- ...dministradores_carteira__pessoa_fisica.sql | 30 +++++++++++++++++++ ...nistradores_carteira__pessoa_juridica.sql} | 22 ++++++++++++++ ...administradores_carteira__responsavel.sql} | 7 +++++ .../pessoa_fisica.sql | 9 ------ .../schema.yml | 12 ++++---- ..._cvm_oferta_publica_distribuicao__dia.sql} | 22 ++++++++++++++ .../schema.yml | 4 +-- 7 files changed, 89 insertions(+), 17 deletions(-) create mode 100644 models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql rename models/br_cvm_administradores_carteira/{pessoa_juridica.sql => br_cvm_administradores_carteira__pessoa_juridica.sql} (58%) rename models/br_cvm_administradores_carteira/{responsavel.sql => br_cvm_administradores_carteira__responsavel.sql} (58%) delete mode 100644 models/br_cvm_administradores_carteira/pessoa_fisica.sql rename models/br_cvm_oferta_publica_distribuicao/{dia.sql => br_cvm_oferta_publica_distribuicao__dia.sql} (73%) diff --git a/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql new file mode 100644 index 00000000..2c7f4adc --- /dev/null +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_fisica.sql @@ -0,0 +1,30 @@ +{{ + config( + alias = 'pessoa_fisica', + schema='br_cvm_administradores_carteira', + materialized='incremental', + partition_by = { + "field": "data_registro", + "data_type": "date", + "granularity": "day" + }, + pre_hook = "DROP ALL ROW ACCESS POLICIES ON {{ this }}", + post_hook=['CREATE OR REPLACE ROW ACCESS POLICY allusers_filter + ON {{this}} + GRANT TO ("allUsers") + FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) > 6)', + 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter + ON {{this}} + GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") + FILTER USING (EXTRACT(YEAR from data_registro) = EXTRACT(YEAR from DATE("{{ run_started_at.strftime("%Y-%m-%d") }}")))' ] + ) + }} +SELECT +SAFE_CAST(nome AS STRING) nome, +SAFE_CAST(data_registro AS DATE) data_registro, +SAFE_CAST(data_cancelamento AS DATE) data_cancelamento, +SAFE_CAST(motivo_cancelamento AS STRING) motivo_cancelamento, +SAFE_CAST(situacao AS STRING) situacao, +SAFE_CAST(data_inicio_situacao AS DATE) data_inicio_situacao, +SAFE_CAST(categoria_registro AS STRING) categoria_registro +FROM basedosdados-dev.br_cvm_administradores_carteira_staging.pessoa_fisica AS t diff --git a/models/br_cvm_administradores_carteira/pessoa_juridica.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql similarity index 58% rename from models/br_cvm_administradores_carteira/pessoa_juridica.sql rename to models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql index 2ccb9da8..6526006c 100644 --- a/models/br_cvm_administradores_carteira/pessoa_juridica.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__pessoa_juridica.sql @@ -1,3 +1,25 @@ +{{ + config( + alias = 'pessoa_juridica', + schema='br_cvm_administradores_carteira', + materialized='incremental', + partition_by = { + "field": "data_registro", + "data_type": "date", + "granularity": "day" + }, + pre_hook = "DROP ALL ROW ACCESS POLICIES ON {{ this }}", + post_hook=['CREATE OR REPLACE ROW ACCESS POLICY allusers_filter + ON {{this}} + GRANT TO ("allUsers") + FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_registro), MONTH) > 6)', + 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter + ON {{this}} + GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") + FILTER USING (EXTRACT(YEAR from data_registro) = EXTRACT(YEAR from DATE("{{ run_started_at.strftime("%Y-%m-%d") }}")))' ] + ) + }} + SELECT SAFE_CAST(cnpj AS STRING) cnpj, SAFE_CAST(denominacao_social AS STRING) denominacao_social, diff --git a/models/br_cvm_administradores_carteira/responsavel.sql b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql similarity index 58% rename from models/br_cvm_administradores_carteira/responsavel.sql rename to models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql index eef1d0e3..926f10c5 100644 --- a/models/br_cvm_administradores_carteira/responsavel.sql +++ b/models/br_cvm_administradores_carteira/br_cvm_administradores_carteira__responsavel.sql @@ -1,3 +1,10 @@ +{{ + config( + alias = 'responsavel', + schema='br_cvm_administradores_carteira', + materialized='incremental', + ) + }} SELECT SAFE_CAST(cnpj AS STRING) cnpj, SAFE_CAST(nome AS STRING) nome, diff --git a/models/br_cvm_administradores_carteira/pessoa_fisica.sql b/models/br_cvm_administradores_carteira/pessoa_fisica.sql deleted file mode 100644 index e02fad53..00000000 --- a/models/br_cvm_administradores_carteira/pessoa_fisica.sql +++ /dev/null @@ -1,9 +0,0 @@ -SELECT -SAFE_CAST(nome AS STRING) nome, -SAFE_CAST(data_registro AS DATE) data_registro, -SAFE_CAST(data_cancelamento AS DATE) data_cancelamento, -SAFE_CAST(motivo_cancelamento AS STRING) motivo_cancelamento, -SAFE_CAST(situacao AS STRING) situacao, -SAFE_CAST(data_inicio_situacao AS DATE) data_inicio_situacao, -SAFE_CAST(categoria_registro AS STRING) categoria_registro -FROM basedosdados-dev.br_cvm_administradores_carteira_staging.pessoa_fisica AS t diff --git a/models/br_cvm_administradores_carteira/schema.yml b/models/br_cvm_administradores_carteira/schema.yml index bfe3771c..5c806e22 100644 --- a/models/br_cvm_administradores_carteira/schema.yml +++ b/models/br_cvm_administradores_carteira/schema.yml @@ -1,8 +1,8 @@ version: 2 models: - - name: pessoa_fisica - description: "dbt model for pessoa_fisica" + - name: br_cvm_administradores_carteira__pessoa_fisica + description: Dados Cadastrais de Administradores de Carteira da CVM (Pessoa Física) columns: - name: nome description: Nome @@ -18,8 +18,8 @@ models: description: Data de início da situação - name: categoria_registro description: Categoria de registro - - name: pessoa_juridica - description: "dbt model for pessoa_juridica" + - name: br_cvm_administradores_carteira__pessoa_juridica + description: Dados Cadastrais de Administradores de Carteira da CVM (Pessoa Jurídica) columns: - name: cnpj description: Cadastro Nacional de Pessoas Jurídicas (CNPJ) @@ -69,8 +69,8 @@ models: description: Email - name: website description: Website - - name: responsavel - description: "dbt model for responsavel" + - name: br_cvm_administradores_carteira__responsavel + description: Dados Cadastrais de Administradores de Carteira da CVM. columns: - name: cnpj description: Cadastro Nacional de Pessoas Jurídicas (CNPJ) diff --git a/models/br_cvm_oferta_publica_distribuicao/dia.sql b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql similarity index 73% rename from models/br_cvm_oferta_publica_distribuicao/dia.sql rename to models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql index d0caad7a..0aa1ad11 100644 --- a/models/br_cvm_oferta_publica_distribuicao/dia.sql +++ b/models/br_cvm_oferta_publica_distribuicao/br_cvm_oferta_publica_distribuicao__dia.sql @@ -1,3 +1,25 @@ +{{ + config( + alias = 'dia', + schema='br_cvm_oferta_publica_distribuicao', + materialized='incremental', + partition_by = { + "field": "data_abertura_processo", + "data_type": "date", + "granularity": "day" + }, + pre_hook = "DROP ALL ROW ACCESS POLICIES ON {{ this }}", + post_hook=['CREATE OR REPLACE ROW ACCESS POLICY allusers_filter + ON {{this}} + GRANT TO ("allUsers") + FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"),DATE(data_abertura_processo), MONTH) > 6)', + 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter + ON {{this}} + GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org") + FILTER USING (EXTRACT(YEAR from data_abertura_processo) = EXTRACT(YEAR from DATE("{{ run_started_at.strftime("%Y-%m-%d") }}")))' ] + ) + }} + SELECT SAFE_CAST(numero_processo AS STRING) numero_processo, SAFE_CAST(numero_registro_oferta AS STRING) numero_registro_oferta, diff --git a/models/br_cvm_oferta_publica_distribuicao/schema.yml b/models/br_cvm_oferta_publica_distribuicao/schema.yml index 7d908b1b..a0f92c57 100644 --- a/models/br_cvm_oferta_publica_distribuicao/schema.yml +++ b/models/br_cvm_oferta_publica_distribuicao/schema.yml @@ -1,8 +1,8 @@ version: 2 models: - - name: dia - description: "dbt model for table dia" + - name: br_cvm_oferta_publica_distribuicao__dia + description: Ofertas de distribuição (ações, fundos, debêntures, CRI, etc) registradas ou dispensadas de registro. columns: - name: numero_processo description: Número do processo administrativo