«📊 Añadir una encuesta» adds 2 to 6 options to a new comment. Members, viewers too, vote by clicking an option (one vote each, which they can change or take back) and see each option's votes as a bar. Whoever started it, or an admin, closes it with «Cerrar y decidir»: the most voted wins (none on a tie) and a «Decidido: …» reply marked as a decision shows above the ticket. Events of the comment (voted, closed). API: addComment(…, poll), votePoll, closePoll, Comment.poll; POST /api/comments/{id}/poll/vote and …/poll/close. MCP: add_comment poll, vote_poll, close_poll. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
96 lines
5.0 KiB
TypeScript
96 lines
5.0 KiB
TypeScript
import { ActivityEventHandler } from './activity.event-handler';
|
|
import { CommentAddedEventHandler } from './comment-added.event-handler';
|
|
import { CommentDeletedEventHandler } from './comment-deleted.event-handler';
|
|
import { CommentEditedEventHandler } from './comment-edited.event-handler';
|
|
import { CommentReactedEventHandler } from './comment-reacted.event-handler';
|
|
import { CommentDecisionMarkedEventHandler } from './comment-decision-marked.event-handler';
|
|
import { CommentThreadResolvedEventHandler } from './comment-thread-resolved.event-handler';
|
|
import { IssueReviewsEventHandler } from './issue-reviews.event-handler';
|
|
import { CommentPollEventHandler } from './comment-poll.event-handler';
|
|
import { IssueVotedEventHandler } from './issue-voted.event-handler';
|
|
import { IssueAssignedEventHandler } from './issue-assigned.event-handler';
|
|
import { IssueCreatedEventHandler } from './issue-created.event-handler';
|
|
import { IssueLinkedEventHandler } from './issue-linked.event-handler';
|
|
import { IssueReleaseChangedEventHandler } from './issue-release-changed.event-handler';
|
|
import { IssueStatusChangedEventHandler } from './issue-status-changed.event-handler';
|
|
import { IssueUnlinkedEventHandler } from './issue-unlinked.event-handler';
|
|
import { IssueUpdatedEventHandler } from './issue-updated.event-handler';
|
|
import { ProjectCreatedEventHandler } from './project-created.event-handler';
|
|
import { ProjectMemberAddedEventHandler } from './project-member-added.event-handler';
|
|
import { ProjectMemberRemovedEventHandler } from './project-member-removed.event-handler';
|
|
import { ProjectMemberRoleChangedEventHandler } from './project-member-role-changed.event-handler';
|
|
import { ProjectUpdatedEventHandler } from './project-updated.event-handler';
|
|
import { ProjectArchivedEventHandler } from './project-archived.event-handler';
|
|
import { ReleaseArchivedEventHandler } from './release-archived.event-handler';
|
|
import { ReleaseCreatedEventHandler } from './release-created.event-handler';
|
|
import { ReleaseShippedEventHandler } from './release-shipped.event-handler';
|
|
import { ReleaseUpdatedEventHandler } from './release-updated.event-handler';
|
|
import { ReadModelNotifier } from './read-model-notifier';
|
|
import { IssueTimelineEventHandler } from './issue-timeline.event-handler';
|
|
import { ProjectSettingsChangedEventHandler } from './project-settings-changed.event-handler';
|
|
import { ProjectDeletedEventHandler } from './project-deleted.event-handler';
|
|
import { IssueDeletedEventHandler } from './issue-deleted.event-handler';
|
|
import { ReleaseDeletedEventHandler } from './release-deleted.event-handler';
|
|
import { IssueAttachmentAddedEventHandler } from './issue-attachment-added.event-handler';
|
|
import { IssueAttachmentRemovedEventHandler } from './issue-attachment-removed.event-handler';
|
|
import { AttachmentCleanupEventHandler } from './attachment-cleanup.event-handler';
|
|
import { IssueWatchersEventHandler } from './issue-watchers.event-handler';
|
|
import { IssueParentChangedEventHandler } from './issue-parent-changed.event-handler';
|
|
import { IssueChecklistEventHandler } from './issue-checklist.event-handler';
|
|
import { IssueRankedEventHandler } from './issue-ranked.event-handler';
|
|
import { SprintEventHandler } from './sprint.event-handler';
|
|
import { ReleaseNotesWrittenEventHandler } from './release-notes-written.event-handler';
|
|
import { IssueDevLinkRecordedEventHandler } from './issue-dev-link-recorded.event-handler';
|
|
import { IssueTrashEventHandler } from './issue-trash.event-handler';
|
|
import { IssueSprintChangedEventHandler } from './issue-sprint-changed.event-handler';
|
|
|
|
/** Read-model projections (MongoDB) + realtime, fed by the EventsBridge. */
|
|
export const EVENT_HANDLERS = [
|
|
ActivityEventHandler,
|
|
ProjectDeletedEventHandler,
|
|
IssueDeletedEventHandler,
|
|
ReleaseDeletedEventHandler,
|
|
CommentAddedEventHandler,
|
|
CommentDeletedEventHandler,
|
|
CommentEditedEventHandler,
|
|
CommentReactedEventHandler,
|
|
CommentDecisionMarkedEventHandler,
|
|
CommentThreadResolvedEventHandler,
|
|
IssueReviewsEventHandler,
|
|
CommentPollEventHandler,
|
|
IssueVotedEventHandler,
|
|
IssueAssignedEventHandler,
|
|
IssueCreatedEventHandler,
|
|
IssueLinkedEventHandler,
|
|
IssueReleaseChangedEventHandler,
|
|
IssueStatusChangedEventHandler,
|
|
IssueTimelineEventHandler,
|
|
IssueUnlinkedEventHandler,
|
|
IssueUpdatedEventHandler,
|
|
ProjectCreatedEventHandler,
|
|
ProjectMemberAddedEventHandler,
|
|
ProjectMemberRemovedEventHandler,
|
|
ProjectMemberRoleChangedEventHandler,
|
|
ProjectUpdatedEventHandler,
|
|
ProjectArchivedEventHandler,
|
|
ProjectSettingsChangedEventHandler,
|
|
ReleaseArchivedEventHandler,
|
|
ReleaseCreatedEventHandler,
|
|
ReleaseShippedEventHandler,
|
|
ReleaseUpdatedEventHandler,
|
|
IssueAttachmentAddedEventHandler,
|
|
IssueAttachmentRemovedEventHandler,
|
|
AttachmentCleanupEventHandler,
|
|
IssueWatchersEventHandler,
|
|
IssueParentChangedEventHandler,
|
|
IssueChecklistEventHandler,
|
|
IssueRankedEventHandler,
|
|
SprintEventHandler,
|
|
ReleaseNotesWrittenEventHandler,
|
|
IssueDevLinkRecordedEventHandler,
|
|
IssueTrashEventHandler,
|
|
IssueSprintChangedEventHandler,
|
|
];
|
|
|
|
export { ReadModelNotifier };
|