UpdateSolutionPayload.ts•7 kB
/* tslint:disable */
/* eslint-disable */
/**
* Squad API
* API for managing Squad resources
*
* The version of the OpenAPI document: 4.0.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 { UpdateSolutionPayloadRefinementLogInner } from './UpdateSolutionPayloadRefinementLogInner.js';
import {
UpdateSolutionPayloadRefinementLogInnerFromJSON,
UpdateSolutionPayloadRefinementLogInnerFromJSONTyped,
UpdateSolutionPayloadRefinementLogInnerToJSON,
UpdateSolutionPayloadRefinementLogInnerToJSONTyped,
} from './UpdateSolutionPayloadRefinementLogInner.js';
/**
* Request schema for updating a solution
* @export
* @interface UpdateSolutionPayload
*/
export interface UpdateSolutionPayload {
/**
* System prompt used to generate the requirement
* @type {string}
* @memberof UpdateSolutionPayload
*/
systemPrompt?: string;
/**
* Current state of AI processing
* @type {string}
* @memberof UpdateSolutionPayload
*/
aiProcessingState?: UpdateSolutionPayloadAiProcessingStateEnum;
/**
* Log of refinements made to the requirement
* @type {Array<UpdateSolutionPayloadRefinementLogInner>}
* @memberof UpdateSolutionPayload
*/
refinementLog?: Array<UpdateSolutionPayloadRefinementLogInner>;
/**
* Title of the solution
* @type {string}
* @memberof UpdateSolutionPayload
*/
title?: string;
/**
* Description of the solution
* @type {string}
* @memberof UpdateSolutionPayload
*/
description?: string;
/**
* Solution status
* @type {string}
* @memberof UpdateSolutionPayload
*/
status?: UpdateSolutionPayloadStatusEnum;
/**
* List of pros/advantages for this solution
* @type {Array<string>}
* @memberof UpdateSolutionPayload
*/
pros?: Array<string>;
/**
* List of cons/disadvantages for this solution
* @type {Array<string>}
* @memberof UpdateSolutionPayload
*/
cons?: Array<string>;
/**
* ID of the solution owner
* @type {string}
* @memberof UpdateSolutionPayload
*/
ownerId?: string;
/**
* Product Requirements Document content for the solution
* @type {string}
* @memberof UpdateSolutionPayload
*/
prd?: string;
/**
* Time horizon for the solution
* @type {string}
* @memberof UpdateSolutionPayload
*/
horizon?: UpdateSolutionPayloadHorizonEnum;
/**
*
* @type {Array<string>}
* @memberof UpdateSolutionPayload
*/
opportunityIds?: Array<string>;
/**
* Who triggered the update. If not provided, defaults to 'user'
* @type {string}
* @memberof UpdateSolutionPayload
*/
updateTriggeredBy?: UpdateSolutionPayloadUpdateTriggeredByEnum;
}
/**
* @export
*/
export const UpdateSolutionPayloadAiProcessingStateEnum = {
Initial: 'INITIAL',
Processing: 'PROCESSING',
Finished: 'FINISHED',
Error: 'ERROR'
} as const;
export type UpdateSolutionPayloadAiProcessingStateEnum = typeof UpdateSolutionPayloadAiProcessingStateEnum[keyof typeof UpdateSolutionPayloadAiProcessingStateEnum];
/**
* @export
*/
export const UpdateSolutionPayloadStatusEnum = {
Backlog: 'Backlog',
New: 'New',
Planned: 'Planned',
InDevelopment: 'InDevelopment',
Complete: 'Complete',
Cancelled: 'Cancelled',
Live: 'Live'
} as const;
export type UpdateSolutionPayloadStatusEnum = typeof UpdateSolutionPayloadStatusEnum[keyof typeof UpdateSolutionPayloadStatusEnum];
/**
* @export
*/
export const UpdateSolutionPayloadHorizonEnum = {
Now: 'now',
Next: 'next',
Later: 'later'
} as const;
export type UpdateSolutionPayloadHorizonEnum = typeof UpdateSolutionPayloadHorizonEnum[keyof typeof UpdateSolutionPayloadHorizonEnum];
/**
* @export
*/
export const UpdateSolutionPayloadUpdateTriggeredByEnum = {
User: 'user',
Ai: 'AI'
} as const;
export type UpdateSolutionPayloadUpdateTriggeredByEnum = typeof UpdateSolutionPayloadUpdateTriggeredByEnum[keyof typeof UpdateSolutionPayloadUpdateTriggeredByEnum];
/**
* Check if a given object implements the UpdateSolutionPayload interface.
*/
export function instanceOfUpdateSolutionPayload(value: object): value is UpdateSolutionPayload {
return true;
}
export function UpdateSolutionPayloadFromJSON(json: any): UpdateSolutionPayload {
return UpdateSolutionPayloadFromJSONTyped(json, false);
}
export function UpdateSolutionPayloadFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateSolutionPayload {
if (json == null) {
return json;
}
return {
'systemPrompt': json['systemPrompt'] == null ? undefined : json['systemPrompt'],
'aiProcessingState': json['aiProcessingState'] == null ? undefined : json['aiProcessingState'],
'refinementLog': json['refinementLog'] == null ? undefined : ((json['refinementLog'] as Array<any>).map(UpdateSolutionPayloadRefinementLogInnerFromJSON)),
'title': json['title'] == null ? undefined : json['title'],
'description': json['description'] == null ? undefined : json['description'],
'status': json['status'] == null ? undefined : json['status'],
'pros': json['pros'] == null ? undefined : json['pros'],
'cons': json['cons'] == null ? undefined : json['cons'],
'ownerId': json['ownerId'] == null ? undefined : json['ownerId'],
'prd': json['prd'] == null ? undefined : json['prd'],
'horizon': json['horizon'] == null ? undefined : json['horizon'],
'opportunityIds': json['opportunityIds'] == null ? undefined : json['opportunityIds'],
'updateTriggeredBy': json['updateTriggeredBy'] == null ? undefined : json['updateTriggeredBy'],
};
}
export function UpdateSolutionPayloadToJSON(json: any): UpdateSolutionPayload {
return UpdateSolutionPayloadToJSONTyped(json, false);
}
export function UpdateSolutionPayloadToJSONTyped(value?: UpdateSolutionPayload | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'systemPrompt': value['systemPrompt'],
'aiProcessingState': value['aiProcessingState'],
'refinementLog': value['refinementLog'] == null ? undefined : ((value['refinementLog'] as Array<any>).map(UpdateSolutionPayloadRefinementLogInnerToJSON)),
'title': value['title'],
'description': value['description'],
'status': value['status'],
'pros': value['pros'],
'cons': value['cons'],
'ownerId': value['ownerId'],
'prd': value['prd'],
'horizon': value['horizon'],
'opportunityIds': value['opportunityIds'],
'updateTriggeredBy': value['updateTriggeredBy'],
};
}