"ember-api-actions" avait été installé afin de contourner l'usage des adapter et d'Ember Data. Mais la solution n'est pas pérenne, il faut maintenir, c'est une douleur et la librairie n'est plus maintenue.
:robot: Proposition
Supprimer la dépendance "ember-api-actions" et utiliser les adapters existants. Concrètement, on n'utilise plus de memberAction, on revient aux adapters.
:rainbow: Remarques
Pour les adapteurs possédant déjà des updateRecord avec un système de if else sur les adapterOptions, nous avons gardé le même fonctionnement:
admin/app/adapters/certification.js
Pour les adapteurs possédant des méthodes spécifiques, nous avons gardé le même fonctionnement:
admin/app/adapters/target-profile.js
Certaines memberActions étaient placées dans des modèles qui ne correspondaient pas à la route api appelée, nous les avons mis dans les adapters qui nous paraissaient logiques:
Par exemple la méthode pour attacher un target-profile à des organizations faisait appel à une member-action d'organization qui appelait la route : const url = ${this.host}/${this.namespace}/target-profiles/${targetProfileId}/attach-organizations;. Nous l'avons donc retiré du modèle organization pour la placer dans l'adapter target-profile
:unicorn: Problème
"ember-api-actions" avait été installé afin de contourner l'usage des adapter et d'Ember Data. Mais la solution n'est pas pérenne, il faut maintenir, c'est une douleur et la librairie n'est plus maintenue.
:robot: Proposition
Supprimer la dépendance "ember-api-actions" et utiliser les adapters existants. Concrètement, on n'utilise plus de
memberAction
, on revient auxadapters
.:rainbow: Remarques
updateRecord
avec un système deif else
sur lesadapterOptions
, nous avons gardé le même fonctionnement:admin/app/adapters/certification.js
admin/app/adapters/target-profile.js
Certaines memberActions étaient placées dans des modèles qui ne correspondaient pas à la route api appelée, nous les avons mis dans les adapters qui nous paraissaient logiques:
target-profile
à des organizations faisait appel à unemember-action
d'organization
qui appelait la route :const url = ${this.host}/${this.namespace}/target-profiles/${targetProfileId}/attach-organizations;
. Nous l'avons donc retiré du modèleorganization
pour la placer dans l'adaptertarget-profile
:100: Pour tester
Vérifier que les tests passent au vert