block tool jobs when organization has no connection

This commit is contained in:
timothycarambat
2023-10-16 16:43:23 -07:00
parent d7fe005215
commit 4cc19fb7d1
+44
View File
@@ -1,4 +1,7 @@
const { Organization } = require("../../../models/organization");
const {
OrganizationConnection,
} = require("../../../models/organizationConnection");
const { Queue } = require("../../../models/queue");
const {
userFromSession,
@@ -51,6 +54,20 @@ function toolEndpoints(app) {
return;
}
const originalConnector = await OrganizationConnection.get({
organization_id: Number(organization.id),
});
if (!originalConnector) {
response
.status(200)
.json({
success: false,
message:
"No vector database is connected to the original organization.",
});
return;
}
const destinationOrg = await Organization.get({
id: Number(destinationOrgId),
});
@@ -62,6 +79,20 @@ function toolEndpoints(app) {
return;
}
const destinationConnector = await OrganizationConnection.get({
organization_id: Number(destinationOrg.id),
});
if (!destinationConnector) {
response
.status(200)
.json({
success: false,
message:
"No vector database is connected to the destination organization.",
});
return;
}
const existingJobForOrg = await Queue.get({
taskName: "workspace/migrate",
status: "pending",
@@ -114,6 +145,19 @@ function toolEndpoints(app) {
return;
}
const connector = await OrganizationConnection.get({
organization_id: Number(organization.id),
});
if (!connector) {
response
.status(200)
.json({
success: false,
message: "No vector database is connected to this organization.",
});
return;
}
const pendingJobs = await Queue.where({
status: "pending",
organization_id: organization.id,