| 1234567891011121314151617181920212223242526272829303132 |
- import * as _ from 'lodash'
- import { AnyJson, DataProviderArgs, Processor } from '~/types/interfaces'
- import BaseProcessor from '~/services/data/processor/baseProcessor'
- import { 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 data
- */
- async process (data: AnyJson): Promise<any> {
- if (typeof this.arguments.model === 'undefined') {
- throw new TypeError('model must be defined')
- }
- data.originalState = _.cloneDeep(data)
- await repositoryHelper.persist(this.arguments.model, data)
- return data
- }
- }
- export default ModelProcessor
|