diff --git a/packages/server/src/api/routes/tests/queries/mongodb.spec.ts b/packages/server/src/api/routes/tests/queries/mongodb.spec.ts index 37af4e74e1..457c3b6d7e 100644 --- a/packages/server/src/api/routes/tests/queries/mongodb.spec.ts +++ b/packages/server/src/api/routes/tests/queries/mongodb.spec.ts @@ -764,7 +764,7 @@ if (descriptions.length) { const verbs = ["read", "create", "update", "delete"] for (const verb of verbs) { const query = await createQuery({ - fields: { json: {}, extra: { actionType: "invalid" } }, + fields: { json: {}, extra: { actionType: "invalid" as any } }, queryVerb: verb, }) await config.api.query.execute(query._id!, undefined, { status: 400 }) diff --git a/packages/types/src/documents/app/query.ts b/packages/types/src/documents/app/query.ts index 50c7e7529e..c81334289b 100644 --- a/packages/types/src/documents/app/query.ts +++ b/packages/types/src/documents/app/query.ts @@ -12,7 +12,7 @@ export interface Query extends Document { datasourceId: string name: string parameters: QueryParameter[] - fields: RestQueryFields + fields: RestQueryFields & SQLQueryFields & MongoQueryFields transformer: string | null schema: Record nestedSchemaFields?: Record> @@ -60,9 +60,29 @@ export interface RestQueryFields { authConfigType?: RestAuthType pagination?: PaginationConfig paginationValues?: PaginationValues +} +export interface SQLQueryFields { sql?: string } +export interface MongoQueryFields { + extra?: { + collection?: string + actionType: + | "findOne" + | "find" + | "updateOne" + | "updateMany" + | "findOneAndUpdate" + | "count" + | "distinct" + | "insertOne" + | "deleteOne" + | "deleteMany" + } + json?: object | string +} + export interface PaginationConfig { type: string location: string