/* tslint:disable */ /* eslint-disable */ /** * My API * API documentation for my Laravel app * * The version of the OpenAPI document: 1.0.0 * * * 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'; import type { SiteLiteResource } from './SiteLiteResource'; import { SiteLiteResourceFromJSON, SiteLiteResourceFromJSONTyped, SiteLiteResourceToJSON, SiteLiteResourceToJSONTyped, } from './SiteLiteResource'; import type { ProductChildLiteResource } from './ProductChildLiteResource'; import { ProductChildLiteResourceFromJSON, ProductChildLiteResourceFromJSONTyped, ProductChildLiteResourceToJSON, ProductChildLiteResourceToJSONTyped, } from './ProductChildLiteResource'; import type { ReviewCustomerLiteResource } from './ReviewCustomerLiteResource'; import { ReviewCustomerLiteResourceFromJSON, ReviewCustomerLiteResourceFromJSONTyped, ReviewCustomerLiteResourceToJSON, ReviewCustomerLiteResourceToJSONTyped, } from './ReviewCustomerLiteResource'; import type { AdminLiteResource } from './AdminLiteResource'; import { AdminLiteResourceFromJSON, AdminLiteResourceFromJSONTyped, AdminLiteResourceToJSON, AdminLiteResourceToJSONTyped, } from './AdminLiteResource'; /** * * @export * @interface ReviewResource */ export interface ReviewResource { /** * * @type {number} * @memberof ReviewResource */ id: number; /** * * @type {string} * @memberof ReviewResource */ reviewerName: string; /** * * @type {number} * @memberof ReviewResource */ rating: number; /** * * @type {string} * @memberof ReviewResource */ comment: string; /** * * @type {string} * @memberof ReviewResource */ replyFromAdmin?: string | null; /** * * @type {string} * @memberof ReviewResource */ location: string; /** * * @type {boolean} * @memberof ReviewResource */ createdByAdmin: boolean; /** * * @type {Date} * @memberof ReviewResource */ approvedAt?: Date | null; /** * * @type {Date} * @memberof ReviewResource */ reviewDate: Date; /** * * @type {Date} * @memberof ReviewResource */ createdAt?: Date | null; /** * * @type {Date} * @memberof ReviewResource */ updatedAt?: Date | null; /** * * @type {SiteLiteResource} * @memberof ReviewResource */ site: SiteLiteResource | null; /** * * @type {ProductChildLiteResource} * @memberof ReviewResource */ productChild: ProductChildLiteResource | null; /** * * @type {ReviewCustomerLiteResource} * @memberof ReviewResource */ customer: ReviewCustomerLiteResource | null; /** * * @type {AdminLiteResource} * @memberof ReviewResource */ admin: AdminLiteResource | null; /** * * @type {AdminLiteResource} * @memberof ReviewResource */ approver: AdminLiteResource | null; } /** * Check if a given object implements the ReviewResource interface. */ export function instanceOfReviewResource(value: object): value is ReviewResource { if (!('id' in value) || value['id'] === undefined) return false; if (!('reviewerName' in value) || value['reviewerName'] === undefined) return false; if (!('rating' in value) || value['rating'] === undefined) return false; if (!('comment' in value) || value['comment'] === undefined) return false; if (!('location' in value) || value['location'] === undefined) return false; if (!('createdByAdmin' in value) || value['createdByAdmin'] === undefined) return false; if (!('reviewDate' in value) || value['reviewDate'] === undefined) return false; if (!('site' in value) || value['site'] === undefined) return false; if (!('productChild' in value) || value['productChild'] === undefined) return false; if (!('customer' in value) || value['customer'] === undefined) return false; if (!('admin' in value) || value['admin'] === undefined) return false; if (!('approver' in value) || value['approver'] === undefined) return false; return true; } export function ReviewResourceFromJSON(json: any): ReviewResource { return ReviewResourceFromJSONTyped(json, false); } export function ReviewResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReviewResource { if (json == null) { return json; } return { 'id': json['id'], 'reviewerName': json['reviewerName'], 'rating': json['rating'], 'comment': json['comment'], 'replyFromAdmin': json['replyFromAdmin'] == null ? undefined : json['replyFromAdmin'], 'location': json['location'], 'createdByAdmin': json['createdByAdmin'], 'approvedAt': json['approvedAt'] == null ? undefined : (new Date(json['approvedAt'])), 'reviewDate': (new Date(json['reviewDate'])), 'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])), 'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])), 'site': SiteLiteResourceFromJSON(json['site']), 'productChild': ProductChildLiteResourceFromJSON(json['productChild']), 'customer': ReviewCustomerLiteResourceFromJSON(json['customer']), 'admin': AdminLiteResourceFromJSON(json['admin']), 'approver': AdminLiteResourceFromJSON(json['approver']), }; } export function ReviewResourceToJSON(json: any): ReviewResource { return ReviewResourceToJSONTyped(json, false); } export function ReviewResourceToJSONTyped(value?: ReviewResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'reviewerName': value['reviewerName'], 'rating': value['rating'], 'comment': value['comment'], 'replyFromAdmin': value['replyFromAdmin'], 'location': value['location'], 'createdByAdmin': value['createdByAdmin'], 'approvedAt': value['approvedAt'] === null ? null : ((value['approvedAt'] as any)?.toISOString()), 'reviewDate': ((value['reviewDate']).toISOString()), 'createdAt': value['createdAt'] === null ? null : ((value['createdAt'] as any)?.toISOString()), 'updatedAt': value['updatedAt'] === null ? null : ((value['updatedAt'] as any)?.toISOString()), 'site': SiteLiteResourceToJSON(value['site']), 'productChild': ProductChildLiteResourceToJSON(value['productChild']), 'customer': ReviewCustomerLiteResourceToJSON(value['customer']), 'admin': AdminLiteResourceToJSON(value['admin']), 'approver': AdminLiteResourceToJSON(value['approver']), }; }