@loomcore/api 0.1.10 → 0.1.12

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,2 +1,3 @@
1
1
  export * from './postgres.database.js';
2
2
  export * from './migrations/index.js';
3
+ export * from './utils/index.js';
@@ -1,2 +1,3 @@
1
1
  export * from './postgres.database.js';
2
2
  export * from './migrations/index.js';
3
+ export * from './utils/index.js';
@@ -2,9 +2,10 @@ import { CreateMigrationTableMigration } from "./001-create-migrations-table.mig
2
2
  import { CreateOrganizationsTableMigration } from "./002-create-organizations-table.migration.js";
3
3
  import { doesTableExist } from "../utils/does-table-exist.util.js";
4
4
  import { CreateMetaOrgMigration } from "./005-create-meta-org.migration.js";
5
+ import { randomUUID } from 'crypto';
5
6
  export async function setupDatabaseForMultitenant(client, orgName, orgCode) {
6
7
  let runMigrations = [];
7
- let metaOrgId = undefined;
8
+ const metaOrgId = randomUUID().toString();
8
9
  if (await doesTableExist(client, 'migrations')) {
9
10
  const migrations = await client.query(`
10
11
  SELECT "_id", "index"
@@ -25,7 +26,7 @@ export async function setupDatabaseForMultitenant(client, orgName, orgCode) {
25
26
  }
26
27
  if (!runMigrations.includes(2)) {
27
28
  const createOrganizationTableMigration = new CreateOrganizationsTableMigration(client, orgName, orgCode);
28
- const result = await createOrganizationTableMigration.execute();
29
+ const result = await createOrganizationTableMigration.execute(metaOrgId);
29
30
  if (!result.success) {
30
31
  console.log('setupDatabaseForMultitenant: error creating organizations table', result.error);
31
32
  return { success: false, metaOrgId: metaOrgId, error: result.error };
@@ -33,12 +34,11 @@ export async function setupDatabaseForMultitenant(client, orgName, orgCode) {
33
34
  }
34
35
  if (!runMigrations.includes(5)) {
35
36
  const createMetaOrgMigration = new CreateMetaOrgMigration(client, orgName, orgCode);
36
- const result = await createMetaOrgMigration.execute();
37
+ const result = await createMetaOrgMigration.execute(metaOrgId);
37
38
  if (!result.success || !result.metaOrgId) {
38
39
  console.log('setupDatabaseForMultitenant: error creating meta org', result.error);
39
40
  return { success: false, metaOrgId: metaOrgId, error: result.error };
40
41
  }
41
- metaOrgId = result.metaOrgId;
42
42
  }
43
43
  return { success: true, metaOrgId: metaOrgId, error: null };
44
44
  }
@@ -0,0 +1 @@
1
+ export * from './does-table-exist.util.js';
@@ -0,0 +1 @@
1
+ export * from './does-table-exist.util.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loomcore/api",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "private": false,
5
5
  "description": "Loom Core Api - An opinionated Node.js api using Typescript, Express, and MongoDb or PostgreSQL",
6
6
  "scripts": {