plexus.dashboard.api.models.feedback_change_detail module

class plexus.dashboard.api.models.feedback_change_detail.FeedbackChangeDetail(id: str | None = None, feedbackItemId: str | None = None, changeType: Literal['Response', 'Score', 'Calibration'] | None = None, externalId: str | None = None, changedAt: datetime | None = None, changedBy: str | None = None, initialAnswerValue: str | None = None, finalAnswerValue: str | None = None, initialCommentValue: str | None = None, finalCommentValue: str | None = None, editCommentValue: str | None = None, createdAt: datetime | None = None, updatedAt: datetime | None = None, feedbackItem: FeedbackItem | None = None, _client: PlexusDashboardClient | None = None, _raw_data: Dict[str, Any] | None = None)

Bases: BaseModel

Represents an individual change record contributing to a FeedbackItem. Corresponds to the FeedbackChangeDetail model in the GraphQL schema.

GRAPHQL_BASE_FIELDS = ['id', 'feedbackItemId', 'changeType', 'externalId', 'changedAt', 'changedBy', 'initialAnswerValue', 'finalAnswerValue', 'initialCommentValue', 'finalCommentValue', 'editCommentValue', 'createdAt', 'updatedAt']
__init__(id: str | None = None, feedbackItemId: str | None = None, changeType: Literal['Response', 'Score', 'Calibration'] | None = None, externalId: str | None = None, changedAt: datetime | None = None, changedBy: str | None = None, initialAnswerValue: str | None = None, finalAnswerValue: str | None = None, initialCommentValue: str | None = None, finalCommentValue: str | None = None, editCommentValue: str | None = None, createdAt: datetime | None = None, updatedAt: datetime | None = None, feedbackItem: FeedbackItem | None = None, _client: PlexusDashboardClient | None = None, _raw_data: Dict[str, Any] | None = None) None
changeType: Literal['Response', 'Score', 'Calibration'] | None = None
changedAt: datetime | None = None
changedBy: str | None = None
classmethod count_by_account_id(account_id: str, client: PlexusDashboardClient) int

Count the number of FeedbackChangeDetail records associated with a specific account.

Since FeedbackChangeDetail doesn’t have a direct accountId field, we’ll need to: 1. Get all FeedbackItems for the account 2. Count all associated FeedbackChangeDetails

Args:

account_id: The ID of the account to count records for. client: The API client to use.

Returns:

int: The number of FeedbackChangeDetail records for the account.

classmethod create(client: PlexusDashboardClient, data: Dict[str, Any]) FeedbackChangeDetail | None

Create a new FeedbackChangeDetail.

createdAt: datetime | None = None
classmethod delete_all_by_account_id(account_id: str, client: PlexusDashboardClient, progress=None, task_id=None) int

Delete all FeedbackChangeDetail records associated with a specific account.

Since FeedbackChangeDetail doesn’t have a direct accountId field, we’ll need to: 1. Get all FeedbackItems for the account 2. For each FeedbackItem, delete all its FeedbackChangeDetails

Args:

account_id: The ID of the account to delete records for. client: The API client to use. progress: Optional progress bar instance to use for tracking progress. task_id: Optional task ID within the progress bar to update.

Returns:

int: The number of records deleted.

editCommentValue: str | None = None
externalId: str | None = None
feedbackItem: FeedbackItem | None = None
feedbackItemId: str | None = None
finalAnswerValue: str | None = None
finalCommentValue: str | None = None
classmethod from_dict(data: Dict[str, Any], client: PlexusDashboardClient | None = None) FeedbackChangeDetail

Create a FeedbackChangeDetail instance from a dictionary.

Args:

data: Dictionary containing the FeedbackChangeDetail data. client: Optional API client to associate with the instance.

Returns:

A new FeedbackChangeDetail instance.

classmethod get(id: str, client: PlexusDashboardClient, fields: List[str] | None = None) FeedbackChangeDetail | None

Retrieve a specific FeedbackChangeDetail by its ID.

id: str | None = None
initialAnswerValue: str | None = None
initialCommentValue: str | None = None
classmethod list(client: PlexusDashboardClient, feedback_item_id: str | None = None, limit: int = 100, next_token: str | None = None, fields: List[str] | None = None)

List FeedbackChangeDetails, typically filtered by feedbackItemId.

updatedAt: datetime | None = None