-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce group reporters for API Particulier #1614
Merged
Merged
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
05096d4
Introduce APIParticulier::ReportersController
skelz0r 28ff196
ReportersMailers for DataPass webhooks
skelz0r 4adffcc
Introduce DatapassWebhook::APIParticulier::NotifyReporters
skelz0r 6289e55
Add all emails for reporters groups
skelz0r 10e9d29
APIParticulier::ReportersMailer: use bcc instead of to
skelz0r f7fb6b7
API Particulier reporters: add a title to view
skelz0r b9bc624
Revert all reporters to one email
skelz0r File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
je chipote mais j'aurais mis ça dans une méthode