producer.add('Jira', {host:'', username: '', password: ''});
moduleRef.resolve('Jira', contextId, {strict: false});
producer.add('JiraIssueCollector', {host:'', username: '', password: ''});
on('job:finished', (jobId, datas) => { producer.add('JiraLeadtimeEnricher', datas); });
Plugin is the organizer, Described what Entities would exports.
Entities may have one Task to exports. a task is one of collector or enricher.
The task would required some Entities, that should Import in Task
@Imports([RequiredEntity, AnotherReuqired.Entity])
@Exports(SampleEntity)
class SampleEnricher implements Task {
async execute(): Promise<any> {
//do enrich here
return {};
}
}
Only one Entity should be Exports in Task
Dependency Resolver would get the Task DAG for task exexution managment.
One Task With The Exports Entities
All migrates should put at /plugins/YourPlugin/src/migrates, generator your migrate file with typeorm ```typeorm migrate:create -d /plugins/YourPlugin/src/migrates -n mymigrate````