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:
démarrer et configurer kinto
cp .env.sample .env
yarn start
l'interface d'administation de kinto est accessible à l'adresse suivante http://localhost:8889/v1/admin
:
- Compte
admin
: admin / passw0rd
*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
- une bucket
wif_public
avec 4 collections:
Collection | Description | Modèle |
---|---|---|
monthly_reports |
rapport mensuel pour les DIRECCT | src/extractor/src/model/monthly-report.model.ts |
alerts |
dossiers en souffrance | src/extractor/src/model/alert.model.ts |
validity-checks |
validité des APT | src/extractor/src/model/validity-check.model.ts |
synchro_histories |
stockage des informations de synchronisation | src/extractor/src/model/synchro-history.model.ts |
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 2 -
initiated
(en construction)- en construction depuis trop longtemps
- Règle 3 -
received
(en instruction)- en instruction depuis trop longtemps
- Règle 4 -
closed
(accepté)- Date manquante - soit début, soit fin
- Date de début > Date de fin
- Durée de APT > 12 mois
- Message(s) de l'usager sans réponse envoyés après la date
processed_at
- Règle 5 -
refused
(refusé)- Message(s) de l'usager sans réponse envoyés après la date
processed_at
- Message(s) de l'usager sans réponse envoyés après la date
- Règle 6 -
without_continuation
(sans suite)- Message(s) de l'usager sans réponse envoyés après la date
processed_at
- Message(s) de l'usager sans réponse envoyés après la date