13 lines
460 B
JavaScript
13 lines
460 B
JavaScript
import { pool } from '../lib/db/pool.js';
|
|
import * as spaces from '../lib/db/repos/spaces.js';
|
|
|
|
const SYS = { kind: 'system', id: null };
|
|
|
|
// Returns the id of the space with `slug`, creating it if absent. Idempotent.
|
|
export async function ensureSpace(slug, name) {
|
|
const { rows: [r] } = await pool.query(`SELECT id FROM spaces WHERE slug=$1`, [slug]);
|
|
if (r) return r.id;
|
|
const created = await spaces.create({ slug, name }, SYS);
|
|
return created.id;
|
|
}
|