Source: models/ContentSearchResult.js

/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */
/* Copyright (c) 2020 Mobify Research & Development Inc. All rights reserved. */
/* * *  *  * *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  *  * */

/**
 * Shop API
 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
 *
 * OpenAPI spec version: 20.4
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 *
 */


import ApiClient from '../ApiClient'
import Content from './Content'
import ContentSearchRefinement from './ContentSearchRefinement'





/**
* The ContentSearchResult model module.
* @module models/ContentSearchResult
* @version 20.4
*/
export default class ContentSearchResult {
    /**
    * Constructs a new <code>ContentSearchResult</code>.
    * Document representing a content search result.
    * @alias module:models/ContentSearchResult
    * @class
    */

    constructor() {








    }

    /**
    * Constructs a <code>ContentSearchResult</code> from a plain JavaScript object, optionally creating a new instance.
    * Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
    * @param {Object} data The plain JavaScript object bearing properties of interest.
    * @param {module:models/ContentSearchResult} obj Optional instance to populate.
    * @return {module:models/ContentSearchResult} The populated <code>ContentSearchResult</code> instance.
    */
    static constructFromObject(data, obj) {
        if (data) {
            obj = obj || new ContentSearchResult()





            if (data.hasOwnProperty('count')) {
                obj.count = ApiClient.convertToType(data.count, 'Number')
            }
            if (data.hasOwnProperty('data')) {
                obj.data = ApiClient.convertToType(data.data, [Object])
            }
            if (data.hasOwnProperty('hits')) {
                obj.hits = ApiClient.convertToType(data.hits, [Content])
            }
            if (data.hasOwnProperty('next')) {
                obj.next = ApiClient.convertToType(data.next, 'String')
            }
            if (data.hasOwnProperty('previous')) {
                obj.previous = ApiClient.convertToType(data.previous, 'String')
            }
            if (data.hasOwnProperty('query')) {
                obj.query = ApiClient.convertToType(data.query, 'String')
            }
            if (data.hasOwnProperty('refinements')) {
                obj.refinements = ApiClient.convertToType(data.refinements, [ContentSearchRefinement])
            }
            if (data.hasOwnProperty('selected_refinements')) {
                obj.selected_refinements = ApiClient.convertToType(data.selected_refinements, {String: 'String'})
            }
            if (data.hasOwnProperty('start')) {
                obj.start = ApiClient.convertToType(data.start, 'Number')
            }
            if (data.hasOwnProperty('total')) {
                obj.total = ApiClient.convertToType(data.total, 'Number')
            }
        }
        return obj
    }

    /**
    * The number of returned documents.
    * @member {Number} count
    */
    count = undefined;
    /**
    * @member {Array.<Object>} data
    */
    data = undefined;
    /**
    * The sorted array of search hits. Can be empty.
    * @member {Array.<module:models/Content>} hits
    */
    hits = undefined;
    /**
    * The URL of the next result page.
    * @member {String} next
    */
    next = undefined;
    /**
    * The URL of the previous result page.
    * @member {String} previous
    */
    previous = undefined;
    /**
    * The query String that was searched for.
    * @member {String} query
    */
    query = undefined;
    /**
    * The sorted array of search refinements. Can be empty.
    * @member {Array.<module:models/ContentSearchRefinement>} refinements
    */
    refinements = undefined;
    /**
    * Map of selected refinement attribute id/value(s) pairs. The sorting order is the same like in request URL.
    * @member {Object.<String, String>} selected_refinements
    */
    selected_refinements = undefined;
    /**
    * The zero-based index of the first search hit to include in the result.
    * @member {Number} start
    */
    start = undefined;
    /**
    * The total number of documents.
    * @member {Number} total
    */
    total = undefined;








}