ingestlayer/recipes

Track file uploads

Keep an eye on what's being uploaded — large files, unusual types, heavy buckets — and route the ones worth a second look.

the event

Emit file.uploaded once; route it anywhere below.

  • user_idstring
  • file_idstring
  • size_bytesnumber
  • mimestringcontent type
  • bucketstring
emit file.uploaded
import { ingest } from "@ingestlayer/sdk";

await ingest("file.uploaded", {
  user_id:    ctx.user.id,
  file_id:    object.key,
  size_bytes: object.size,
  mime:       object.contentType,
  bucket:     object.bucket,
}, {
  idempotencyKey: object.key,
});

send it to