Skip to content

Commit

Permalink
[TECH] Migrer la route PATCH patch /api/certification-center-invitati…
Browse files Browse the repository at this point in the history
…ons/{certificationCenterInvitationId} (PIX-16392)

 #11314
  • Loading branch information
pix-service-auto-merge authored Feb 5, 2025
2 parents 01fab18 + 047855d commit 3f9c8ab
Show file tree
Hide file tree
Showing 12 changed files with 223 additions and 266 deletions.

This file was deleted.

36 changes: 0 additions & 36 deletions api/lib/application/certification-center-invitations/index.js

This file was deleted.

1 change: 1 addition & 0 deletions api/lib/domain/usecases/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ import * as dateUtils from '../../../src/shared/infrastructure/utils/date-utils.
import { injectDependencies } from '../../../src/shared/infrastructure/utils/dependency-injection.js';
import { importNamedExportsFromDirectory } from '../../../src/shared/infrastructure/utils/import-named-exports-from-directory.js';
import * as emailRepository from '../../../src/shared/mail/infrastructure/repositories/email.repository.js';
// Not used in lib
import * as certificationCenterInvitationService from '../../../src/team/domain/services/certification-center-invitation-service.js';
import { organizationInvitationService } from '../../../src/team/domain/services/organization-invitation.service.js';
import * as certificationCenterInvitationRepository from '../../../src/team/infrastructure/repositories/certification-center-invitation-repository.js';
Expand Down
2 changes: 0 additions & 2 deletions api/lib/routes.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import * as healthcheck from '../src/shared/application/healthcheck/index.js';
import * as authentication from './application/authentication/index.js';
import * as campaignParticipations from './application/campaign-participations/index.js';
import * as certificationCenterInvitations from './application/certification-center-invitations/index.js';
import * as certificationCenterMemberships from './application/certification-center-memberships/index.js';
import * as certificationCenters from './application/certification-centers/index.js';
import * as frameworks from './application/frameworks/index.js';
Expand All @@ -16,7 +15,6 @@ const routes = [
authentication,
campaignParticipations,
certificationCenters,
certificationCenterInvitations,
certificationCenterMemberships,
healthcheck,
memberships,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import { extractLocaleFromRequest } from '../../../shared/infrastructure/utils/request-response-utils.js';
import {
extractLocaleFromRequest,
requestResponseUtils,
} from '../../../shared/infrastructure/utils/request-response-utils.js';
import { usecases } from '../../domain/usecases/index.js';
import { certificationCenterInvitationSerializer } from '../../infrastructure/serializers/jsonapi/certification-center-invitation-serializer.js';

Expand Down Expand Up @@ -50,6 +53,18 @@ const sendInvitations = async function (request, h) {
return h.response().code(204);
};

const resendCertificationCenterInvitation = async function (request, h) {
const certificationCenterInvitationId = request.params.certificationCenterInvitationId;
const locale = requestResponseUtils.extractLocaleFromRequest(request);

const certificationCenterInvitation = await usecases.resendCertificationCenterInvitation({
certificationCenterInvitationId,
locale,
});

return h.response(certificationCenterInvitationSerializer.serializeForAdmin(certificationCenterInvitation)).code(200);
};

const cancelCertificationCenterInvitation = async function (request, h) {
const certificationCenterInvitationId = request.params.certificationCenterInvitationId;
await usecases.cancelCertificationCenterInvitation({ certificationCenterInvitationId });
Expand All @@ -70,5 +85,6 @@ export const certificationCenterInvitationController = {
cancelCertificationCenterInvitation,
getCertificationCenterInvitation,
findPendingInvitations,
resendCertificationCenterInvitation,
sendInvitations,
};
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,29 @@ export const certificationCenterInvitationRoutes = [
tags: ['api', 'invitations'],
},
},
{
method: 'PATCH',
path: '/api/certification-center-invitations/{certificationCenterInvitationId}',
config: {
handler: (request, h) => certificationCenterInvitationController.resendCertificationCenterInvitation(request, h),
pre: [
{
method: securityPreHandlers.checkUserIsAdminOfCertificationCenterWithCertificationCenterInvitationId,
assign: 'isAdminOfCertificationCenter',
},
],
validate: {
params: Joi.object({
certificationCenterInvitationId: identifiersType.certificationCenterInvitationId.required(),
}),
},
notes: [
'- **Cette route est restreinte aux utilisateurs appartenant à un centre de certification**\n',
"- Cette route permet de renvoyer une invitation en attente selon un **id d'invitation**",
],
tags: ['api', 'certification-center-invitation'],
},
},
{
method: 'POST',
path: '/api/certification-center-invitations/{id}/accept',
Expand Down

This file was deleted.

Loading

0 comments on commit 3f9c8ab

Please sign in to comment.