@vibes.diy/api-svc 13.1.1 → 13.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"app-documents-write-eventos.js","sourceRoot":"","sources":["../../jsr/public/app-documents-write-eventos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-documents-write-eventos.js","sourceRoot":"","sources":["../../jsr/public/app-documents-write-eventos.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ export declare const dmQueryDocsHandle: (ctx: HandleTriggerCtx<{
44
44
  adminMode?: boolean | undefined;
45
45
  limit?: number | undefined;
46
46
  after?: string | undefined;
47
+ actingHandle?: string | undefined;
47
48
  }>, {
48
49
  type: "vibes.diy.res-query-docs";
49
50
  status: "ok";
@@ -128,6 +129,7 @@ export declare const dmGetDocHandle: (ctx: HandleTriggerCtx<{
128
129
  dbName: string;
129
130
  docId: string;
130
131
  adminMode?: boolean | undefined;
132
+ actingHandle?: string | undefined;
131
133
  }>, {
132
134
  type: "vibes.diy.res-get-doc";
133
135
  status: "ok";
@@ -38,6 +38,7 @@ export declare const dmPutDocHandle: (ctx: HandleTriggerCtx<{
38
38
  doc: Record<string, unknown>;
39
39
  docId?: string | undefined;
40
40
  adminMode?: boolean | undefined;
41
+ actingHandle?: string | undefined;
41
42
  }>, {
42
43
  type: "vibes.diy.res-put-doc";
43
44
  status: "ok";
@@ -79,6 +80,7 @@ export declare const dmDeleteDocHandle: (ctx: HandleTriggerCtx<{
79
80
  dbName: string;
80
81
  docId: string;
81
82
  adminMode?: boolean | undefined;
83
+ actingHandle?: string | undefined;
82
84
  }>, {
83
85
  type: "vibes.diy.res-delete-doc";
84
86
  status: "ok";
@@ -0,0 +1,62 @@
1
+ import { type Exclusions } from "./new-user-alert-util.js";
2
+ export declare const POPULATIONS: {
3
+ readonly all: "every Clerk account";
4
+ readonly makers: "accounts that ever sent a codegen turn";
5
+ readonly handles: "accounts that ever claimed a handle";
6
+ };
7
+ export type PopulationKey = keyof typeof POPULATIONS;
8
+ export declare function isPopulationKey(value: string | undefined): value is PopulationKey;
9
+ export interface BackfillAccount {
10
+ readonly userId: string;
11
+ readonly email?: string;
12
+ readonly handles: readonly string[];
13
+ readonly codegenTurns: number;
14
+ }
15
+ export declare function inPopulation(account: BackfillAccount, population: PopulationKey): boolean;
16
+ export interface SelectionResult {
17
+ readonly selected: readonly BackfillAccount[];
18
+ readonly excludedStaff: number;
19
+ readonly excludedPopulation: number;
20
+ readonly excludedNoEmail: number;
21
+ }
22
+ export declare function selectAccounts(accounts: readonly BackfillAccount[], population: PopulationKey, exclusions: Exclusions): SelectionResult;
23
+ type PlannedAction = "noop" | "merge" | "create" | "failed";
24
+ export interface PlanEntry {
25
+ readonly userId: string;
26
+ readonly handles: readonly string[];
27
+ readonly action: PlannedAction;
28
+ readonly contactId?: string;
29
+ readonly reason?: string;
30
+ }
31
+ export interface PlanCounts {
32
+ readonly noop: number;
33
+ readonly merge: number;
34
+ readonly create: number;
35
+ readonly failed: number;
36
+ readonly total: number;
37
+ }
38
+ export declare function countPlan(entries: readonly PlanEntry[]): PlanCounts;
39
+ export interface Reconciliation {
40
+ readonly intended: number;
41
+ readonly linkedContacts: number;
42
+ readonly linkedBefore: number;
43
+ readonly created: number;
44
+ readonly merged: number;
45
+ readonly failed: number;
46
+ }
47
+ export interface ReconciliationVerdict {
48
+ readonly ok: boolean;
49
+ readonly drift: number;
50
+ readonly lines: readonly string[];
51
+ }
52
+ export declare function reconcile(r: Reconciliation): ReconciliationVerdict;
53
+ export interface ReportInput {
54
+ readonly population: PopulationKey;
55
+ readonly selection: SelectionResult;
56
+ readonly counts: PlanCounts;
57
+ readonly apply: boolean;
58
+ readonly stripeOrphans?: number;
59
+ readonly listCaveat?: boolean;
60
+ }
61
+ export declare function formatPlanReport(input: ReportInput): string;
62
+ export {};
@@ -0,0 +1,87 @@
1
+ import { isStaffOrQa } from "./new-user-alert-util.js";
2
+ export const POPULATIONS = {
3
+ all: "every Clerk account",
4
+ makers: "accounts that ever sent a codegen turn",
5
+ handles: "accounts that ever claimed a handle",
6
+ };
7
+ export function isPopulationKey(value) {
8
+ return value !== undefined && Object.hasOwn(POPULATIONS, value);
9
+ }
10
+ export function inPopulation(account, population) {
11
+ switch (population) {
12
+ case "makers":
13
+ return account.codegenTurns > 0;
14
+ case "handles":
15
+ return account.handles.length > 0;
16
+ case "all":
17
+ return true;
18
+ }
19
+ }
20
+ export function selectAccounts(accounts, population, exclusions) {
21
+ const selected = [];
22
+ let excludedStaff = 0;
23
+ let excludedPopulation = 0;
24
+ let excludedNoEmail = 0;
25
+ for (const account of accounts) {
26
+ if (!inPopulation(account, population)) {
27
+ excludedPopulation = excludedPopulation + 1;
28
+ continue;
29
+ }
30
+ if (isStaffOrQa({ userId: account.userId, email: account.email, handles: account.handles }, exclusions)) {
31
+ excludedStaff = excludedStaff + 1;
32
+ continue;
33
+ }
34
+ if (account.email === undefined || account.email.trim() === "") {
35
+ excludedNoEmail = excludedNoEmail + 1;
36
+ continue;
37
+ }
38
+ selected.push(account);
39
+ }
40
+ return { selected, excludedStaff, excludedPopulation, excludedNoEmail };
41
+ }
42
+ export function countPlan(entries) {
43
+ const counts = { noop: 0, merge: 0, create: 0, failed: 0 };
44
+ for (const entry of entries) {
45
+ counts[entry.action] = counts[entry.action] + 1;
46
+ }
47
+ return { ...counts, total: entries.length };
48
+ }
49
+ export function reconcile(r) {
50
+ const expected = r.linkedBefore + r.created + r.merged;
51
+ const drift = r.linkedContacts - expected;
52
+ const lines = [
53
+ `intended population: ${r.intended}`,
54
+ `contacts with clerk_user_id before: ${r.linkedBefore}`,
55
+ `created: ${r.created} merged: ${r.merged} failed: ${r.failed}`,
56
+ `contacts with clerk_user_id after: ${r.linkedContacts} (expected ${expected})`,
57
+ ];
58
+ if (drift !== 0) {
59
+ lines.push(`DRIFT ${drift > 0 ? "+" : ""}${drift} — do not round this away. A positive drift means contacts ` +
60
+ `gained a join key that this run did not write; a negative one means writes did not land, or ` +
61
+ `HubSpot's search index has not caught up yet (it lags writes — re-read before concluding).`);
62
+ }
63
+ if (r.failed > 0) {
64
+ lines.push(`${r.failed} account(s) failed — re-run; the upsert is idempotent and a failure leaves no partial contact.`);
65
+ }
66
+ return { ok: drift === 0 && r.failed === 0, drift, lines };
67
+ }
68
+ export function formatPlanReport(input) {
69
+ const { counts, selection } = input;
70
+ const lines = [
71
+ `population: ${input.population} — ${POPULATIONS[input.population]}`,
72
+ `mode: ${input.apply ? "APPLY (writing)" : "DRY RUN (reads only)"}`,
73
+ ``,
74
+ `candidates ${selection.selected.length}` +
75
+ ` (excluded: ${selection.excludedPopulation} out of population,` +
76
+ ` ${selection.excludedStaff} staff/QA, ${selection.excludedNoEmail} with no email)`,
77
+ `no-op ${counts.noop} merge ${counts.merge} create ${counts.create} failed ${counts.failed}`,
78
+ ];
79
+ if (input.stripeOrphans !== undefined) {
80
+ lines.push(``, `contacts with stripe_customer_id and no clerk_user_id: ${input.stripeOrphans}`, ` (the orphan class — a contact Stripe minted at checkout with no join key.`, ` Merge targets here, and the standing counter for them belongs to traction#117.)`);
81
+ }
82
+ if (input.listCaveat === true && counts.create + counts.merge > 0) {
83
+ lines.push(``, `List 53 "Vibes DIY Users" is DYNAMIC on vibes_diy_signup_date IS_KNOWN, so up to`, `${counts.create + counts.merge} of these contacts will join it without anyone deciding to add them.`, `Accepted caveat, not a mailability breach: hs_marketable_status stays false and is`, `read-only via the API. Nothing here writes a list, a consent property or a mailable state.`);
84
+ }
85
+ return lines.join("\n");
86
+ }
87
+ //# sourceMappingURL=backfill-hubspot-contacts-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill-hubspot-contacts-util.js","sourceRoot":"","sources":["../../jsr/usage-report/backfill-hubspot-contacts-util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,222 @@
1
+ import { Pool } from "@neondatabase/serverless";
2
+ import fs from "node:fs";
3
+ import { Result, exception2Result } from "@adviser/cement";
4
+ import { formatError, loadDevVars } from "./usage-report-util.js";
5
+ import { resolveExclusions } from "./new-user-alert-util.js";
6
+ import { countPlan, formatPlanReport, isPopulationKey, POPULATIONS, reconcile, selectAccounts, } from "./backfill-hubspot-contacts-util.js";
7
+ import { planSignupContact, upsertSignupContact } from "../intern/hubspot-signup.js";
8
+ const CLERK_PAGE_SIZE = 500;
9
+ const REQUEST_GAP_MS = 60;
10
+ function arg(name) {
11
+ const i = process.argv.indexOf(name);
12
+ return i >= 0 ? process.argv[i + 1] : undefined;
13
+ }
14
+ function flag(name) {
15
+ return process.argv.includes(name);
16
+ }
17
+ function asString(v) {
18
+ return typeof v === "string" ? v : undefined;
19
+ }
20
+ function sleep(ms) {
21
+ return new Promise((resolve) => setTimeout(resolve, ms));
22
+ }
23
+ async function clerkAllUsers(key) {
24
+ const users = [];
25
+ for (let offset = 0;; offset += CLERK_PAGE_SIZE) {
26
+ const res = await fetch(`https://api.clerk.com/v1/users?limit=${CLERK_PAGE_SIZE}&offset=${offset}&order_by=%2Bcreated_at`, {
27
+ headers: { authorization: `Bearer ${key}` },
28
+ });
29
+ if (!res.ok)
30
+ throw new Error(`clerk GET /users failed: ${res.status}`);
31
+ const rows = (await res.json());
32
+ for (const r of rows) {
33
+ const id = asString(r.id);
34
+ if (id === undefined)
35
+ continue;
36
+ users.push({
37
+ id,
38
+ username: asString(r.username) ?? null,
39
+ first_name: asString(r.first_name) ?? null,
40
+ last_name: asString(r.last_name) ?? null,
41
+ email_addresses: (Array.isArray(r.email_addresses) ? r.email_addresses : []).map((e) => ({
42
+ id: asString(e.id),
43
+ email_address: asString(e.email_address) ?? "",
44
+ })),
45
+ created_at: typeof r.created_at === "number" ? r.created_at : 0,
46
+ primary_email_address_id: asString(r.primary_email_address_id) ?? null,
47
+ });
48
+ }
49
+ if (rows.length < CLERK_PAGE_SIZE)
50
+ return users;
51
+ }
52
+ }
53
+ async function contactCount(token, filters) {
54
+ const rRes = await exception2Result(() => fetch("https://api.hubapi.com/crm/v3/objects/contacts/search", {
55
+ method: "POST",
56
+ headers: { authorization: `Bearer ${token}`, "Content-Type": "application/json" },
57
+ body: JSON.stringify({ filterGroups: [{ filters }], properties: ["email"], limit: 1 }),
58
+ }));
59
+ if (rRes.isErr())
60
+ return Result.Err(rRes.Err());
61
+ if (rRes.Ok().ok === false)
62
+ return Result.Err(new Error(`hubspot count failed: ${rRes.Ok().status}`));
63
+ const rBody = await exception2Result(() => rRes.Ok().json());
64
+ if (rBody.isErr())
65
+ return Result.Err(rBody.Err());
66
+ return Result.Ok(rBody.Ok().total ?? 0);
67
+ }
68
+ async function run() {
69
+ loadDevVars();
70
+ const population = arg("--population");
71
+ if (!isPopulationKey(population)) {
72
+ return Result.Err([
73
+ "usage: admin:backfill-hubspot-contacts --population <key> [--apply] [--limit N] [--only ids] [--out FILE]",
74
+ ...Object.entries(POPULATIONS).map(([key, description]) => ` --population ${key.padEnd(8)} ${description}`),
75
+ "",
76
+ "--population has no default on purpose: it is the decision the issue asks a human to make.",
77
+ ].join("\n"));
78
+ }
79
+ const clerkKey = process.env["CLERK_SECRET_KEY"];
80
+ if (clerkKey === undefined || clerkKey === "")
81
+ return Result.Err("CLERK_SECRET_KEY is required");
82
+ const token = process.env["HUBSPOT_TOKEN"];
83
+ if (token === undefined || token === "")
84
+ return Result.Err("HUBSPOT_TOKEN is required (private app, contacts read+write)");
85
+ const connectionString = process.env["NEON_DATABASE_URL"] ?? process.env["DATABASE_URL"];
86
+ if (connectionString === undefined)
87
+ return Result.Err("NEON_DATABASE_URL is required (prod Neon)");
88
+ const apply = flag("--apply");
89
+ const limitRaw = arg("--limit");
90
+ const limit = limitRaw === undefined ? Number.POSITIVE_INFINITY : Number(limitRaw);
91
+ if (!Number.isFinite(limit) && limitRaw !== undefined)
92
+ return Result.Err("--limit must be a number");
93
+ const only = new Set((arg("--only") ?? "")
94
+ .split(",")
95
+ .map((s) => s.trim())
96
+ .filter((s) => s !== ""));
97
+ const exclusions = resolveExclusions({
98
+ ALERT_EXCLUDE_DOMAINS: process.env["ALERT_EXCLUDE_DOMAINS"],
99
+ ALERT_EXCLUDE_USER_IDS: process.env["ALERT_EXCLUDE_USER_IDS"],
100
+ });
101
+ const pool = new Pool({ connectionString });
102
+ const result = await exception2Result(async () => {
103
+ const clerkUsers = await clerkAllUsers(clerkKey);
104
+ const handleRes = await pool.query(`select "userId", "userSlug" as handle from "UserSlugBindings" order by "userId", created`);
105
+ const handles = new Map();
106
+ for (const r of handleRes.rows) {
107
+ handles.set(r.userId, [...(handles.get(r.userId) ?? []), r.handle]);
108
+ }
109
+ const turnRes = await pool.query(`select "userId", count(*)::int as turns from "PromptContexts" group by "userId"`);
110
+ const turns = new Map();
111
+ for (const r of turnRes.rows) {
112
+ turns.set(r.userId, r.turns);
113
+ }
114
+ console.log(`[backfill] clerk_accounts=${clerkUsers.length} accounts_with_handle=${handles.size} ` +
115
+ `handle_rows=${handleRes.rows.length} accounts_with_codegen_turn=${turns.size}`);
116
+ const accounts = clerkUsers.map((u) => ({
117
+ userId: u.id,
118
+ email: u.email_addresses.find((e) => e.id === u.primary_email_address_id)?.email_address ?? u.email_addresses[0]?.email_address,
119
+ handles: handles.get(u.id) ?? [],
120
+ codegenTurns: turns.get(u.id) ?? 0,
121
+ }));
122
+ const selection = selectAccounts(accounts, population, exclusions);
123
+ const byId = new Map(clerkUsers.map((u) => [u.id, u]));
124
+ const candidates = selection.selected.filter((a) => only.size === 0 || only.has(a.userId));
125
+ const rBefore = await contactCount(token, [{ propertyName: "clerk_user_id", operator: "HAS_PROPERTY" }]);
126
+ if (rBefore.isErr())
127
+ throw rBefore.Err();
128
+ const linkedBefore = rBefore.Ok();
129
+ const entries = [];
130
+ let acted = 0;
131
+ let created = 0;
132
+ let merged = 0;
133
+ for (const account of candidates) {
134
+ const data = byId.get(account.userId);
135
+ if (data === undefined)
136
+ continue;
137
+ const shared = {
138
+ token,
139
+ data,
140
+ handles: account.handles,
141
+ enrichWhenLinked: true,
142
+ };
143
+ const rPlan = await planSignupContact(shared);
144
+ await sleep(REQUEST_GAP_MS);
145
+ if (rPlan.isErr()) {
146
+ entries.push({ userId: account.userId, handles: account.handles, action: "failed", reason: rPlan.Err().message });
147
+ continue;
148
+ }
149
+ const plan = rPlan.Ok();
150
+ if (plan.action === "noop" || !apply || acted >= limit) {
151
+ entries.push({
152
+ userId: account.userId,
153
+ handles: account.handles,
154
+ action: plan.action,
155
+ contactId: plan.action === "create" ? undefined : plan.id,
156
+ reason: plan.action !== "noop" && apply && acted >= limit ? "not applied: --limit reached" : undefined,
157
+ });
158
+ continue;
159
+ }
160
+ const rWrite = await upsertSignupContact(shared);
161
+ await sleep(REQUEST_GAP_MS);
162
+ if (rWrite.isErr()) {
163
+ entries.push({ userId: account.userId, handles: account.handles, action: "failed", reason: rWrite.Err().message });
164
+ continue;
165
+ }
166
+ acted = acted + 1;
167
+ const write = rWrite.Ok();
168
+ if (write.action === "create")
169
+ created = created + 1;
170
+ if (write.action === "merge")
171
+ merged = merged + 1;
172
+ entries.push({ userId: account.userId, handles: account.handles, action: write.action, contactId: write.id });
173
+ }
174
+ const rOrphans = await contactCount(token, [
175
+ { propertyName: "stripe_customer_id", operator: "HAS_PROPERTY" },
176
+ { propertyName: "clerk_user_id", operator: "NOT_HAS_PROPERTY" },
177
+ ]);
178
+ const counts = countPlan(entries);
179
+ console.log("");
180
+ console.log(formatPlanReport({
181
+ population: population,
182
+ selection,
183
+ counts,
184
+ apply,
185
+ stripeOrphans: rOrphans.isOk() ? rOrphans.Ok() : undefined,
186
+ listCaveat: true,
187
+ }));
188
+ const out = arg("--out");
189
+ if (out !== undefined) {
190
+ fs.writeFileSync(out, JSON.stringify({ population, apply, counts, entries }, null, 2));
191
+ console.log(`\nplan written to ${out} (clerk ids and handles only — no addresses)`);
192
+ }
193
+ if (!apply) {
194
+ console.log("\nDRY RUN — nothing was written. Re-run with --apply once the diff above has been read.");
195
+ return;
196
+ }
197
+ await sleep(10_000);
198
+ const rAfter = await contactCount(token, [{ propertyName: "clerk_user_id", operator: "HAS_PROPERTY" }]);
199
+ if (rAfter.isErr())
200
+ throw rAfter.Err();
201
+ const verdict = reconcile({
202
+ intended: candidates.length,
203
+ linkedBefore,
204
+ linkedContacts: rAfter.Ok(),
205
+ created,
206
+ merged,
207
+ failed: counts.failed,
208
+ });
209
+ console.log(`\nreconciliation${verdict.ok ? "" : " — NEEDS EXPLAINING"}:`);
210
+ for (const line of verdict.lines)
211
+ console.log(` ${line}`);
212
+ });
213
+ await pool.end();
214
+ return result;
215
+ }
216
+ run().then((result) => {
217
+ if (result.isErr()) {
218
+ console.error(formatError(result.Err()));
219
+ process.exitCode = 1;
220
+ }
221
+ });
222
+ //# sourceMappingURL=backfill-hubspot-contacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill-hubspot-contacts.js","sourceRoot":"","sources":["../../jsr/usage-report/backfill-hubspot-contacts.ts"],"names":[],"mappings":"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"}
@@ -91,11 +91,71 @@ function parseArgs(argv) {
91
91
  }
92
92
  return Result.Ok({ command, args, limit });
93
93
  }
94
+ async function queryReadOnly(pool, sql, params = []) {
95
+ const client = await pool.connect();
96
+ try {
97
+ await client.query("begin read only");
98
+ return await client.query(sql, params);
99
+ }
100
+ finally {
101
+ await client.query("rollback").catch(() => undefined);
102
+ client.release();
103
+ }
104
+ }
105
+ function hasStatementSeparator(sql) {
106
+ let i = 0;
107
+ while (i < sql.length) {
108
+ const ch = sql[i];
109
+ if (ch === "'" || ch === '"') {
110
+ const quote = ch;
111
+ i++;
112
+ while (i < sql.length) {
113
+ if (sql[i] === quote) {
114
+ if (sql[i + 1] === quote)
115
+ i += 2;
116
+ else
117
+ break;
118
+ }
119
+ else
120
+ i++;
121
+ }
122
+ i++;
123
+ continue;
124
+ }
125
+ if (ch === "$") {
126
+ const tag = /^\$[A-Za-z_0-9]*\$/.exec(sql.slice(i));
127
+ if (tag !== null) {
128
+ const close = sql.indexOf(tag[0], i + tag[0].length);
129
+ i = close === -1 ? sql.length : close + tag[0].length;
130
+ continue;
131
+ }
132
+ }
133
+ if (ch === "-" && sql[i + 1] === "-") {
134
+ const nl = sql.indexOf("\n", i);
135
+ i = nl === -1 ? sql.length : nl + 1;
136
+ continue;
137
+ }
138
+ if (ch === "/" && sql[i + 1] === "*") {
139
+ const close = sql.indexOf("*/", i + 2);
140
+ i = close === -1 ? sql.length : close + 2;
141
+ continue;
142
+ }
143
+ if (ch === ";") {
144
+ if (sql.slice(i + 1).trim() !== "")
145
+ return true;
146
+ }
147
+ i++;
148
+ }
149
+ return false;
150
+ }
94
151
  function assertReadonlySql(sql) {
95
152
  const normalized = sql.trim().replace(/;+$/, "").toLowerCase();
96
153
  if (normalized === "") {
97
154
  return Result.Err("SQL is empty");
98
155
  }
156
+ if (hasStatementSeparator(sql)) {
157
+ return Result.Err("Only a single statement is allowed (no `;`-separated statements)");
158
+ }
99
159
  if (!(normalized.startsWith("select ") ||
100
160
  normalized.startsWith("with ") ||
101
161
  normalized.startsWith("show ") ||
@@ -143,7 +203,7 @@ async function run() {
143
203
  }
144
204
  const table = rTable.Ok();
145
205
  const sql = `select * from ${quoteIdentifier(table.table_schema)}.${quoteIdentifier(table.table_name)} order by 1 desc limit $1`;
146
- const queryResult = await pool.query(sql, [limit]);
206
+ const queryResult = await queryReadOnly(pool, sql, [limit]);
147
207
  console.log(JSON.stringify({
148
208
  table: `${table.table_schema}.${table.table_name}`,
149
209
  rowCount: queryResult.rowCount,
@@ -157,7 +217,7 @@ async function run() {
157
217
  if (rSql.isErr()) {
158
218
  throw new Error(rSql.Err().message);
159
219
  }
160
- const queryResult = await pool.query(sql);
220
+ const queryResult = await queryReadOnly(pool, sql);
161
221
  console.log(JSON.stringify({
162
222
  rowCount: queryResult.rowCount,
163
223
  rows: queryResult.rows,