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:
BaseModelRepresents 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