import { Kafka } from 'kafkajs';
import { UserSignedup } from './__gen__/payloads/UserSignedup';
import { Protocols } from './__gen__/channels';
const { kafka } = Protocols;
const { consumeFromConsumeUserSignups, produceToPublishUserSignups } = kafka;
const kafkaClient = new Kafka({
  clientId: 'test',
  brokers: ['localhost:9093'],
});
const myPayload = new UserSignedup({displayName: 'test', email: 'test@test.dk'});
const consumerCallback = async (
    err,
    msg: UserSignedUp | undefined, 
    parameters: UserSignedUpParameters | undefined, 
    kafkaMsg: EachMessagePayload | undefined
  ) => {
  
};
const consumer = await consumeFromConsumeUserSignups(
  consumerCallback,
  myParameters, 
  kafkaClient, 
  {
    fromBeginning: true, 
    groupId: 'testId1'
  }
);
const producer = await produceToPublishUserSignups(myPayload, kafkaClient);