Skip to content
This repository has been archived by the owner on Jul 30, 2021. It is now read-only.

Back office de Work In France: API public, génération de statistiques, détection de dossiers en souffrance

License

Notifications You must be signed in to change notification settings

SocialGouv/work-in-france-backoffice

Repository files navigation

💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀



DEPRECATED



💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀






work-in-france-backoffice

Build Status codecov

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.

Environnement de développement

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

Lancer en local avec docker

docker-compose up --build

Synchronisation des données

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 les validity-check(expression cron .env.VALIDITY_CHECK_CRON)
  • Nettoyage des validity-check: supprime les validity-check expirés (expression cron .env.VALIDITY_CHECK_CLEANER_CRON)
  • Création des monthly-report: crée et envoie les rapports mensuels pour les DIRECCT (expression cron .env.MONTHLY_REPORT_CRON)

Règles de détection d'une dossier potentiellement en souffrance

  • 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é
  • Règle 5 - without_continuation (sans suite)
    • Messages de l'usager envoyés après la date processed_at et dossier archivé

Release policy

Auto

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

Manual

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 ;)

About

Back office de Work In France: API public, génération de statistiques, détection de dossiers en souffrance

Resources

License

Stars

Watchers

Forks

Packages

No packages published