| 1234567891011121314151617181920212223242526272829303132333435 |
- import BaseNormalizer from "~/services/serializer/normalizer/baseNormalizer";
- import {DataPersisterArgs, Normalizer} from "~/types/interfaces";
- import {QUERY_TYPE} from "~/types/enums";
- import {repositoryHelper} from "~/services/store/repository";
- import * as _ from "lodash"
- /**
- * @category Services/serializer/normalizer
- * @class Model
- * Classe assurant la normalization d'un Model vers un fichier JSON
- */
- class Model extends BaseNormalizer implements Normalizer{
- static support(type: QUERY_TYPE): boolean {
- return type === QUERY_TYPE.MODEL
- }
- /**
- * Récupération de l'Item souhaité puis transformation en JSON
- * @param {DataPersisterArgs} args
- * @return {any} réponse
- */
- normalize(args:DataPersisterArgs): any {
- if(!args.model)
- throw new Error('model must be present')
- const item = repositoryHelper.findItemFromModel(args.model, args.id)
- if(!item || typeof item === "undefined")
- throw new Error('Item not found')
- const data = item.$toJson()
- return _.omit(data, 'originalState')
- }
- }
- export default Model
|