Variable internalEventsConst
internalEvents: {
"backoffice.achBatch.created": { data: TObject<{ id: TString }> };
"backoffice.achBatch.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"PROCESSED">,
TLiteral<"DELETED">,
],
>;
},
>;
};
"backoffice.achFile.created": { data: TObject<{ id: TString }> };
"backoffice.achFile.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"CREATED">, TLiteral<"SUBMITTED">, TLiteral<"ARCHIVED">],
>;
},
>;
};
"backoffice.bankInternalTransfer.created": {
data: TObject<{ id: TString }>;
};
"backoffice.bankInternalTransfer.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"COMPLETED">, TLiteral<"FAILED">],
>;
},
>;
};
"backoffice.bankTransaction.created": {
data: TObject<
{
amount: TString;
bankId: TString;
description: TString;
id: TString;
type: TUnion<[TLiteral<"CREDIT">, TLiteral<"DEBIT">]>;
},
>;
};
"backoffice.manualMint.created": { data: TObject<{ id: TString }> };
"backoffice.manualMint.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
],
>;
},
>;
};
"backoffice.wireBatch.created": { data: TObject<{ id: TString }> };
"backoffice.wireBatch.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"SUBMITTED">,
TLiteral<"DELETED">,
],
>;
},
>;
};
"backoffice.wireEmail.reconciled": {
data: TObject<
{
bankTransactionId: TString;
ffcMemo: TOptional<TString>;
wireEmailId: TString;
},
>;
};
"backoffice.wireFile.created": { data: TObject<{ id: TString }> };
"backoffice.wireFile.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"CREATED">, TLiteral<"SUBMITTED">, TLiteral<"ARCHIVED">],
>;
},
>;
};
"customer.feeTransfer.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"SUCCEEDED">,
TLiteral<"FAILED">,
TLiteral<"CANCELLED">,
],
>;
},
>;
};
"ledger.account.withdrawal.created": { data: TObject<{ id: TString }> };
"ledger.account.withdrawal.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PENDING">,
TLiteral<"COMMITTED">,
TLiteral<"VOIDED">,
],
>;
},
>;
};
"redemption.redemption.created": { data: TObject<{ id: TString }> };
"redemption.redemption.statusUpdated": {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"COMMITTED">,
TLiteral<"VOIDED">,
TLiteral<"FAILED">,
],
>;
},
>;
};
"slack.customerSlackBotInstallation.created": {
data: TObject<{ id: TString }>;
};
"slack.customerSlackBotInstallation.deleted": {
data: TObject<{ id: TString }>;
};
"slack.slackBotInstallation.created": { data: TObject<{ id: TString }> };
"slack.slackBotInstallation.deleted": { data: TObject<{ id: TString }> };
} = ...
Type Declaration
-
backoffice.achBatch.created: { data: TObject<{ id: TString }> }
-
backoffice.achBatch.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"PROCESSED">,
TLiteral<"DELETED">,
],
>;
},
>;
}
-
backoffice.achFile.created: { data: TObject<{ id: TString }> }
-
backoffice.achFile.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"CREATED">, TLiteral<"SUBMITTED">, TLiteral<"ARCHIVED">],
>;
},
>;
}
-
backoffice.bankInternalTransfer.created: { data: TObject<{ id: TString }> }
-
backoffice.bankInternalTransfer.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"PENDING">, TLiteral<"COMPLETED">, TLiteral<"FAILED">],
>;
},
>;
}
-
backoffice.bankTransaction.created: {
data: TObject<
{
amount: TString;
bankId: TString;
description: TString;
id: TString;
type: TUnion<[TLiteral<"CREDIT">, TLiteral<"DEBIT">]>;
},
>;
}
-
backoffice.manualMint.created: { data: TObject<{ id: TString }> }
-
backoffice.manualMint.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"COMPLETED">,
TLiteral<"FAILED">,
],
>;
},
>;
}
-
backoffice.wireBatch.created: { data: TObject<{ id: TString }> }
-
backoffice.wireBatch.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PROCESSING">,
TLiteral<"SUBMITTED">,
TLiteral<"DELETED">,
],
>;
},
>;
}
-
backoffice.wireEmail.reconciled: {
data: TObject<
{
bankTransactionId: TString;
ffcMemo: TOptional<TString>;
wireEmailId: TString;
},
>;
}
-
backoffice.wireFile.created: { data: TObject<{ id: TString }> }
-
backoffice.wireFile.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[TLiteral<"CREATED">, TLiteral<"SUBMITTED">, TLiteral<"ARCHIVED">],
>;
},
>;
}
-
customer.feeTransfer.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"SUCCEEDED">,
TLiteral<"FAILED">,
TLiteral<"CANCELLED">,
],
>;
},
>;
}
-
ledger.account.withdrawal.created: { data: TObject<{ id: TString }> }
-
ledger.account.withdrawal.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"CREATED">,
TLiteral<"PENDING">,
TLiteral<"COMMITTED">,
TLiteral<"VOIDED">,
],
>;
},
>;
}
-
redemption.redemption.created: { data: TObject<{ id: TString }> }
-
redemption.redemption.statusUpdated: {
data: TObject<
{
id: TString;
status: TUnion<
[
TLiteral<"PENDING">,
TLiteral<"COMMITTED">,
TLiteral<"VOIDED">,
TLiteral<"FAILED">,
],
>;
},
>;
}
-
slack.customerSlackBotInstallation.created: { data: TObject<{ id: TString }> }
-
slack.customerSlackBotInstallation.deleted: { data: TObject<{ id: TString }> }
-
slack.slackBotInstallation.created: { data: TObject<{ id: TString }> }
-
slack.slackBotInstallation.deleted: { data: TObject<{ id: TString }> }
The internal event bus taxonomy, assembled from both directions per §8.4: every
adminEventPublisher.publish(...)call site, and the consumer union inbackoffice-api/src/controllers/InternalEventSlackConsumer.ts.Two things this deliberately does NOT copy from the consumer union:
backoffice.bankTransaction.createdsends five fields against a declared{id}, andbackoffice.metcapWireTransaction.updatedsends two. TypeBoxT.Objectis open andpick()returns a non-fresh object, so neither drift was visible.See docs/proposals/EVENT_BUS.md §8.20.4.