💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀
Ce dépot doit remplacer à terme work-in-france-extractor
et work-in-france-bo-public
Back office de Work In France:
- expose l'API de vérification d'une permis de demande d'autorisation de travail
- génére des statistiques mensuelles
- détecte les dossiers en souffrance
- envoie des tableaux de bord par mail
Les données utilisées proviennent de la base de données non exposée du dépôt ds-aggregator
.
pour lancer le projet en développement:
cp .env.sample .env
docker-compose up --build db
yarn start
*appeler les API de extractor
:
lancer une synchronisation globale de rapports mensuels (dans tous les cas, les rapports mensuels sont créés le premier du mois à 8h du matin cf .env.MONTHLY_REPORT_CRON
)
curl -X POST http://localhost:${.env.API_PORT}/api/${.env.API_PREFIX}/monthly-reports/sync-all
télécharger un rapport mensuel sous format xlsx
curl -X GET http://localhost:${.env.API_PORT}/api/${.env.API_PREFIX}/monthly-reports/:year/:month/:group/download
télécharger la liste des dossiers en souffrance sous le format xlsx
curl -X GET http://localhost:${.env.API_PORT}/api/${.env.API_PREFIX}/alerts/download
docker-compose up --build
La fréquence des synchronisations est paramétrable dans le .env
en modifiant les expressions cron
. A chaque synchronisation, 2 timestamps
sont passés, celui de la dernière synchronisation et celui correspondant à la date courante. Cela permet de synchroniser uniquement le delta. Le timestamp
de la dernière synchro est stocké dans la collection synchro_histories
.
Liste des synchronisations:
- Création des
validity-check
: crée lesvalidity-check
(expressioncron
.env.VALIDITY_CHECK_CRON
) - Nettoyage des
validity-check
: supprime lesvalidity-check
expirés (expressioncron
.env.VALIDITY_CHECK_CLEANER_CRON
) - Création des
monthly-report
: crée et envoie les rapports mensuels pour les DIRECCT (expressioncron
.env.MONTHLY_REPORT_CRON
)
- Règle 1 -
initiated
(en construction)- en construction depuis trop longtemps
- Règle 2 -
received
(en instruction)- en instruction depuis trop longtemps
- Règle 3 -
closed
(accepté)- Date manquante - soit début, soit fin
- Date de début > Date de fin
- Durée de APT > 12 mois
- Messages de l'usager envoyés après la date
processed_at
et dossier archivé
- Règle 4 -
refused
(refusé)- Messages de l'usager envoyés après la date
processed_at
et dossier archivé
- Messages de l'usager envoyés après la date
- Règle 5 -
without_continuation
(sans suite)- Messages de l'usager envoyés après la date
processed_at
et dossier archivé
- Messages de l'usager envoyés après la date
Trigger a custom build on Travis (in the "More options" right menu) on the master
branch with a custom config:
env:
global:
- RELEASE=true
You can change the lerna arguments though the LERNA_ARGS
variable.
env:
global:
- LERNA_ARGS="major --force-publish --yes"
- RELEASE=true
You need an Github token to release.
#
# Bump, push to git and publish to npm
$ GH_TOKEN=${GITHUB_TOKEN} yarn lerna version
#
# You might want to add a Gif to your release to make it groovy ;)