@loomcore/api 0.1.26 → 0.1.27
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.
- package/dist/databases/postgres/migrations/006-create-admin-user.migration.d.ts +1 -1
- package/dist/databases/postgres/migrations/006-create-admin-user.migration.js +2 -2
- package/dist/databases/postgres/migrations/setup-for-auth.migration.d.ts +1 -1
- package/dist/databases/postgres/migrations/setup-for-auth.migration.js +7 -3
- package/dist/databases/postgres/migrations/setup-for-multitenant.migration.js +0 -21
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ export declare class CreateAdminUserMigration implements IMigration {
|
|
|
4
4
|
private readonly client;
|
|
5
5
|
constructor(client: Client);
|
|
6
6
|
index: number;
|
|
7
|
-
execute(adminEmail?: string, adminPassword?: string): Promise<{
|
|
7
|
+
execute(adminEmail?: string, adminPassword?: string, metaOrgId?: string): Promise<{
|
|
8
8
|
success: boolean;
|
|
9
9
|
adminUserId: string | undefined;
|
|
10
10
|
error: Error | null;
|
|
@@ -8,7 +8,7 @@ export class CreateAdminUserMigration {
|
|
|
8
8
|
this.client = client;
|
|
9
9
|
}
|
|
10
10
|
index = 6;
|
|
11
|
-
async execute(adminEmail, adminPassword) {
|
|
11
|
+
async execute(adminEmail, adminPassword, metaOrgId) {
|
|
12
12
|
const _id = randomUUID().toString();
|
|
13
13
|
const systemUserContext = getSystemUserContext();
|
|
14
14
|
let createdUser;
|
|
@@ -17,7 +17,7 @@ export class CreateAdminUserMigration {
|
|
|
17
17
|
const authService = new AuthService(database);
|
|
18
18
|
createdUser = await authService.createUser(systemUserContext, {
|
|
19
19
|
_id: _id,
|
|
20
|
-
_orgId:
|
|
20
|
+
_orgId: metaOrgId,
|
|
21
21
|
email: adminEmail,
|
|
22
22
|
password: adminPassword,
|
|
23
23
|
firstName: 'Admin',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Client } from "pg";
|
|
2
|
-
export declare function setupDatabaseForAuth(client: Client,
|
|
2
|
+
export declare function setupDatabaseForAuth(client: Client, adminEmail: string, adminPassword: string, metaOrgId?: string): Promise<{
|
|
3
3
|
success: boolean;
|
|
4
4
|
error: Error | null;
|
|
5
5
|
}>;
|
|
@@ -8,7 +8,7 @@ import { CreateRoleTableMigration } from "./007-create-roles-table.migration.js"
|
|
|
8
8
|
import { CreateAuthorizationsTableMigration } from "./010-create-authorizations-table.migration.js";
|
|
9
9
|
import { CreateFeaturesTableMigration } from "./009-create-features-table.migration.js";
|
|
10
10
|
import { CreateAdminAuthorizationMigration } from "./011-create-admin-authorization.migration.js";
|
|
11
|
-
export async function setupDatabaseForAuth(client,
|
|
11
|
+
export async function setupDatabaseForAuth(client, adminEmail, adminPassword, metaOrgId) {
|
|
12
12
|
let runMigrations = [];
|
|
13
13
|
if (await doesTableExist(client, 'migrations')) {
|
|
14
14
|
const migrations = await client.query(`
|
|
@@ -47,7 +47,11 @@ export async function setupDatabaseForAuth(client, adminUsername, adminPassword,
|
|
|
47
47
|
}
|
|
48
48
|
if (!runMigrations.includes(6)) {
|
|
49
49
|
const migration = new CreateAdminUserMigration(client);
|
|
50
|
-
const result = await migration.execute(
|
|
50
|
+
const result = await migration.execute(adminEmail, adminPassword, metaOrgId);
|
|
51
|
+
if (!result.success) {
|
|
52
|
+
console.error('setupDatabaseForAuth: error creating admin user', result.error);
|
|
53
|
+
return { success: false, error: result.error };
|
|
54
|
+
}
|
|
51
55
|
adminUserId = result.adminUserId;
|
|
52
56
|
}
|
|
53
57
|
if (!runMigrations.includes(7)) {
|
|
@@ -85,7 +89,7 @@ export async function setupDatabaseForAuth(client, adminUsername, adminPassword,
|
|
|
85
89
|
if (!runMigrations.includes(11)) {
|
|
86
90
|
if (!adminUserId) {
|
|
87
91
|
console.error('setupDatabaseForAuth: Admin user ID is required');
|
|
88
|
-
return { success:
|
|
92
|
+
return { success: false, error: new Error('Admin user ID is required') };
|
|
89
93
|
}
|
|
90
94
|
const migration = new CreateAdminAuthorizationMigration(client, adminUserId, metaOrgId);
|
|
91
95
|
const result = await migration.execute();
|
|
@@ -2,9 +2,6 @@ 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 { PostgresDatabase } from "../postgres.database.js";
|
|
6
|
-
import { OrganizationService } from "../../../services/index.js";
|
|
7
|
-
import { EmptyUserContext } from "@loomcore/common/models";
|
|
8
5
|
export async function setupDatabaseForMultitenant(client, metaOrgName, metaOrgCode) {
|
|
9
6
|
let runMigrations = [];
|
|
10
7
|
let metaOrgId;
|
|
@@ -34,14 +31,6 @@ export async function setupDatabaseForMultitenant(client, metaOrgName, metaOrgCo
|
|
|
34
31
|
return { success: false, metaOrgId: metaOrgId, error: result.error };
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
|
-
else {
|
|
38
|
-
const database = new PostgresDatabase(client);
|
|
39
|
-
const organizationService = new OrganizationService(database);
|
|
40
|
-
const metaOrg = await organizationService.getMetaOrg(EmptyUserContext);
|
|
41
|
-
if (metaOrg) {
|
|
42
|
-
metaOrgId = metaOrg._id;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
34
|
if (!runMigrations.includes(5)) {
|
|
46
35
|
const createMetaOrgMigration = new CreateMetaOrgMigration(client, metaOrgName, metaOrgCode);
|
|
47
36
|
const result = await createMetaOrgMigration.execute();
|
|
@@ -51,15 +40,5 @@ export async function setupDatabaseForMultitenant(client, metaOrgName, metaOrgCo
|
|
|
51
40
|
}
|
|
52
41
|
metaOrgId = result.metaOrgId;
|
|
53
42
|
}
|
|
54
|
-
else {
|
|
55
|
-
if (!metaOrgId) {
|
|
56
|
-
const database = new PostgresDatabase(client);
|
|
57
|
-
const organizationService = new OrganizationService(database);
|
|
58
|
-
const metaOrg = await organizationService.getMetaOrg(EmptyUserContext);
|
|
59
|
-
if (metaOrg) {
|
|
60
|
-
metaOrgId = metaOrg._id;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
43
|
return { success: true, metaOrgId: metaOrgId, error: null };
|
|
65
44
|
}
|