/* tslint:disable */ /* eslint-disable */ /** * metrics-sdk-admin * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 5.4.9 * * * 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 { SessionPlanSequenceInstanceData } from './SessionPlanSequenceInstanceData'; import { SessionPlanSequenceInstanceDataFromJSON, SessionPlanSequenceInstanceDataFromJSONTyped, SessionPlanSequenceInstanceDataToJSON, } from './SessionPlanSequenceInstanceData'; import type { UserData } from './UserData'; import { UserDataFromJSON, UserDataFromJSONTyped, UserDataToJSON, } from './UserData'; import type { SessionPlanSequenceAssignmentData } from './SessionPlanSequenceAssignmentData'; import { SessionPlanSequenceAssignmentDataFromJSON, SessionPlanSequenceAssignmentDataFromJSONTyped, SessionPlanSequenceAssignmentDataToJSON, } from './SessionPlanSequenceAssignmentData'; /** * * @export * @interface SessionPlanData */ export interface SessionPlanData { /** * * @type {number} * @memberof SessionPlanData */ id: number; /** * * @type {string} * @memberof SessionPlanData */ name: string; /** * * @type {string} * @memberof SessionPlanData */ description?: string; /** * * @type {string} * @memberof SessionPlanData */ notes?: string; /** * * @type {string} * @memberof SessionPlanData */ startAt: string; /** * * @type {string} * @memberof SessionPlanData */ endAt?: string; /** * * @type {boolean} * @memberof SessionPlanData */ active: boolean; /** * * @type {boolean} * @memberof SessionPlanData */ repeating: boolean; /** * * @type {boolean} * @memberof SessionPlanData */ flexible: boolean; /** * * @type {number} * @memberof SessionPlanData */ scheduleLength: number; /** * * @type {number} * @memberof SessionPlanData */ lastCompletedIndex?: number; /** * * @type {SessionPlanSequenceInstanceData} * @memberof SessionPlanData */ lastCompletedSequence?: SessionPlanSequenceInstanceData; /** * * @type {UserData} * @memberof SessionPlanData */ user?: UserData; /** * * @type {Array} * @memberof SessionPlanData */ sessionPlanSequenceAssignments?: Array; /** * * @type {Array} * @memberof SessionPlanData */ sessionPlanSequenceInstances?: Array; } /** * Check if a given object implements the SessionPlanData interface. */ export function instanceOfSessionPlanData(value: object): value is SessionPlanData { if (!('id' in value) || value['id'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('startAt' in value) || value['startAt'] === undefined) return false; if (!('active' in value) || value['active'] === undefined) return false; if (!('repeating' in value) || value['repeating'] === undefined) return false; if (!('flexible' in value) || value['flexible'] === undefined) return false; if (!('scheduleLength' in value) || value['scheduleLength'] === undefined) return false; return true; } export function SessionPlanDataFromJSON(json: any): SessionPlanData { return SessionPlanDataFromJSONTyped(json, false); } export function SessionPlanDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionPlanData { if (json == null) { return json; } return { 'id': json['id'], 'name': json['name'], 'description': json['description'] == null ? undefined : json['description'], 'notes': json['notes'] == null ? undefined : json['notes'], 'startAt': json['startAt'], 'endAt': json['endAt'] == null ? undefined : json['endAt'], 'active': json['active'], 'repeating': json['repeating'], 'flexible': json['flexible'], 'scheduleLength': json['scheduleLength'], 'lastCompletedIndex': json['lastCompletedIndex'] == null ? undefined : json['lastCompletedIndex'], 'lastCompletedSequence': json['lastCompletedSequence'] == null ? undefined : SessionPlanSequenceInstanceDataFromJSON(json['lastCompletedSequence']), 'user': json['user'] == null ? undefined : UserDataFromJSON(json['user']), 'sessionPlanSequenceAssignments': json['sessionPlanSequenceAssignments'] == null ? undefined : ((json['sessionPlanSequenceAssignments'] as Array).map(SessionPlanSequenceAssignmentDataFromJSON)), 'sessionPlanSequenceInstances': json['sessionPlanSequenceInstances'] == null ? undefined : ((json['sessionPlanSequenceInstances'] as Array).map(SessionPlanSequenceInstanceDataFromJSON)), }; } export function SessionPlanDataToJSON(value?: SessionPlanData | null): any { if (value == null) { return value; } return { 'id': value['id'], 'name': value['name'], 'description': value['description'], 'notes': value['notes'], 'startAt': value['startAt'], 'endAt': value['endAt'], 'active': value['active'], 'repeating': value['repeating'], 'flexible': value['flexible'], 'scheduleLength': value['scheduleLength'], 'lastCompletedIndex': value['lastCompletedIndex'], 'lastCompletedSequence': SessionPlanSequenceInstanceDataToJSON(value['lastCompletedSequence']), 'user': UserDataToJSON(value['user']), 'sessionPlanSequenceAssignments': value['sessionPlanSequenceAssignments'] == null ? undefined : ((value['sessionPlanSequenceAssignments'] as Array).map(SessionPlanSequenceAssignmentDataToJSON)), 'sessionPlanSequenceInstances': value['sessionPlanSequenceInstances'] == null ? undefined : ((value['sessionPlanSequenceInstances'] as Array).map(SessionPlanSequenceInstanceDataToJSON)), }; }