[TECH] Remplacer ember-cp-validation par Joi dans Pix Admin
ℹ️ Info
- Le nombre de changements important est causé par le
package-lock.json - Simple à relire commit par commit
❄️ Problème
Certains formulaires utilisent une librairie externe ember-cp-validations afin de faire de la validation de formulaire via des modèles ember-data.
Cette librairie est peu maintenue et n'est pas compatible avec les versions d'ember-data au dessus de 5.6.0. De plus elle est toujours en addon v1, ce qui ralenti le passage à Vite.
🛷 Proposition
Créer une classe FormValidator : permet d'utiliser un schéma Joi pour la validation de données de formulaire.
const SCHEMA = Joi.object({
email: Joi.string().email().required(),
password: Joi.string().required().messages({ 'string.empty': 'Password required !!!' }),
});
const validator = new FormValidator(SCHEMA);
// Validate all data of the schema
const isValid = validator.validate({ email:'[email protected]', password: '' });
console.log(isValid); // false
console.log(validator.errors); // { password: 'Password required !!!' }
// Validate one field of the schema
const isValid = validator.validateField('email', 'hello');
console.log(isValid); // false
console.log(validator.errors.email); // "email" must be a valid email
Remplacer l'usage de ember-cp-validations par FormValidator dans :
- Le formulaire d'édition d'un utilisateur
- Le formulaire d'édition d'une campagne
- Le formulaire d'édition d'une organisation
- Le formulaire d'édition d'un centre de certification
☃️ Remarques
Suppression de la librairie ember-cp-validations, des modèles ember-data et mirage des formulaires, et des validators.
🧑🎄 Pour tester
Vérifier la gestion des erreurs dans les 4 formulaires suivants :
- Le formulaire d'édition d'un utilisateur:
- prescrit : https://admin-pr14382.review.pix.fr/users/108494
- non prescrit : https://admin-pr14382.review.pix.fr/users/108520
- Le formulaire d'édition d'une campagne: https://admin-pr14382.review.pix.fr/campaigns/107804/participations
- Le formulaire d'édition d'une organisation: https://admin-pr14382.review.pix.fr/organizations/107782/team
- Le formulaire d'édition d'un centre de certification: https://admin-pr14382.review.pix.fr/certification-centers/5000
Choisir les applications à déployer :
- [x] API | 👩💻 Dashboard Scalingo
- [ ] App (.fr) – App (.org) | 👩💻 Dashboard Scalingo
- [ ] Orga (.fr) – Orga (.org) | 👩💻 Dashboard Scalingo
- [ ] Certif (.fr) – Certif (.org) | 👩💻 Dashboard Scalingo
- [ ] Junior | 👩💻 Dashboard Scalingo
- [x] Admin | 👩💻 Dashboard Scalingo
- [ ] API MaDDo | 👩💻 Dashboard Scalingo
- [ ] Audit Logger | 👩💻 Dashboard Scalingo
[!IMPORTANT] N'oubliez pas de déployer l'API pour pouvoir accéder aux fronts et/ou à l’API MaDDo.
️✅ There are no secrets present in this pull request anymore.
If these secrets were true positive and are still valid, we highly recommend you to revoke them. While these secrets were previously flagged, we no longer have a reference to the specific commits where they were detected. Once a secret has been leaked into a git repository, you should consider it compromised, even if it was deleted immediately. Find here more information about risks.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
:tada: This PR is included in version 5.280.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket: