| 123456789101112131415161718192021222324252627282930313233 |
- import { DataDeleterArgs } from '~/types/interfaces'
- import BaseDataManager from '~/services/data/baseDataManager'
- import { repositoryHelper } from '~/services/store/repository'
- import { hooksDeleter } from '~/services/data/hooks/hookDeleter/_import'
- import UrlBuilder from '~/services/connection/urlBuilder'
- import { HTTP_METHOD } from '~/types/enums'
- import Connection from '~/services/connection/connection'
- /**
- * Le DataDeleter a pour rôle de supprimer des enregistrements via l'API
- */
- class DataDeleter extends BaseDataManager {
- protected arguments!: DataDeleterArgs
- protected hooks = hooksDeleter;
- /**
- * Exécute la requête
- */
- protected async _invoke (): Promise<any> {
- // build the url according to the url args
- const url = UrlBuilder.build(this.arguments)
- // send the DELETE request to the api
- await Connection.invoke(HTTP_METHOD.DELETE, url, this.arguments)
- // update the store
- if (this.arguments.model) {
- await repositoryHelper.deleteItem(this.arguments.model, this.arguments.id)
- }
- }
- }
- export default DataDeleter
|