Action types for approval requests, enable field synchronization for … (#10565)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Denis Bykhov
2026-02-27 05:31:05 +05:00
committed by GitHub
parent d7a0fa8309
commit 5752b827d5
25 changed files with 337 additions and 25 deletions
+9 -2
View File
@@ -284,7 +284,7 @@ async function processExecution (control: ProcessControl, record: ProcessMessage
}
}
if (isRollback(record)) {
await rollback(control, record, execution)
await rollback(control, execution)
}
}
@@ -298,7 +298,8 @@ function isRollback (record: ProcessMessage): boolean {
return false
}
async function rollback (control: ProcessControl, record: ProcessMessage, execution: Execution): Promise<void> {
async function rollback (control: ProcessControl, execution: Execution): Promise<void> {
if (execution.rollback.length === 0) return
const rollbackTxes = execution.rollback.pop() ?? []
for (const tx of rollbackTxes) {
const timeout = setTimeout(() => {
@@ -719,6 +720,12 @@ async function fillParams<T extends Doc> (
execution: Execution,
control: ProcessControl
): Promise<MethodParams<T>> {
if (!control.cache.has(execution.card)) {
const card = await control.client.findOne(cardPlugin.class.Card, { _id: execution.card })
if (card !== undefined) {
control.cache.set(execution.card, card)
}
}
const res: MethodParams<T> = {}
for (const key in params) {
const value = control.client.getHierarchy().clone((params as any)[key])
+1 -1
View File
@@ -26,7 +26,7 @@ export interface Config {
const config: Config = {
DbUrl: process.env.DB_URL ?? 'postgres://localhost:5432/huly',
PollInterval: process.env.POLL_INTERVAL != null ? Number(process.env.POLL_INTERVAL) : 20000,
QueueRegion: process.env.QUEUE_REGION ?? 'cockroach',
QueueRegion: process.env.QUEUE_REGION ?? '',
QueueConfig: process.env.QUEUE_CONFIG ?? ''
}