diff --git a/api/db/database-builder/factory/build-complementary-certification-subscription.js b/api/db/database-builder/factory/build-complementary-certification-subscription.js index 28a1d634f0b..5ac5143516b 100644 --- a/api/db/database-builder/factory/build-complementary-certification-subscription.js +++ b/api/db/database-builder/factory/build-complementary-certification-subscription.js @@ -1,5 +1,6 @@ import _ from 'lodash'; +import { SubscriptionTypes } from '../../../src/certification/shared/domain/models/SubscriptionTypes.js'; import { databaseBuffer } from '../database-buffer.js'; import { buildCertificationCandidate } from './build-certification-candidate.js'; import { buildComplementaryCertification } from './build-complementary-certification.js'; @@ -16,14 +17,14 @@ const buildComplementaryCertificationSubscription = function ({ ? buildComplementaryCertification().id : complementaryCertificationId; - const values = { - certificationCandidateId, - complementaryCertificationId, - createdAt, - }; return databaseBuffer.pushInsertable({ tableName: 'certification-subscriptions', - values, + values: { + certificationCandidateId, + complementaryCertificationId, + createdAt, + type: SubscriptionTypes.COMPLEMENTARY, + }, }); }; diff --git a/api/src/certification/session/infrastructure/repositories/certification-candidate-repository.js b/api/src/certification/session/infrastructure/repositories/certification-candidate-repository.js index 277b7f9f298..c29cc842c95 100644 --- a/api/src/certification/session/infrastructure/repositories/certification-candidate-repository.js +++ b/api/src/certification/session/infrastructure/repositories/certification-candidate-repository.js @@ -14,6 +14,7 @@ import * as bookshelfToDomainConverter from '../../../../../lib/infrastructure/u import { logger } from '../../../../shared/infrastructure/utils/logger.js'; import { normalize } from '../../../../shared/infrastructure/utils/string-utils.js'; import { ComplementaryCertification } from '../../../complementary-certification/domain/models/ComplementaryCertification.js'; +import { SubscriptionTypes } from '../../../shared/domain/models/SubscriptionTypes.js'; const linkToUser = async function ({ id, userId }) { try { @@ -53,6 +54,7 @@ const saveInSession = async function ({ const complementaryCertificationSubscriptionToSave = { complementaryCertificationId: certificationCandidate.complementaryCertification.id, certificationCandidateId: addedCertificationCandidate.id, + type: SubscriptionTypes.COMPLEMENTARY, }; const insertComplementaryCertificationSubscriptionQuery = knex('certification-subscriptions').insert( diff --git a/api/src/certification/shared/domain/models/SubscriptionTypes.js b/api/src/certification/shared/domain/models/SubscriptionTypes.js new file mode 100644 index 00000000000..bbc8ce88296 --- /dev/null +++ b/api/src/certification/shared/domain/models/SubscriptionTypes.js @@ -0,0 +1,8 @@ +/** + * Types of certification subscriptions + * @readonly + * @enum {string} + */ +export const SubscriptionTypes = Object.freeze({ + COMPLEMENTARY: 'COMPLEMENTARY', +});