MCPcopy Index your code
hub / github.com/simstudioai/sim / containsDangerousOperator

Function containsDangerousOperator

apps/sim/app/api/tools/mongodb/utils.ts:49–62  ·  view source on GitHub ↗

* Recursively checks an object for dangerous MongoDB operators * @param obj - The object to check * @param dangerousOperators - Array of operator names to block * @returns true if a dangerous operator is found

(obj: unknown, dangerousOperators: string[])

Source from the content-addressed store, hash-verified

47 * @returns true if a dangerous operator is found
48 */
49function containsDangerousOperator(obj: unknown, dangerousOperators: string[]): boolean {
50 if (typeof obj !== 'object' || obj === null) return false
51
52 for (const key of Object.keys(obj as Record<string, unknown>)) {
53 if (dangerousOperators.includes(key)) return true
54 if (
55 typeof (obj as Record<string, unknown>)[key] === 'object' &&
56 containsDangerousOperator((obj as Record<string, unknown>)[key], dangerousOperators)
57 ) {
58 return true
59 }
60 }
61 return false
62}
63
64export function validateFilter(filter: string): { isValid: boolean; error?: string } {
65 try {

Callers 2

validateFilterFunction · 0.85
validatePipelineFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected