@adobe/genstudio-extensibility-sdk
Version:
GenStudio Extensibility SDK
51 lines (50 loc) • 1.62 kB
TypeScript
import { Channel } from "../channel/Channel";
import { Template } from "../template";
/**
* Represents an Experience entity in the system.
* An Experience is a container for various fields that define its characteristics.
*/
export interface Experience {
/** Unique identifier for the experience */
id: string;
/** Channels associated with the experience */
channels?: Channel[];
/** Collection of experience fields stored as key-value pairs */
experienceFields: Record<string, ExperienceField>;
/** Template associated with the experience */
template?: Template;
/** Metadata associated with the experience */
metadata?: ExperienceMetadata;
}
/**
* Represents a field within an Experience.
* Each field contains a name and corresponding value.
*/
export interface ExperienceField {
/** Name of the experience field */
fieldName: string;
/** Value associated with the experience field */
fieldValue: string;
/** Keywords for the experience field */
keywords?: string[];
/** Additional metadata for the experience field */
additionalMetadata?: Record<string, any>;
}
/**
* Metadata associated with an Experience.
*/
export type ExperienceMetadata = {
locale?: string;
[key: string]: any;
};
/**
* Payload describing a single field update to apply on the canvas.
*/
export type FieldUpdate = {
/** ID of the experience containing the field to update */
experienceId: string;
/** Name of the field to update (matches fieldName key) */
name: string;
/** The new value to write into the field */
value: string;
};