Enrichment Queue Service (enrichment/enrichment.service.ts)

mperkins0155/crm · crm, CRM / Leads, enrichment, queue, nestjs, prisma, service

Service that manages enrichment queue tasks for contacts and companies, providing pagination, state tracking, and scheduling. Use when enriching CRM records from external sources.

// Source: https://github.com/mperkins0155/crm | License: MIT | Copyright 2026 Comp AI
// Provided via justclaw.it.com; keep this notice with the code.
import type { Db, Prisma } from "@crm/db";
import { ENRICHMENT_PAGE, pageSize } from "@crm/validation/enrichment-queue";
import { Injectable } from "@nestjs/common";
import { InjectDatabase } from "../database/database.constants";
import {
	type EnrichmentQueueState,
	enrichmentDueLabel,
	enrichmentQueueLine,
	enrichmentQueueState,
} from "./enrichment-copy";

export type EnrichmentQueueSubject =
	| {
			kind: "contact";
			id: string;
			name: string;
			email: string | null;
			imageUrl: string | null;
	  }
	| {
			kind: "company";
			id: string;
			name: string;
			logoUrl: string | null;
			logoDarkUrl: string | null;
			logoTone: strin

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search 40K more like it.

Get a free API key