Class IntakeReceiptProjector

java.lang.Object
ai.pipeline.connector.intake.event.IntakeReceiptProjector

@ApplicationScoped public class IntakeReceiptProjector extends Object
Projects the intake lifecycle event streams — accepted, rejected, error — into the upload-receipt read-model that backs the status lookup. This is the "write" half of publish-then-write: the upload path only publishes; the durable write happens here, off the request thread, making the events the source of truth.

Consumes its own service's events — connector-intake owns the token→status lookup, so it maintains the projection locally. A projection failure is swallowed (logged, never rethrown) so one bad message can't stall the channel; the receipt simply stays unprojected (status reads PENDING) until a later event.

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    onAccepted(io.smallrye.reactive.messaging.kafka.Record<UUID, ai.pipestream.connector.intake.v1.DocumentAccepted> record)
     
    void
    onError(io.smallrye.reactive.messaging.kafka.Record<UUID, ai.pipestream.connector.intake.v1.DocumentError> record)
     
    void
    onRejected(io.smallrye.reactive.messaging.kafka.Record<UUID, ai.pipestream.connector.intake.v1.DocumentRejected> record)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IntakeReceiptProjector

      public IntakeReceiptProjector()
  • Method Details

    • onAccepted

      public void onAccepted(io.smallrye.reactive.messaging.kafka.Record<UUID, ai.pipestream.connector.intake.v1.DocumentAccepted> record)
    • onRejected

      public void onRejected(io.smallrye.reactive.messaging.kafka.Record<UUID, ai.pipestream.connector.intake.v1.DocumentRejected> record)
    • onError

      public void onError(io.smallrye.reactive.messaging.kafka.Record<UUID, ai.pipestream.connector.intake.v1.DocumentError> record)