Przeglądaj źródła

feat: Disable api access to jobs

Owen Diffey 1 rok temu
rodzic
commit
38251f3570

+ 4 - 0
backend/src/modules/DataModule.ts

@@ -120,6 +120,10 @@ export default class DataModule extends BaseModule {
 		super("data");
 
 		this.dependentModules = ["events"];
+
+		this.jobConfig = {
+			getModel: false
+		};
 	}
 
 	/**

+ 1 - 0
backend/src/modules/EventsModule.ts

@@ -22,6 +22,7 @@ export default class EventsModule extends BaseModule {
 
 		this.subscriptions = {};
 		this.scheduleCallbacks = {};
+		this.jobApiDefault = false;
 	}
 
 	/**

+ 8 - 0
backend/src/modules/WebSocketModule.ts

@@ -21,6 +21,8 @@ export default class WebSocketModule extends BaseModule {
 	 */
 	public constructor() {
 		super("websocket");
+
+		this.jobApiDefault = false;
 	}
 
 	/**
@@ -148,6 +150,12 @@ export default class WebSocketModule extends BaseModule {
 					`No callback reference provided for job ${moduleJob}`
 				);
 
+			const module = this.moduleManager.getModule(moduleName);
+			if (!module) throw new Error(`Module "${moduleName}" not found`);
+
+			const job = module.getJob(jobName);
+			if (!job.api) throw new Error(`Job "${jobName}" not found.`);
+
 			const res = await this.jobQueue.runJob("api", "runJob", {
 				moduleName,
 				jobName,