Service that updates last activity timestamps for companies, contacts, and deals, only when newer, to keep activity data current. Use after logging interactions.
// 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, type Prisma, Prisma as PrismaNamespace } from "@crm/db";
import { Injectable, Logger } from "@nestjs/common";
import { InjectDatabase } from "../database/database.constants";
export type ActivityTarget = {
companyId?: string | null;
contactId?: string | null;
dealId?: string | null;
};
export type StampTargets = {
companyIds: string[];
contactIds: string[];
dealIds: string[];
};
function present(ids: (string | null)[]): string[] {
return ids.filter((id): id is string => id !== null);
}
@Injectable()
export class ActivityStampService {
private readonly logger = new Logger(ActivityStampService.name);
constructo
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search 40K more like it.
Get a free API key