From c8bdcdccb990aa88c1a981319539cc717bbdcf0a Mon Sep 17 00:00:00 2001 From: Joep Peeters Date: Mon, 6 Mar 2023 09:27:49 +0100 Subject: [PATCH] rename: setRole -> role Signed-off-by: Joep Peeters --- packages/backend-common/config.d.ts | 4 ++-- .../src/database/DatabaseManager.test.ts | 10 +++++----- .../backend-common/src/database/DatabaseManager.ts | 10 +++++----- .../src/database/connectors/postgres.ts | 12 ++++++------ 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/backend-common/config.d.ts b/packages/backend-common/config.d.ts index ad83bde485..8dd2c2db84 100644 --- a/packages/backend-common/config.d.ts +++ b/packages/backend-common/config.d.ts @@ -97,7 +97,7 @@ export interface Config { */ pluginDivisionMode?: 'database' | 'schema'; /** Configures the ownership of newly created schemas in pg databases. */ - setOwner?: string; + role?: string; /** * Arbitrary config object to pass to knex when initializing * (https://knexjs.org/#Installation-client). Most notable is the debug @@ -128,7 +128,7 @@ export interface Config { */ knexConfig?: object; /** Configures the ownership of newly created schemas in pg databases. */ - setOwner?: string; + role?: string; }; }; }; diff --git a/packages/backend-common/src/database/DatabaseManager.test.ts b/packages/backend-common/src/database/DatabaseManager.test.ts index 878fe62e4f..336e5d499c 100644 --- a/packages/backend-common/src/database/DatabaseManager.test.ts +++ b/packages/backend-common/src/database/DatabaseManager.test.ts @@ -698,7 +698,7 @@ describe('DatabaseManager', () => { host: 'localhost', database: 'foodb', }, - setOwner: 'backstage', + role: 'backstage', plugin: { testowner: {}, }, @@ -711,7 +711,7 @@ describe('DatabaseManager', () => { const mockCalls = mocked(createDatabaseClient).mock.calls.splice(-1); const [baseConfig] = mockCalls[0]; - expect(baseConfig.data.setOwner).toEqual('backstage'); + expect(baseConfig.data.role).toEqual('backstage'); }); it('sets the owner config for plugin using plugin config', async () => { @@ -724,10 +724,10 @@ describe('DatabaseManager', () => { host: 'localhost', database: 'foodb', }, - setOwner: 'backstage', + role: 'backstage', plugin: { testowner: { - setOwner: 'backstage-plugin', + role: 'backstage-plugin', }, }, }, @@ -739,7 +739,7 @@ describe('DatabaseManager', () => { const mockCalls = mocked(createDatabaseClient).mock.calls.splice(-1); const [baseConfig] = mockCalls[0]; - expect(baseConfig.data.setOwner).toEqual('backstage-plugin'); + expect(baseConfig.data.role).toEqual('backstage-plugin'); }); }); }); diff --git a/packages/backend-common/src/database/DatabaseManager.ts b/packages/backend-common/src/database/DatabaseManager.ts index 07a9bd2934..02f2c6b172 100644 --- a/packages/backend-common/src/database/DatabaseManager.ts +++ b/packages/backend-common/src/database/DatabaseManager.ts @@ -186,10 +186,10 @@ export class DatabaseManager { }; } - private getSetOwnerConfig(pluginId: string): string | undefined { + private getRoleConfig(pluginId: string): string | undefined { return ( - this.config.getOptionalString(`${pluginPath(pluginId)}.setOwner`) ?? - this.config.getOptionalString('setOwner') + this.config.getOptionalString(`${pluginPath(pluginId)}.role`) ?? + this.config.getOptionalString('role') ); } @@ -285,13 +285,13 @@ export class DatabaseManager { */ private getConfigForPlugin(pluginId: string): Knex.Config { const { client } = this.getClientType(pluginId); - const setOwner = this.getSetOwnerConfig(pluginId); + const role = this.getRoleConfig(pluginId); return { ...this.getAdditionalKnexConfig(pluginId), client, connection: this.getConnectionConfig(pluginId), - ...(setOwner && { setOwner }), + ...(role && { role }), }; } diff --git a/packages/backend-common/src/database/connectors/postgres.ts b/packages/backend-common/src/database/connectors/postgres.ts index 682b2e6ceb..54adc90757 100644 --- a/packages/backend-common/src/database/connectors/postgres.ts +++ b/packages/backend-common/src/database/connectors/postgres.ts @@ -36,11 +36,11 @@ export function createPgDatabaseClient( const knexConfig = buildPgDatabaseConfig(dbConfig, overrides); const database = knexFactory(knexConfig); - const owner = dbConfig.getOptionalString('setOwner'); + const role = dbConfig.getOptionalString('role'); - if (owner) { + if (role) { database.client.pool.on('createSuccess', (_event: any, pgClient: any) => { - pgClient.query(`SET ROLE ${owner}`, () => {}); + pgClient.query(`SET ROLE ${role}`, () => {}); }); } return database; @@ -155,14 +155,14 @@ export async function ensurePgSchemaExists( ...schemas: Array ): Promise { const admin = createPgDatabaseClient(dbConfig); - const setOwner = dbConfig.getOptionalString('setOwner'); + const role = dbConfig.getOptionalString('role'); try { const ensureSchema = async (database: string) => { - if (setOwner) { + if (role) { await admin.raw(`CREATE SCHEMA IF NOT EXISTS ?? AUTHORIZATION ??`, [ database, - setOwner, + role, ]); } else { await admin.raw(`CREATE SCHEMA IF NOT EXISTS ??`, [database]);