mirror of
https://github.com/documenso/documenso.git
synced 2026-06-22 04:12:06 +10:00
fix: correctly strip background job values (#2965)
This commit is contained in:
@@ -233,13 +233,17 @@ export class BullMQJobProvider extends BaseJobProvider {
|
|||||||
backgroundJobId?: string;
|
backgroundJobId?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let payload = jobData.payload;
|
||||||
|
|
||||||
if (definition.trigger.schema) {
|
if (definition.trigger.schema) {
|
||||||
const result = definition.trigger.schema.safeParse(jobData.payload);
|
const result = definition.trigger.schema.safeParse(payload);
|
||||||
|
|
||||||
if (!result.success) {
|
if (!result.success) {
|
||||||
console.error(`[JOBS]: Payload validation failed for ${definitionId}`, result.error);
|
console.error(`[JOBS]: Payload validation failed for ${definitionId}`, result.error);
|
||||||
throw new Error(`Payload validation failed for ${definitionId}`);
|
throw new Error(`Payload validation failed for ${definitionId}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
payload = result.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
const backgroundJobId = jobData.backgroundJobId;
|
const backgroundJobId = jobData.backgroundJobId;
|
||||||
@@ -260,11 +264,11 @@ export class BullMQJobProvider extends BaseJobProvider {
|
|||||||
.catch(() => null);
|
.catch(() => null);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`[JOBS]: Processing job ${definitionId} with payload`, jobData.payload);
|
console.log(`[JOBS]: Processing job ${definitionId} with payload`, payload);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await definition.handler({
|
await definition.handler({
|
||||||
payload: jobData.payload,
|
payload,
|
||||||
io: this.createJobRunIO(backgroundJobId ?? job.id ?? definitionId),
|
io: this.createJobRunIO(backgroundJobId ?? job.id ?? definitionId),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -260,15 +260,19 @@ export class LocalJobProvider extends BaseJobProvider {
|
|||||||
return c.text('Unauthorized', 401);
|
return c.text('Unauthorized', 401);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let payload = options.payload;
|
||||||
|
|
||||||
if (definition.trigger.schema) {
|
if (definition.trigger.schema) {
|
||||||
const result = definition.trigger.schema.safeParse(options.payload);
|
const result = definition.trigger.schema.safeParse(payload);
|
||||||
|
|
||||||
if (!result.success) {
|
if (!result.success) {
|
||||||
return c.text('Bad request', 400);
|
return c.text('Bad request', 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
payload = result.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`[JOBS]: Triggering job ${options.name} with payload`, options.payload);
|
console.log(`[JOBS]: Triggering job ${options.name} with payload`, payload);
|
||||||
|
|
||||||
let backgroundJob = await prisma.backgroundJob
|
let backgroundJob = await prisma.backgroundJob
|
||||||
.update({
|
.update({
|
||||||
@@ -292,7 +296,7 @@ export class LocalJobProvider extends BaseJobProvider {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await definition.handler({
|
await definition.handler({
|
||||||
payload: options.payload,
|
payload,
|
||||||
io: this.createJobRunIO(jobId),
|
io: this.createJobRunIO(jobId),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user