diff --git a/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.js b/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.js index 7d5021aa..edf0ff9a 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.js +++ b/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.js @@ -10,11 +10,11 @@ export default async (request, response) => { }; const appConfigParams = (request) => { - const { allowCustomConnection, shared, disabled } = request.body; + const { customConnectionAllowed, shared, disabled } = request.body; return { key: request.params.appKey, - allowCustomConnection, + customConnectionAllowed, shared, disabled, }; diff --git a/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.test.js b/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.test.js index ad9b7600..f92df586 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.test.js +++ b/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.test.js @@ -23,7 +23,7 @@ describe('POST /api/v1/admin/apps/:appKey/config', () => { it('should return created app config', async () => { const appConfig = { - allowCustomConnection: true, + customConnectionAllowed: true, shared: true, disabled: false, }; @@ -44,7 +44,7 @@ describe('POST /api/v1/admin/apps/:appKey/config', () => { it('should return HTTP 422 for already existing app config', async () => { const appConfig = { key: 'gitlab', - allowCustomConnection: true, + customConnectionAllowed: true, shared: true, disabled: false, }; diff --git a/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.js b/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.js index 0467d573..ff94c583 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.js +++ b/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.js @@ -14,10 +14,10 @@ export default async (request, response) => { }; const appConfigParams = (request) => { - const { allowCustomConnection, shared, disabled } = request.body; + const { customConnectionAllowed, shared, disabled } = request.body; return { - allowCustomConnection, + customConnectionAllowed, shared, disabled, }; diff --git a/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.test.js b/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.test.js index 20d7f8ae..c5436ad5 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.test.js +++ b/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.test.js @@ -24,7 +24,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => { it('should return updated app config', async () => { const appConfig = { key: 'gitlab', - allowCustomConnection: true, + customConnectionAllowed: true, shared: true, disabled: false, }; @@ -34,7 +34,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => { const newAppConfigValues = { shared: false, disabled: true, - allowCustomConnection: false, + customConnectionAllowed: false, }; const response = await request(app) @@ -55,7 +55,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => { const appConfig = { shared: false, disabled: true, - allowCustomConnection: false, + customConnectionAllowed: false, }; await request(app) @@ -68,7 +68,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => { it('should return HTTP 422 for invalid app config data', async () => { const appConfig = { key: 'gitlab', - allowCustomConnection: true, + customConnectionAllowed: true, shared: true, disabled: false, }; diff --git a/packages/backend/src/controllers/api/v1/apps/create-connection.test.js b/packages/backend/src/controllers/api/v1/apps/create-connection.test.js index c6e3634f..4a12aa99 100644 --- a/packages/backend/src/controllers/api/v1/apps/create-connection.test.js +++ b/packages/backend/src/controllers/api/v1/apps/create-connection.test.js @@ -155,7 +155,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => { await createAppConfig({ key: 'gitlab', disabled: false, - allowCustomConnection: true, + customConnectionAllowed: true, }); }); @@ -218,7 +218,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => { await createAppConfig({ key: 'gitlab', disabled: false, - allowCustomConnection: false, + customConnectionAllowed: false, }); }); diff --git a/packages/backend/src/controllers/api/v1/apps/get-config.ee.test.js b/packages/backend/src/controllers/api/v1/apps/get-config.ee.test.js index d10c2bd7..a39b315b 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-config.ee.test.js +++ b/packages/backend/src/controllers/api/v1/apps/get-config.ee.test.js @@ -17,7 +17,7 @@ describe('GET /api/v1/apps/:appKey/config', () => { appConfig = await createAppConfig({ key: 'deepl', - allowCustomConnection: true, + customConnectionAllowed: true, shared: true, disabled: false, }); diff --git a/packages/backend/src/db/migrations/20241009094438_rename_app_config_allow_custom_connection_as_custom_connection_allowed.js b/packages/backend/src/db/migrations/20241009094438_rename_app_config_allow_custom_connection_as_custom_connection_allowed.js new file mode 100644 index 00000000..b8fab01a --- /dev/null +++ b/packages/backend/src/db/migrations/20241009094438_rename_app_config_allow_custom_connection_as_custom_connection_allowed.js @@ -0,0 +1,11 @@ +export async function up(knex) { + return knex.schema.alterTable('app_configs', (table) => { + table.renameColumn('allow_custom_connection', 'custom_connection_allowed'); + }); +} + +export async function down(knex) { + return knex.schema.alterTable('app_configs', (table) => { + table.renameColumn('custom_connection_allowed', 'allow_custom_connection'); + }); +} diff --git a/packages/backend/src/models/__snapshots__/app-config.test.js.snap b/packages/backend/src/models/__snapshots__/app-config.test.js.snap index 81015bef..e620514d 100644 --- a/packages/backend/src/models/__snapshots__/app-config.test.js.snap +++ b/packages/backend/src/models/__snapshots__/app-config.test.js.snap @@ -3,10 +3,6 @@ exports[`AppConfig model > jsonSchema should have correct validations 1`] = ` { "properties": { - "allowCustomConnection": { - "default": false, - "type": "boolean", - }, "connectionAllowed": { "default": false, "type": "boolean", @@ -14,6 +10,10 @@ exports[`AppConfig model > jsonSchema should have correct validations 1`] = ` "createdAt": { "type": "string", }, + "customConnectionAllowed": { + "default": false, + "type": "boolean", + }, "disabled": { "default": false, "type": "boolean", @@ -39,3 +39,5 @@ exports[`AppConfig model > jsonSchema should have correct validations 1`] = ` "type": "object", } `; + +exports[`AppConfig model > virtualAttributes should return correct properties 1`] = `null`; diff --git a/packages/backend/src/models/app-config.js b/packages/backend/src/models/app-config.js index 15968890..1fb0ee46 100644 --- a/packages/backend/src/models/app-config.js +++ b/packages/backend/src/models/app-config.js @@ -13,7 +13,7 @@ class AppConfig extends Base { id: { type: 'string', format: 'uuid' }, key: { type: 'string' }, connectionAllowed: { type: 'boolean', default: false }, - allowCustomConnection: { type: 'boolean', default: false }, + customConnectionAllowed: { type: 'boolean', default: false }, shared: { type: 'boolean', default: false }, disabled: { type: 'boolean', default: false }, createdAt: { type: 'string' }, diff --git a/packages/backend/src/models/app-config.test.js b/packages/backend/src/models/app-config.test.js index 10534857..6ae574fb 100644 --- a/packages/backend/src/models/app-config.test.js +++ b/packages/backend/src/models/app-config.test.js @@ -36,35 +36,6 @@ describe('AppConfig model', () => { expect(AppConfig.virtualAttributes).toMatchSnapshot(); }); - describe('allowCustomConnection', () => { - it('should return true when app is enabled and allows custom connection', async () => { - const appConfig = await createAppConfig({ - disabled: false, - allowCustomConnection: true, - }); - - expect(appConfig.allowCustomConnection).toBe(true); - }); - - it('should return false when app is disabled', async () => { - const appConfig = await createAppConfig({ - disabled: true, - allowCustomConnection: true, - }); - - expect(appConfig.allowCustomConnection).toBe(false); - }); - - it(`should return false when app doesn't allow custom connection`, async () => { - const appConfig = await createAppConfig({ - disabled: false, - allowCustomConnection: false, - }); - - expect(appConfig.allowCustomConnection).toBe(false); - }); - }); - describe('connectionAllowed', () => { it('should return true when app is enabled, shared and allows custom connection with an active app auth client at least', async () => { await createAppAuthClient({ @@ -79,7 +50,7 @@ describe('AppConfig model', () => { const appConfig = await createAppConfig({ disabled: false, - allowCustomConnection: true, + customConnectionAllowed: true, shared: true, key: 'deepl', }); @@ -95,7 +66,7 @@ describe('AppConfig model', () => { const appConfig = await createAppConfig({ disabled: false, - allowCustomConnection: true, + customConnectionAllowed: true, shared: true, key: 'deepl', }); @@ -106,7 +77,7 @@ describe('AppConfig model', () => { it('should return false when app is enabled, shared and allows custom connection without any app auth clients', async () => { const appConfig = await createAppConfig({ disabled: false, - allowCustomConnection: true, + customConnectionAllowed: true, shared: true, key: 'deepl', }); @@ -117,7 +88,7 @@ describe('AppConfig model', () => { it('should return false when app is disabled', async () => { const appConfig = await createAppConfig({ disabled: true, - allowCustomConnection: true, + customConnectionAllowed: true, }); expect(appConfig.connectionAllowed).toBe(false); @@ -126,7 +97,7 @@ describe('AppConfig model', () => { it(`should return false when app doesn't allow custom connection`, async () => { const appConfig = await createAppConfig({ disabled: false, - allowCustomConnection: false, + customConnectionAllowed: false, }); expect(appConfig.connectionAllowed).toBe(false); diff --git a/packages/backend/src/models/connection.js b/packages/backend/src/models/connection.js index c743bbdc..325e1e07 100644 --- a/packages/backend/src/models/connection.js +++ b/packages/backend/src/models/connection.js @@ -89,7 +89,7 @@ class Connection extends Base { } if (this.appConfig) { - return !this.appConfig.disabled && this.appConfig.allowCustomConnection; + return !this.appConfig.disabled && this.appConfig.customConnectionAllowed; } return true; @@ -144,7 +144,7 @@ class Connection extends Base { ); } - if (!appConfig.allowCustomConnection && this.formattedData) { + if (!appConfig.customConnectionAllowed && this.formattedData) { throw new NotAuthorizedError( `New custom connections have been disabled for ${app.name}!` ); diff --git a/packages/backend/src/serializers/app-config.js b/packages/backend/src/serializers/app-config.js index 7355f467..97afcb76 100644 --- a/packages/backend/src/serializers/app-config.js +++ b/packages/backend/src/serializers/app-config.js @@ -2,7 +2,7 @@ const appConfigSerializer = (appConfig) => { return { id: appConfig.id, key: appConfig.key, - allowCustomConnection: appConfig.allowCustomConnection, + customConnectionAllowed: appConfig.customConnectionAllowed, shared: appConfig.shared, disabled: appConfig.disabled, connectionAllowed: appConfig.connectionAllowed, diff --git a/packages/backend/src/serializers/app-config.test.js b/packages/backend/src/serializers/app-config.test.js index cbd8d5e1..edf1d107 100644 --- a/packages/backend/src/serializers/app-config.test.js +++ b/packages/backend/src/serializers/app-config.test.js @@ -13,7 +13,7 @@ describe('appConfig serializer', () => { const expectedPayload = { id: appConfig.id, key: appConfig.key, - allowCustomConnection: appConfig.allowCustomConnection, + customConnectionAllowed: appConfig.customConnectionAllowed, shared: appConfig.shared, disabled: appConfig.disabled, connectionAllowed: appConfig.connectionAllowed, diff --git a/packages/backend/test/mocks/rest/api/v1/admin/apps/create-config.js b/packages/backend/test/mocks/rest/api/v1/admin/apps/create-config.js index a1c1aad4..52e425ab 100644 --- a/packages/backend/test/mocks/rest/api/v1/admin/apps/create-config.js +++ b/packages/backend/test/mocks/rest/api/v1/admin/apps/create-config.js @@ -2,7 +2,7 @@ const createAppConfigMock = (appConfig) => { return { data: { key: appConfig.key, - allowCustomConnection: appConfig.allowCustomConnection, + customConnectionAllowed: appConfig.customConnectionAllowed, shared: appConfig.shared, disabled: appConfig.disabled, }, diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-config.js b/packages/backend/test/mocks/rest/api/v1/apps/get-config.js index b854301a..60772644 100644 --- a/packages/backend/test/mocks/rest/api/v1/apps/get-config.js +++ b/packages/backend/test/mocks/rest/api/v1/apps/get-config.js @@ -3,7 +3,7 @@ const getAppConfigMock = (appConfig) => { data: { id: appConfig.id, key: appConfig.key, - allowCustomConnection: appConfig.allowCustomConnection, + customConnectionAllowed: appConfig.customConnectionAllowed, shared: appConfig.shared, disabled: appConfig.disabled, connectionAllowed: appConfig.connectionAllowed,