/* tslint:disable */
/* eslint-disable */
/**
* Squad API
* API for managing Squad resources
*
* The version of the OpenAPI document: 4.8.0
* Contact: help@meetsquad.ai
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { mapValues } from '../runtime.js';
import type { FeedbackMetadataItemValue } from './FeedbackMetadataItemValue.js';
import {
FeedbackMetadataItemValueFromJSON,
FeedbackMetadataItemValueFromJSONTyped,
FeedbackMetadataItemValueToJSON,
FeedbackMetadataItemValueToJSONTyped,
} from './FeedbackMetadataItemValue.js';
/**
* Metadata from a provider node that supplied this feedback. Contains nodeType and additional provider-specific properties.
* @export
* @interface FeedbackMetadataItem
*/
export interface FeedbackMetadataItem {
[key: string]: FeedbackMetadataItemValue | any;
/**
* The type of node that provided this feedback (e.g., 'IntercomConversation')
* @type {string}
* @memberof FeedbackMetadataItem
*/
nodeType: string;
}
/**
* Check if a given object implements the FeedbackMetadataItem interface.
*/
export function instanceOfFeedbackMetadataItem(value: object): value is FeedbackMetadataItem {
if (!('nodeType' in value) || value['nodeType'] === undefined) return false;
return true;
}
export function FeedbackMetadataItemFromJSON(json: any): FeedbackMetadataItem {
return FeedbackMetadataItemFromJSONTyped(json, false);
}
export function FeedbackMetadataItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): FeedbackMetadataItem {
if (json == null) {
return json;
}
return {
...json,
'nodeType': json['nodeType'],
};
}
export function FeedbackMetadataItemToJSON(json: any): FeedbackMetadataItem {
return FeedbackMetadataItemToJSONTyped(json, false);
}
export function FeedbackMetadataItemToJSONTyped(value?: FeedbackMetadataItem | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
...value,
'nodeType': value['nodeType'],
};
}