Skip to main content

@idpass/data-collect-core / ReviewService

Class: ReviewService

Defined in: services/ReviewService.ts:114

Service for managing the submission review pipeline.

Provides methods to submit forms for review, manage review queues, and approve or reject submissions based on configurable review policies.

The in-memory store is designed for client-side usage; the backend persists review data in PostgreSQL tables.

Constructors​

Constructor​

new ReviewService(eventApplierService): ReviewService

Defined in: services/ReviewService.ts:120

Parameters​

eventApplierService​

EventApplierService

Returns​

ReviewService

Methods​

getReviewConfig()​

getReviewConfig(tenantId, eventType): ReviewConfig

Defined in: services/ReviewService.ts:130

Get the review configuration for a specific tenant and event type. Returns a default auto-approve config if none is explicitly set.

Parameters​

tenantId​

string

The tenant identifier.

eventType​

string

The event type to look up.

Returns​

ReviewConfig

The review configuration.


setReviewConfig()​

setReviewConfig(tenantId, eventType, config): void

Defined in: services/ReviewService.ts:150

Set the review configuration for a specific tenant and event type.

Parameters​

tenantId​

string

The tenant identifier.

eventType​

string

The event type to configure.

config​

Omit<ReviewConfig, "tenantId" | "eventType">

The review policy configuration.

Returns​

void


createPendingReview()​

createPendingReview(tenantId, formData): SubmissionReview

Defined in: services/ReviewService.ts:180

Store a submission as a pending review record without applying entity events. Used for standalone form types (e.g. grievances, assistance requests) that don't map to entity updates.

Parameters​

tenantId​

string

formData​

FormSubmission

Returns​

SubmissionReview


submitForReview()​

submitForReview(tenantId, formData): Promise<SubmissionReview>

Defined in: services/ReviewService.ts:200

Parameters​

tenantId​

string

formData​

FormSubmission

Returns​

Promise<SubmissionReview>


getReviewQueue()​

getReviewQueue(tenantId, filters?): SubmissionReview[]

Defined in: services/ReviewService.ts:236

Get the review queue for a tenant with optional filters.

Parameters​

tenantId​

string

The tenant identifier.

filters?​

ReviewQueueFilters

Optional filters for status and event type.

Returns​

SubmissionReview[]

Array of submission reviews matching the criteria.


approve()​

approve(reviewId, reviewerId): Promise<SubmissionReview>

Defined in: services/ReviewService.ts:266

Approve a pending submission, applying the form data to the entity projection.

Parameters​

reviewId​

string

The review record identifier.

reviewerId​

string

The user performing the approval.

Returns​

Promise<SubmissionReview>

The updated review record.

Throws​

Error if the review is not found or is not in pending status.


reject()​

reject(reviewId, reviewerId, reason): Promise<SubmissionReview>

Defined in: services/ReviewService.ts:294

Reject a pending submission with a reason.

Parameters​

reviewId​

string

The review record identifier.

reviewerId​

string

The user performing the rejection.

reason​

string

The reason for rejection.

Returns​

Promise<SubmissionReview>

The updated review record.

Throws​

Error if the review is not found or is not in pending status.


bulkApprove()​

bulkApprove(reviewIds, reviewerId): Promise<BulkApproveResult>

Defined in: services/ReviewService.ts:321

Approve multiple pending submissions in bulk.

Processes each review individually. Failures for individual reviews do not prevent other reviews from being processed.

Parameters​

reviewIds​

string[]

Array of review record identifiers to approve.

reviewerId​

string

The user performing the approvals.

Returns​

Promise<BulkApproveResult>

Summary of the bulk operation.


getReviewById()​

getReviewById(reviewId): SubmissionReview | null

Defined in: services/ReviewService.ts:346

Get a specific review by its identifier.

Parameters​

reviewId​

string

The review record identifier.

Returns​

SubmissionReview | null

The review record, or null if not found.