8
Execute Query and return results
One script reply has been approved by the moderators Verified

Executes an arbitrary query and return the row results

Created by rossmccrann 624 days ago Viewed 14260 times
1
Submitted by rossmccrann Deno
Verified 624 days ago
1
import {
2
  type Sql,
3
} from "https://deno.land/x/windmill@v1.88.1/mod.ts";
4

5
import { Client } from "https://deno.land/x/postgres@v0.17.0/mod.ts"
6

7
type Postgresql = {
8
  host: string;
9
  port: number;
10
  user: string;
11
  dbname: string;
12
  sslmode: string;
13
  password: string;
14
};
15
export async function main(db: Postgresql, query: Sql = "SELECT * FROM demo;") {
16
  if (!query) {
17
    throw Error("Query must not be empty.");
18
  }
19
  const { rows } = await pgClient(db).queryObject(query);
20
  return rows;
21
}
22

23
export function pgClient(db: any) {    
24
  let db2 = {
25
    ...db,
26
    hostname: db.host,
27
    database: db.dbname,
28
    tls: {
29
        enabled: false,
30
    },
31
  }
32
  return new Client(db2)
33
}
Other submissions