Skip to content

Commit

Permalink
feat: migration preparation & global package upgrade for mongodb V7 (#…
Browse files Browse the repository at this point in the history
…1281)

* feat: add mongodb utils

* feat: add decriptor export model

* feat: comment awaiting features

* fix: remove duplicate collection name

* feat: prepare models export

* fix: sort and remove unused

* feat: prepare server switch

* fix: dedupe

* feat: add indexes creation jobs

* fix: comment

* feat: update createIndex function

* feat: prepare db switch for tests

* chore: skip test for now

* feat: update package & connector

* fix: shared

* fix: typing p1

* fix: typing p2

* feat: update mongodb shared

* fix: revert

* fix: bson version

* fix: zod version + add  & export zod-mongodb-schema to shared

* feat: update mongodb driver to match bson

* fix: typecheck

* feat: update zod ui

* fix: zod typing

* feat: update openapi snapshot

* feat: update route & snapshot

* fix:  test

* fix: dedupe

* fix: unskip test

* fix: missing _id in pointgeometry definition

* fix: _id geopoint can be nullish at creation

* fix: remove _id directly from schema

* fix: remove _id from definition

* fix: bson compatibility error

* fix: start jobs after mongoose

* fix: mongodb connection

* fix: admin flow activate/desactivate

* fix: user validation flow

* fix: admin get user

* fix: simplification du typage de l'api getDbCollection (#1292)

* fix: simplification du typage de l'api getDbCollection

* fix: ajout de tous les models

* fix: update job statut from admin

* feat: remove log & update /user/opco mongo query

* fix: Lbac 2259 migration mongodb lot 3 (#1296)

* fix: migration mongo lot 3

* fix: tsconfig + update

* fix: update

* fix: update

* fix: suppression du script server/src/jobs/seed/ficheMetierRomev4/ficheMetierRomev4.ts

* feat: lbac 2257: migration appels mongodb lot1 (#1294)

* feat: migrate apicalls

* feat: add new schema validation

* feat: migrate credentials

* feat: migrate anonymization

* feat: migrate customemailetfa

* feat: migrate lbacompanylegacies

* feat: migrate lbacompanies

* feat: migrate cfas

* feat: migrate diplomesmetiers

* feat: migrate domainesmetiers

* feat: migrate application p1

* feat: migrate appointment p1

* fix: return new documen t

* fix: projection

* feat: migrate appointment p2

* feat: migrate application p2

* fix: snapshot

* fix: logic

* fix: buildtopic job_title awaited type

* fix: snapshot

* fix: suppression de INewAppointment

* feat: update test setup

* fix: core route + test

---------

Co-authored-by: Rémy Auricoste <[email protected]>

* feat: remove application model

* feat: LBA-2258 lot 2 (#1293)

Collections : "etablissements"
"eligible_trainings_for_appointments"
"eligible_trainings_for_appointments_histories"
"emailblacklists"
"entreprises"
"formationcatalogues"
"geolocations"
"internalJobs"
"opcos"
"optouts"
"recruiters"

* feat: remove mongoose file

* refactor: migrate types & services

* feat: update create index jobs & remove mongodb legacy connector

* fix: typecheck

* fix: async iterable

* fix: objectid import

* fix: job processor db calls

* fix: jobs export to pe

* fix: sentry

* fix: test

* fix: job processor

* fix: missing zod

* fix: issues

* fix: issues

* fix: issues

* feat: update ts and use mongodb objectid

* fix: ui type never

* fix: organization

* feat: update mongoutils

* feat: update eslint package

* fix: eslint p1

* fix: eslint p2

* fix: eslint p3

* fix: updateSAVE

* fix: yarn.lock

* fix: sentry init

* fix: sentry config

* fix: job processor

* fix: cron scheduler

* feat: remove mongoose

* fix: yarn.lock

* fix: index script

* fix(front):  remove listener method

* fix: etablissement creation operator

* fix: formulaire creation

* fix: correction émission de candidature vers offre lba

* feat: update pentest mongodb uri

* fix: suppression ajout event parasite

* fix: script command

* fix: missing 2dsphere indexes

* fix: preview

* fix: revert fix

* fix: obfuscate script

* fix: user update

* fix: missing status

* fix: job update

* fix: updatedAt

* fix: updates

* fix: update etfa email

* fix: update personal info

* feat: update recette db uri

* fix: appointment reply issue

* fix: atomic operator updateMany

* feat(lbac-2225): jobId as string

* fix: aggregate

* fix: remove address_detail

* fix: merge aggretate to array

---------

Co-authored-by: Rémy Auricoste <[email protected]>
Co-authored-by: Alan Le Ruyet <[email protected]>
  • Loading branch information
3 people authored Jun 29, 2024
1 parent 1ad7c71 commit d3d9866
Show file tree
Hide file tree
Showing 286 changed files with 6,839 additions and 10,604 deletions.
4 changes: 2 additions & 2 deletions .bin/scripts/seed-apply.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ ansible-vault view --vault-password-file="$ROOT_DIR/.bin/scripts/get-vault-passw

rm -f "$SEED_GZ"
gpg -d --batch --passphrase-file "$PASSPHRASE" -o "$SEED_GZ" "$SEED_GPG"
cat "$SEED_GZ" | docker compose -f "$ROOT_DIR/docker-compose.yml" exec -iT mongodb mongorestore --archive --nsInclude="labonnealternance.*" --uri="${TARGET_DB}" --drop --gzip
cat "$SEED_GZ" | /opt/app/tools/docker-compose.sh -f "$ROOT_DIR/docker-compose.yml" exec -iT mongodb mongorestore --archive --nsInclude="labonnealternance.*" --uri="${TARGET_DB}" --drop --gzip

yarn build:dev
yarn cli migrations:up
yarn cli mongodb:indexes:create
yarn cli recreate:indexes
6 changes: 3 additions & 3 deletions .bin/scripts/seed-update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@ trap delete_cleartext EXIT

ansible-vault view --vault-password-file="$ROOT_DIR/.bin/scripts/get-vault-password-client.sh" "$VAULT_FILE" | yq '.vault.SEED_GPG_PASSPHRASE' > "$PASSPHRASE"

docker compose -f "$ROOT_DIR/docker-compose.yml" up mongodb -d
/opt/app/tools/docker-compose.sh -f "$ROOT_DIR/docker-compose.yml" up mongodb -d
mkdir -p "$ROOT_DIR/.infra/files/mongodb"

yarn build:dev
yarn cli migrations:up
yarn cli mongodb:indexes:create
yarn cli recreate:indexes

docker compose -f "$ROOT_DIR/docker-compose.yml" exec -it mongodb mongodump --uri "$TARGET_DB" --gzip --archive > "$SEED_GZ"
/opt/app/tools/docker-compose.sh -f "$ROOT_DIR/docker-compose.yml" exec -it mongodb mongodump --uri "$TARGET_DB" --gzip --archive > "$SEED_GZ"
rm -f "$SEED_GPG"
gpg -c --cipher-algo twofish --batch --passphrase-file "$PASSPHRASE" -o "$SEED_GPG" "$SEED_GZ"
2 changes: 1 addition & 1 deletion .bin/scripts/setup-local-env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,4 @@ yarn services:start
yarn setup:mongodb
yarn build:dev
yarn cli migrations:up
yarn cli mongodb:indexes:create
yarn cli recreate:indexes
3 changes: 1 addition & 2 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,11 @@ module.exports = {
ignoreRestSiblings: true,
},
],

// imports
"import/extensions": [
"error",
"ignorePackages",
{
"": "never",
js: "never",
jsx: "never",
ts: "never",
Expand Down
2 changes: 1 addition & 1 deletion .infra/files/scripts/seed.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ chmod 600 "$PASSPHRASE"
rm -r "$SEED_ARCHIVE"
gpg -d --batch --passphrase-file "$PASSPHRASE" -o "$SEED_ARCHIVE" "/opt/app/configs/mongodb/seed.gpg"
chmod 600 "$SEED_ARCHIVE"
cat "$SEED_ARCHIVE" | docker compose -f "/opt/app/docker-compose.preview-system.yml" exec -iT mongodb mongorestore --archive --nsFrom="labonnealternance.*" --nsTo="$TARGET_DB.*" --drop --gzip "mongodb://__system:{{vault.MONGODB_KEYFILE}}@localhost:27017/?authSource=local&directConnection=true"
cat "$SEED_ARCHIVE" | /opt/app/tools/docker-compose.sh -f "/opt/app/docker-compose.preview-system.yml" exec -iT mongodb mongorestore --archive --nsFrom="labonnealternance.*" --nsTo="$TARGET_DB.*" --drop --gzip "mongodb://__system:{{vault.MONGODB_KEYFILE}}@localhost:27017/?authSource=local&directConnection=true"
2 changes: 1 addition & 1 deletion .infra/files/scripts/sync-index.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -euo pipefail

sync_indexes(){
echo "Creation des indexes MongoDB"
docker compose run --rm --no-deps server yarn cli mongodb:indexes:create --queued
/opt/app/tools/docker-compose.sh run --rm --no-deps server yarn cli recreate:indexes --queued
}

sync_indexes
1,306 changes: 653 additions & 653 deletions .infra/vault/vault.yml

Large diffs are not rendered by default.

20 changes: 12 additions & 8 deletions .talismanrc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ fileignoreconfig:
- filename: .bin/scripts/set-cypress-env.sh
checksum: 4463ed7c1d5b82a8b152248b953778f37771bfba72865ee0e8af3b61cf3c38da
- filename: .bin/scripts/setup-local-env.sh
checksum: f3cd7443153a8d4bc742ea6075b2ea9a174572b736186c6759fbf29f59567fd8
checksum: 164cfbaa5965f9c06f84d90cb7e5af0df0c4cc1745e57d99490d44ba6efc1b33
- filename: .github/workflows/cypress.yml
checksum: 39f98fb68fdebf6a36959706adb43a8219a4b7781ac35329f957dc1cfa8b6de0
- filename: .github/workflows/deploy_preview.yml
Expand All @@ -24,19 +24,17 @@ fileignoreconfig:
- filename: .infra/files/configs/mongodb/seed.gpg
checksum: 646eab49f6ff33a2d4d2dc9892ae14ca7871404c81459fc4832b1fb12abbe1c9
- filename: .infra/files/scripts/seed.sh
checksum: ddafc86248e8fd5f7c24ca5a62be703083f7704395f17fb7b43bc8e44227d561
checksum: 95122f596aaf41a82615adc5e6a824a25e123d3b3a5aef1e424405a10c1e6429
- filename: .infra/local/mongod.conf
checksum: bb2ce0c27102259a5fa39da1fb4460af9ad6ad58adc715312e53dcd69c8e6be7
- filename: .infra/vault/vault.yml
checksum: 03ce5ac0cec24a0ab82c323635d5f1cc53878f3f1155631c2998006340768069
checksum: 0e6ed4fcfb4379235d2731a1f343e87d5f60bc76d698209c9897267f58ea0b81
- filename: cypress/pages/FlowAdminPage.ts
checksum: cbb0a8651ca4c5d807f03eeeba6204c7d6d3a5f17ffb0734921f18d54f99f6b0
- filename: docker-compose.yml
checksum: 8cdd1da6c1155f26b417a27e26311d4f00b7d8bd6c21f1f86c1c7cb3f0599e6a
- filename: server/.env.test
checksum: fa62b8d2d46d35ff56ebea647e4762551b91780b1e115612cae7e4bda3f56764
- filename: server/src/common/model/schema/_shared/mongoose-paginate.ts
checksum: b6762a7cb5df9bbee1f0ce893827f0991ad01514f7122a848b3b5d49b620f238
- filename: server/src/common/utils/awsUtils.ts
checksum: 0acc085847288b9f2d5235f118e29199a168b368c33a7e37ab7dfc7e143fb507
- filename: server/src/config.ts
Expand All @@ -51,10 +49,14 @@ fileignoreconfig:
checksum: d2770daa97ae332eec0b66497fdb717229895583ac3bfd48af1a830b36504968
- filename: server/src/http/routes/auth/password.controller.ts
checksum: 0eb3948d875508edf6d31f0ffe1290aac0cc02c9c80c913bcb04a312edd062cc
- filename: server/src/http/sentry.ts
checksum: efa665e02ca4d3acbf48c5dc549dae4e915c02ae0626bedf71e3608f8d5e5ebd
- filename: server/src/jobs/database/obfuscateCollections.ts
checksum: df959adedd069bbfd68c6c5c99a9f506b980147a973f95b517c24e740d79ee37
checksum: b2187fd541ab53581f3313f43dc9aa60dabce658ae848e63b9a85c2e42a953fd
- filename: server/src/jobs/job.actions.ts
checksum: d716e214d828109181a138f0ae253d5489a3c544b2625917b458d1e07886c408
checksum: 4db1a4c6047165e8032efd563cf594e6169b7065e04f1333df22ddad56343431
- filename: server/src/jobs/lba_recruteur/api/createApiUser.ts
checksum: 8e4712bae8747c1f0f2ba8b4ac3f3af118772136c16b6318b14a2d8b7e277dc6
- filename: server/src/jobs/lba_recruteur/formulaire/misc/removeVersionKeyFromRecruiters.ts
checksum: 3cd111d8c109cfec357bae48af70d0cf5644d02cd2c4b9afc5b8aa07bccbd535
- filename: server/src/security/accessTokenService.ts
Expand Down Expand Up @@ -92,7 +94,7 @@ fileignoreconfig:
- filename: shared/helpers/generateUri.ts
checksum: 6542db0d3eca959c6e81d574f8b71d4b18d2f1af21042ca5ed4dff319cd39555
- filename: shared/helpers/openapi/__snapshots__/generateOpenapi.test.ts.snap
checksum: acfade647afc6a09dc05fe116850ca4b5e9ce9564fdc74015436748b4001bc09
checksum: caa1131ffe2f23d62ba2d4370173cce74ffa05a17330c8d342c41c4b971c6f9f
- filename: shared/helpers/openapi/generateOpenapi.test.ts
checksum: d7b85c3dff488cec523d78f0926e15dbea41071a1864bda62b4d6caeb2541df3
- filename: shared/models/applications.model.ts
Expand Down Expand Up @@ -149,6 +151,8 @@ fileignoreconfig:
checksum: 1ad48425b890a5ed3de19d079692e2ef7eac76483339a469a6cd9bc6d796ad26
- filename: ui/utils/api.utils.ts
checksum: 324cd501354cfff65447c2599c4cc8966aa8aac30dda7854623dd6f7f7b0d34e
- filename: server/src/services/referrers.service.ts
checksum: 966b0ece2b18b5a6066df531524c97ba0ad38266e782a334004e8c127b41ade6
- filename: server/src/common/utils/awsUtils.ts
checksum: 0acc085847288b9f2d5235f118e29199a168b368c33a7e37ab7dfc7e143fb507
- filename: .github/workflows/_build.yml
Expand Down
30 changes: 17 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,32 +73,33 @@
"@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"@types/clamscan": "^2.0.8",
"@types/node": "20.7.1",
"@typescript-eslint/eslint-plugin": "^6.7.2",
"@typescript-eslint/parser": "^6.7.2",
"@types/node": "^20.12.12",
"@typescript-eslint/eslint-plugin": "^7.9.0",
"@typescript-eslint/parser": "^7.9.0",
"cross-env": "^7.0.3",
"cypress": "^13.6.4",
"cypress-slow-down": "^1.3.1",
"dotenv": "^16.1.4",
"eslint": "^8.49.0",
"eslint-config-next": "^13.4.19",
"eslint": "^8.57.0",
"eslint-config-next": "^13.5.6",
"eslint-config-prettier": "^9.0.0",
"eslint-import-resolver-typescript": "^3.6.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-cypress": "^2.15.1",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-n": "^16.1.0",
"eslint-plugin-simple-import-sort": "^10.0.0",
"eslint-plugin-unused-imports": "^3.0.0",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-simple-import-sort": "^12.1.0",
"eslint-plugin-unused-imports": "^3.2.0",
"lint-staged": "^14.0.1",
"node-talisman": "^1.29.10",
"prettier": "^3.0.3",
"semantic-release": "^21.1.1",
"semantic-release-slack-bot": "^4.0.2",
"ts-node": "^10.9.1",
"typescript": "^5.2.2",
"vite-tsconfig-paths": "^4.2.1",
"vitest": "^1.4.0"
"typescript": "^5.4.5",
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^1.6.0"
},
"commitlint": {
"extends": [
Expand All @@ -119,6 +120,9 @@
],
"*": [
"prettier --write -u"
],
"yarn.lock": [
"yarn dedupe"
]
},
"resolutions": {
Expand Down
1 change: 1 addition & 0 deletions server/.eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ module.exports = {
"n/no-missing-import": 0,
"import/no-extraneous-dependencies": 0,
"n/no-extraneous-import": 0,
"import/no-unresolved": 0,
},
env: {
es2022: true,
Expand Down
9 changes: 5 additions & 4 deletions server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"axios-cache-interceptor": "^1.3.2",
"basic-ftp": "^5.0.3",
"boom": "^7.3.0",
"bson": "^6.7.0",
"bunyan": "^1.8.15",
"bunyan-slack": "^0.0.10",
"burner-email-providers": "^1.0.67",
Expand Down Expand Up @@ -71,8 +72,7 @@
"migrate-mongo": "^11.0.0",
"miniget": "^4.2.3",
"mjml": "^4.14.1",
"mongodb": "^3.7.4",
"mongoose": "^5.13.20",
"mongodb": "^6.7.0",
"netmask": "^2.0.2",
"nodemailer": "^6.9.5",
"nodemailer-html-to-text": "^3.2.0",
Expand All @@ -89,7 +89,8 @@
"type-fest": "^4.18.2",
"xlsx": "^0.18.5",
"xml2js": "^0.6.2",
"zod": "3.21.4"
"zod": "3.23.8",
"zod-mongodb-schema": "^1.0.2"
},
"devDependencies": {
"@sentry/types": "^7.72.0",
Expand All @@ -108,7 +109,7 @@
"eslint": "^8.50.0",
"supertest": "^6.3.3",
"tsup": "^7.2.0",
"typescript": "^5.2.2",
"typescript": "^5.4.5",
"zod-fixture": "^2.5.0"
},
"files": [
Expand Down
29 changes: 3 additions & 26 deletions server/src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@ import { captureException } from "@sentry/node"
import { program } from "commander"
import HttpTerminator from "lil-http-terminator"

import { closeMongoConnection } from "@/common/mongodb"

import { closeMemoryCache } from "./common/apis/client"
import { logger } from "./common/logger"
import { sleep } from "./common/utils/asyncUtils"
import { closeMongodbConnection } from "./common/utils/mongodbUtils"
import { notifyToSlack } from "./common/utils/slackUtils"
import config from "./config"
import { closeSentry, initSentryProcessor } from "./http/sentry"
Expand Down Expand Up @@ -70,7 +69,7 @@ program
logger.info(`Starting command ${command}`)
})
.hook("postAction", async () => {
await Promise.all([closeMongoConnection(), closeMemoryCache()])
await Promise.all([closeMongodbConnection(), closeMemoryCache()])
await closeSentry()

setTimeout(async () => {
Expand Down Expand Up @@ -164,6 +163,7 @@ function createJobAction(name) {
}
}

program.command("recreate:indexes").description("Recreate MongoDB indexes").option("-q, --queued", "Run job asynchronously", false).action(createJobAction("recreate:indexes"))
program.command("db:validate").description("Validate Documents").option("-q, --queued", "Run job asynchronously", false).action(createJobAction("db:validate"))

program
Expand All @@ -185,11 +185,6 @@ program
.description("Fix duplicated users in users collections and update appointment collection accordingly")
.action(createJobAction("fix:duplicate:users"))

program
.command("migration:correctionRDVA")
.description("Corrige les erreurs de données ne correspondant pas aux modèles associés")
.action(createJobAction("migration:correctionRDVA"))

program.command("db:obfuscate").description("Pseudonymisation des documents").option("-q, --queued", "Run job asynchronously", false).action(createJobAction("db:obfuscate"))

program.command("recruiters:delegations").description("Resend delegation email for all jobs created on November 2023").action(createJobAction("recruiters:delegations"))
Expand Down Expand Up @@ -218,11 +213,6 @@ program
.option("-q, --queued", "Run job asynchronously", false)
.action(createJobAction("recruiters:get-missing-address-detail"))

program
.command("import:ficheromev4")
.description("import fiches métiers rome v4 (pas utilisé 29/04/2024)")
.option("-q, --queued", "Run job asynchronously", false)
.action(createJobAction("import:ficheromev4"))
program
.command("import:referentielrome")
.description("import référentiel rome v4 from XML")
Expand All @@ -243,12 +233,6 @@ program
.option("-q, --queued", "Run job asynchronously", false)
.action(createJobAction("migration:remove-delegated-from-jobs"))

program
.command("mongodb:indexes:create")
.description("Creation des indexes mongo")
.option("-q, --queued", "Run job asynchronously", false)
.action(createJobAction("mongodb:indexes:create"))

/********************/

program
Expand Down Expand Up @@ -555,13 +539,6 @@ program
.option("-parallelism, [parallelism]", "Number of threads", "10")
.action(createJobAction("referentiel-opco:constructys:import"))

program
.command("resend-prdv-emails")
.description("Renvoie les emails de prises de rendez-vous")
.option("-q, --queued", "Run job asynchronously", false)
.requiredOption("--from-date <string>, [fromDate]", "format DD-MM-YYYY. Date depuis laquelle les prises de rendez-vous sont renvoyéees")
.action(createJobAction("prdv:emails:resend"))

export async function startCLI() {
await program.parseAsync(process.argv)
}
35 changes: 1 addition & 34 deletions server/src/common/apis/FranceTravail.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ import querystring from "querystring"
import Boom from "boom"
import FormData from "form-data"
import { TDayjs } from "shared/helpers/dayjs"
import { IFicheRome } from "shared/models"

import config from "@/config"
import { FTResponse } from "@/services/ftjob.service.types"
import { IAppelattionDetailsFromAPI, IRomeDetailsFromAPI, IRomeV4Short, ZFTApiToken } from "@/services/rome.service.types"
import { IAppelattionDetailsFromAPI, IRomeDetailsFromAPI, ZFTApiToken } from "@/services/rome.service.types"

import dayjs from "../../services/dayjs.service"
import { logger } from "../logger"
Expand Down Expand Up @@ -204,38 +203,6 @@ export const getAppellationDetailsFromAPI = async (appellationCode: string): Pro
}
}

export const getRomeV4DetailsFromFT = async (romeCode: string): Promise<IFicheRome | null | undefined> => {
const { token } = await getFtAccessToken("ROMEV4")

try {
const { data } = await axiosClient.get<IFicheRome>(`${config.franceTravailIO.baseUrl}/rome-metiers/v1/metiers/metier/${romeCode}`, {
headers: {
Authorization: `Bearer ${token}`,
},
})

return data
} catch (error: any) {
sentryCaptureException(error, { extra: { responseData: error.response?.data } })
return null
}
}

export const getRomeV4ListFromFT = async (): Promise<IRomeV4Short[] | null | undefined> => {
const { token } = await getFtAccessToken("ROMEV4")
try {
const { data } = await axiosClient.get<IRomeV4Short[]>(`${config.franceTravailIO.baseUrl}/rome-metiers/v1/metiers/metier?champs=code`, {
headers: {
Authorization: `Bearer ${token}`,
},
})
return data
} catch (error: any) {
sentryCaptureException(error, { extra: { responseData: error.response?.data } })
return null
}
}

/**
* Sends CSV file to France Travail API through a "form data".
*/
Expand Down
12 changes: 0 additions & 12 deletions server/src/common/model/constants/appointments.ts

This file was deleted.

Loading

0 comments on commit d3d9866

Please sign in to comment.