| 12345678910111213141516171819202122232425262728293031323334353637 |
- import * as _ from 'lodash'
- import BaseNormalizer from '~/services/serializer/normalizer/baseNormalizer'
- import { DataPersisterArgs } 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 {
- 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
- */
- public static normalize (args: DataPersisterArgs): any {
- if (!args.model) {
- throw new Error('*args* has no model attribute')
- }
- 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
|