All files / web/bundles/pimui/js/fetcher product-fetcher.js

100% Statements 8/8
100% Branches 0/0
100% Functions 4/4
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50    1162x                                 1162x                 403x   402x 402x   402x   402x                 39x          
'use strict';
 
define(
    [
        'jquery',
        'backbone',
        'pim/base-fetcher',
        'routing',
        'oro/mediator',
        'pim/cache-invalidator'
    ],
    function (
        $,
        Backbone,
        BaseFetcher,
        Routing,
        mediator,
        CacheInvalidator
    ) {
        return BaseFetcher.extend({
            /**
             * Fetch an element based on its identifier
             *
             * @param {string} identifier
             *
             * @return {Promise}
             */
            fetch: function (identifier) {
                return $.getJSON(Routing.generate(this.options.urls.get, { id: identifier }))
                    .then(function (product) {
                        const cacheInvalidator = new CacheInvalidator();
                        cacheInvalidator.checkStructureVersion(product);
 
                        mediator.trigger('pim_enrich:form:product:post_fetch', product);
 
                        return product;
                    })
                    .promise();
            },
 
            /**
             * {@inheritdoc}
             */
            getIdentifierField: function () {
                return $.Deferred().resolve('identifier');
            }
        });
    }
);