| 123456789101112131415161718192021222324252627282930313233 |
- import * as _ from 'lodash'
- 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'
- /**
- * @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
|