Skip to article
Documentation

src/lib/db/review-projection.ts

Linked repository file from this build.

import type { StoredReview } from "@/features/reviews/review-store";
/** The sender is the last workflow transition actor, never an ordinary editor/import actor. */
export function reviewSender(value: StoredReview): string {
  const transition = value.review.activity.findLast(
    (event) =>
      (event.kind === "transition" || event.kind === "policy_decision") &&
      event.to === value.review.state,
  );
  return transition?.actor.name || value.actor.name;
}