| 12345678910111213141516171819202122232425262728 |
- import {AnyJson, DataProviderArgs, Provider} from "~/types/interfaces";
- import BaseProvider from "~/services/dataProvider/provider/baseProvider";
- import {QUERY_TYPE} from "~/types/enums";
- import {Context} from "@nuxt/types/app";
- import * as _ from "lodash";
- import {repositoryHelper} from "~/services/store/repository";
- class ModelProvider extends BaseProvider implements Provider{
- constructor(ctx: Context, args: DataProviderArgs) {
- super(ctx, args);
- }
- async invoke(data: AnyJson): Promise<any>{
- if(typeof this.arguments.model === 'undefined')
- throw new Error('model must be defined');
- data['originalState'] = _.cloneDeep(data)
- await repositoryHelper.persist(this.arguments.model, data)
- await this.postHook()
- }
- static support(args:DataProviderArgs): boolean{
- return args.type === QUERY_TYPE.MODEL
- }
- }
- export default ModelProvider
|