refactor: manual journal.

This commit is contained in:
Ahmed Bouhuolia
2020-09-19 21:14:09 +02:00
parent 8cccf23fcc
commit 882f01a178
17 changed files with 1044 additions and 1276 deletions

View File

@@ -23,5 +23,14 @@ export default {
databaseCreated: 'onDatabaseCreated',
tenantMigrated: 'onTenantMigrated',
tenantSeeded: 'onTenantSeeded',
},
manualJournals: {
onCreated: 'onManualJournalCreated',
onEdited: 'onManualJournalEdited',
onDeleted: 'onManualJournalDeleted',
onDeletedBulk: 'onManualJournalCreatedBulk',
onPublished: 'onManualJournalPublished',
onPublishedBulk: 'onManualJournalPublishedBulk',
}
}

View File

@@ -0,0 +1,43 @@
import { Inject, Container } from 'typedi';
import { On, EventSubscriber } from "event-dispatch";
import events from 'subscribers/events';
import ManualJournalsService from 'services/ManualJournals/ManualJournalsService';
@EventSubscriber()
export class ManualJournalSubscriber {
/**
* Handle manual journal created event.
* @param {{ tenantId: number, manualJournal: IManualJournal }}
*/
@On(events.manualJournals.onCreated)
public async onManualJournalCreated({ tenantId, manualJournal }) {
const manualJournalsService = Container.get(ManualJournalsService);
await manualJournalsService
.writeJournalEntries(tenantId, manualJournal.id, manualJournal);
}
/**
* Handle manual journal edited event.
* @param {{ tenantId: number, manualJournal: IManualJournal }}
*/
@On(events.manualJournals.onEdited)
public async onManualJournalEdited({ tenantId, manualJournal }) {
const manualJournalsService = Container.get(ManualJournalsService);
await manualJournalsService
.writeJournalEntries(tenantId, manualJournal.id, manualJournal, true);
}
/**
* Handle manual journal deleted event.
* @param {{ tenantId: number, manualJournalId: number }}
*/
@On(events.manualJournals.onDeleted)
public async onManualJournalDeleted({ tenantId, manualJournalId, }) {
const manualJournalsService = Container.get(ManualJournalsService);
await manualJournalsService
.writeJournalEntries(tenantId, manualJournalId, null, true);
}
}