| 123456789101112131415161718192021222324252627282930313233 |
- import {ApiResponse, DataProviderArgs, Processor} from '~/types/interfaces'
- import BaseProcessor from '~/services/data/processor/baseProcessor'
- import {METADATA_TYPE, QUERY_TYPE} from '~/types/enums'
- import { repositoryHelper } from '~/services/store/repository'
- class ModelProcessor extends BaseProcessor implements Processor {
- /**
- * Is the given argument a supported model
- * @param args
- */
- public static support (args: DataProviderArgs): boolean {
- return args.type === QUERY_TYPE.MODEL
- }
- /**
- * Exécute la requête et retourne la réponse désérialisée
- * @param payload
- */
- async process (payload: ApiResponse): Promise<any> {
- if (typeof this.arguments.model === 'undefined') {
- throw new TypeError('model must be defined')
- }
- if(payload.metadata.type !== METADATA_TYPE.COLLECTION){
- payload.data.originalState = useCloneDeep(payload)
- }
- await repositoryHelper.persist(this.arguments.model, payload.data)
- return payload
- }
- }
- export default ModelProcessor
|