@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
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
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
Returns
submitForReview()
submitForReview(
tenantId,formData):Promise<SubmissionReview>
Defined in: services/ReviewService.ts:200
Parameters
tenantId
string
formData
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?
Optional filters for status and event type.
Returns
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.