-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1614 from etalab/features/api-part-reporters
Introduce group reporters for API Particulier
- Loading branch information
Showing
16 changed files
with
231 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
class APIParticulier::ReportersController < APIParticulier::AuthenticatedUsersController | ||
def show | ||
if reporters_config.exclude?(reporter_group) || reporters_config[reporter_group].exclude?(current_user.email) | ||
redirect_to_root | ||
return | ||
end | ||
|
||
@datapasses_for_group_url = MetabaseEmbedService.new(487, { group: params[:id] }).url | ||
end | ||
|
||
private | ||
|
||
def reporter_group | ||
params[:id].to_sym | ||
end | ||
|
||
def reporters_config | ||
Rails.application.credentials.api_particulier_reporters | ||
end | ||
end |
23 changes: 23 additions & 0 deletions
23
app/interactors/datapass_webhook/api_particulier/notify_reporters.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
class DatapassWebhook::APIParticulier::NotifyReporters < ApplicationInteractor | ||
def call | ||
return if %w[submit approve].exclude?(context.event) | ||
|
||
reporters_config.each_key do |group_name| | ||
next unless scopes.any? { |scope| scope.start_with?("#{group_name}_") } | ||
|
||
APIParticulier::ReportersMailer.with(group: group_name).send(context.event).deliver_later | ||
end | ||
end | ||
|
||
private | ||
|
||
def reporters_config | ||
Rails.application.credentials.api_particulier_reporters | ||
end | ||
|
||
def scopes | ||
context.data['pass']['scopes'].map { |code, bool| | ||
code if bool | ||
}.compact | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
class APIParticulier::ReportersMailer < APIParticulierMailer | ||
%w[ | ||
submit | ||
approve | ||
].each do |event| | ||
define_method(event) do | ||
group = params[:group] | ||
|
||
return if reporters_config[group].blank? | ||
|
||
mail( | ||
bcc: reporters_config[group], | ||
subject: t('.subject', group:) | ||
) | ||
end | ||
end | ||
|
||
private | ||
|
||
def reporters_config | ||
Rails.application.credentials.api_particulier_reporters | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<h1> | ||
Habilitations liées aux données '<%= params[:id] %>' | ||
</h1> | ||
<%= render partial: 'shared/metabase', locals: { metabase_url: @datapasses_for_group_url } %> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Bonjour, | ||
|
||
Une nouvelle demande vient d'être validée pour l'ensemble de données associé au groupe '<%= params[:group] %>'. | ||
|
||
Vous pouvez consulter la liste des demandes relatives aux données associé au groupe '<%= params[:group] %>' sur le lien suivant : <%= api_particulier_dashboard_reporter_url(id: params[:group]) %> | ||
|
||
Cordialement, | ||
L'équipe API Particulier |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
Bonjour, | ||
|
||
Une nouvelle demande vient d'être déposée pour l'ensemble de données associé au groupe '<%= params[:group] %>'. | ||
|
||
Vous pouvez consulter la liste des demandes relatives aux données associé au groupe '<%= params[:group] %>' sur le lien suivant : <%= api_particulier_dashboard_reporter_url(id: params[:group]) %> | ||
|
||
Cordialement, | ||
L'équipe API Particulier |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
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--wZkWHgUfL6lLzi0R--/f5HhUSn4ZFkcAzEAzHasg== | ||
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--FO56xoX3UESfA+1w--PE0dYB1f5zklm7xitQ4Slw== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
lHp2jcmiXvV33gX7o71HcUGSGUsu5Cur7gmCB6egk/Z7JWFmKLmqqH6baCEWHUMAZGsF/6P5mho9hOuhnUb5x4bMYi9k9wBnGmj/lvR9IdNcHrjZEpzWbDIVISY3rKmvFK58XBitqZ77ajhrNgLn4i4qpNU/i5q6legfMv5mfk4AKN/+hMnApCf86mGpQT7vW8GTc5Vwy3q0nE2rYuIQxGKrwGzW6Jf68OWBA0+eSj+6ELGLu0wF6CnQHYZ5yFeS8MXHMvfjH5LLc3GVVSlwKygq+3g5s/2BPbRSr1rFN6hTBw7z7eGp81FhNnoslyc4anHND6jxP4XLjKRvExlzLxZr5iLN6UoDFdAPZ0YzEJusLVrW6LHpTOY5SmcrxeYR+CQuurbe+vRmlu4Ysrq19Byf80QQqv+mUrxnr8AxnJil79lgLJ72nHilEh/DII6GCFEm+/cbkpEIn7TOU2gcJVDHWa9w0LWEQm3PNvuOebReW8pDDb6VuuoCUB3vRC/qVMaYmKO6FNpGv0C8Apa7go4xDsbznCSzuWS3nLd05sKLFU5lZNeysZhqF/uzO83EXTUUZBXM/TjIunY9D74Z8wn6cctt3aNrH8sGhdIvd1/siyZqaV1xe2igsyktMRlkO6DxPd4fOWDxNJVsamoApg0ed4xScnJa3rdExrRAkQLx6LsP/PQjXZa6BjIRvltjQ31oRJr7GYxVG9wFE37Q3x9GNCPjEy0xoAL1gwce8jB9cJbuQmvRpGTK6zCa8nqwvckz8K+AwLTbLRVnwsAo9BP8KZpfa99qI11nGImCxCYSHjTxaAhlObcofsZJZeQmxtB47vdZXWqCazw0UnJg4ettS/wPDI9YwRPJYOzs2P2XyPZGAB7CDlkoE9yQg1UQSrjI66Rm2IUy88yOqRhLtwuhcYSofpFNcAqAghHi8xsT5kmKA1VG2ktzbbetcmGX0JdXq+n9KSkrXIoM7EfD3BaHVh7v5R/nPf21J840BBa9JQb8Lqwz22V2LU12rNNCkr5oIeDypzw4WFspgZ55wTWIfDvLd9lavROC/7E25AKS0FVUnb//F2gZJcLCi4bI9J9KVE5Cax7Np2PWFvQcLvi6+ZMvWt0gmJzP/G1j3nDzw2oFlZWgw2zrQWGidsmjX8X/4plaXKgqZtyXW51/GlnsqIN3hE6NnCBp3F+3KJmPGqAXakSkXRTQ7gmuIvlb3eA4u01D+QFBIVp5Dn5u7mO04cvhs4volbF1P5etuFtTQMZa997HJWs6JKbxbD5dXHirreWx1ePxysz0R3LP8YbBsrvT9lR8JFsC3t9xK3CZGtMsy9bmsazrt80csxlB+BsyBFyntO2wdhNpzaTNAgqmQOitv1xy8YkE5SaSqRitNlvxed8rZqfoE6L56wm0Zrt9OtJxe14SW3Wf+J8dLdZfkofS9qTg42M38uQDatHFnnrcsON0/w5qMcZ7dQ3Uh1+iZ8VtiCZk--ofXTPPvApMx26e85--KCiB/DR3eRUz/seUFc5fgA== | ||
tonkgh6Sc7Corqbt4DpG61lEEgMpniBzoq74Bp8yuSI+1sUZ9ceu7UdZyWvlKQfG2LpU6GSHsmKv5N9x4unJk+BS0A0AVEv81kxH8KLnUVMfwMp4uBceghzDzJTOYOGXNtxQgFxB9CwRJmHrCQMcwZ2wGWFPwDxRbTtJ7gUQWTD5Zdqf2jL0VREKtxQ7B5Ols6Y/Eacf/tQ3V6GjKXON6MkFIPs2YdMrnhau8mjJtGy3virbbSDlgJL03jMB40ipUFFd3dp0yuGI70LebIMCNMTZ43Wtypt+5EnsfkYdl17EkzLENyhu22of+3lNJwbx4fQJe1c+X4QmRDDhzRtjuTMohiEqXLsroucPw7Ae/4q3FMS/kCxPe5uGSLrUDvTWgmaQ8yuJkIgX42m7a+Gl7sVl/hn7hal5+APkNuWW7CWJNrnz3jgVwkYsWNQlqu9kDdWUc8yMWNqyux4BXyr2Aum718j0NDYtUdVjUKhEOWThMQ35VY8DjvilQO1L43dbMl9xkc++jV9a2m9snyvGMrbaxkgE0KS6GevSEFzfQ8FU3/GyKiZKyg2nNcrAyS7yoCdCHzvHsU9wxo99cjhth1nfvM40gWwwQyVGvVT7r7l47qBsSDV1IDQP6IHe7whlDGXPjApfvnmC2k/dUeZh2QXzS01Zj3RCjnbYRZ4zoGaMukn8r4VNjbPhgvZu6dhOwSTBi/s680lDaQZonUTjFB6RCl0q6T+RabIkNnFuk0/ZImdcCiwfweOfQtAlCVXoKjo2KnF3DeYI/cdE2Z88SivDGlkWm1j08xJuHmhTOg3NtiNbxDLtwKV0sMJILKcefWbSpDfW7+hwsa8QsMVQWDeci/O4OVei27wi7chblIF+pHsyjT1uSPrxHh+nSom+CWbJsIHZE8pGNpDRnkHSas54C+ocilSmhvPAYH7FYLHiaJc/nM0gE1uy//RfbMEhy08PQMnVZoKQuQfkwLjMvACW6fqgsS5MR/NKiCev9ZCB/fQrS+Agn0UAEfysiMGul9PenuPdhH1FQTM/M5F2gevaU/g52Z76srKXprYv6tJjrXRiS1expQI3oIO9kEhYC1kbMyAF1VXg/ix51dMKfaxKnv4Kv9a/n2TYsGuBxkeJ6llAr2qcJfWdszn9OyEP7070uIl9QopkPU73fqHqwSNKfguQpvbYuGjTCObQAZcgmnK6QIw2+BxOheV+5RWa14iXJsDgtljyxHzP4j3zFhw/Sy1H01k/22myTdO1jOh3JhR+/Qtn9tQegltqdtmJRsI5vtGlwVSp95hTg8CfNzwbKunqt3ytNUUkb8nbMuFRRY5KIhYnLpqgMYZ/SFDtuvSmgHRWgaRTGwqUiBkxLGGhPwNw0vPPxLaAHmQ1vq2cD8lzDEdgz3LbPDWYEPcxDSc2LaOpmPNQz7qnOHRz095OhZ4aY0bHkoq6TurdSNTtEv45nQBIot7zuc+hXy4ZiIpeBaP+Q3NgxAPou844iL4TZLlmnmqPGXUhLXWadjhwtaMslKgUbTaOUKP8jg1yGDW305P1c9bqVoyyEaWPtmpbkC4W4zaU6ERoALIsQSOuKo+9TEv6VYV8Wjv7HSzdLLDviR/9GWbbeN2sltpuv9TbZUWsHQImrfPfkE/lK645l/Zb5wXvVrEN8hkjZKDFbdSCEco5--DCJ+0i2AHh2fGr4H--yfGDk4WRVS8L0U0MIgM+sA== |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# frozen_string_literal: true | ||
|
||
require 'rails_helper' | ||
|
||
RSpec.describe 'API Particulier', app: :api_particulier do | ||
subject(:visit_dashboard) do | ||
visit api_particulier_dashboard_reporter_path(id:) | ||
end | ||
|
||
before do | ||
login_as(user) | ||
end | ||
|
||
context 'with valid user and id' do | ||
let(:id) { 'cnaf' } | ||
let(:user) { create(:user, email: '[email protected]') } | ||
|
||
it 'renders metabase view' do | ||
visit_dashboard | ||
|
||
expect(page).to have_current_path(api_particulier_dashboard_reporter_path(id:)) | ||
expect(page.html).to include('metabase.entreprise.api.gouv.fr') | ||
end | ||
end | ||
|
||
context 'with invalid user' do | ||
let(:id) { 'cnaf' } | ||
let(:user) { create(:user, email: '[email protected]') } | ||
|
||
it 'redirects to root path' do | ||
visit_dashboard | ||
|
||
expect(page).to have_current_path(root_path) | ||
end | ||
end | ||
|
||
context 'with invalid id' do | ||
let(:id) { 'whatever' } | ||
let(:user) { create(:user, email: '[email protected]') } | ||
|
||
it 'redirects to root path' do | ||
visit_dashboard | ||
|
||
expect(page).to have_current_path(root_path) | ||
end | ||
end | ||
end |
53 changes: 53 additions & 0 deletions
53
spec/interactors/datapass_webhook/api_particulier/notify_reporters_spec.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
RSpec.describe DatapassWebhook::APIParticulier::NotifyReporters, type: :interactor do | ||
include ActiveJob::TestHelper | ||
|
||
subject { described_class.call(datapass_webhook_params) } | ||
|
||
let(:datapass_webhook_params) do | ||
build(:datapass_webhook, | ||
event:, | ||
authorization_request_attributes: { | ||
scopes: | ||
}) | ||
end | ||
let(:event) { 'approve' } | ||
let(:scopes) { { 'cnaf_quotient_familial' => true } } | ||
|
||
describe 'reporters notification' do | ||
describe 'when it is a submit event' do | ||
let(:event) { 'submit' } | ||
|
||
context 'when authorization request has scopes from reporters group' do | ||
let(:scopes) { { 'cnaf_quotient_familial' => true } } | ||
|
||
it { is_expected.to be_success } | ||
|
||
it 'notifies reporters' do | ||
expect { | ||
perform_enqueued_jobs do | ||
subject | ||
end | ||
}.to change { ActionMailer::Base.deliveries.count }.by(1) | ||
|
||
mail = ActionMailer::Base.deliveries.last | ||
|
||
expect(mail.subject).to match(/Une nouvelle demande a été déposé pour API Particulier/) | ||
end | ||
|
||
context 'when authorization request has no scopes from reporters group' do | ||
let(:scopes) { { 'cnaf_quotient_familial' => false, 'whatever' => true } } | ||
|
||
it { is_expected.to be_success } | ||
|
||
it 'does not notify reporters' do | ||
expect { | ||
perform_enqueued_jobs do | ||
subject | ||
end | ||
}.not_to change { ActionMailer::Base.deliveries.count } | ||
end | ||
end | ||
end | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
RSpec.describe APIParticulier::ReportersMailer do | ||
before do | ||
create(:user, email: '[email protected]') | ||
end | ||
|
||
describe '#submit' do | ||
subject(:mail) do | ||
described_class.with(group: 'cnaf').submit | ||
end | ||
|
||
it 'sends an email to reporters associated to this group' do | ||
expect(mail.bcc).to include('[email protected]') | ||
end | ||
end | ||
end |
16 changes: 16 additions & 0 deletions
16
spec/mailers/previews/api_particulier/reporters_mailer_preview.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
class APIParticulier::ReportersMailerPreview < ActionMailer::Preview | ||
%w[ | ||
submitted | ||
validated | ||
].each do |event| | ||
define_method(event) do | ||
APIParticulier::ReportersMailer.with(group:).send(event) | ||
end | ||
end | ||
|
||
private | ||
|
||
def group | ||
'cnaf' | ||
end | ||
end |