diff --git a/packages/backend/src/controllers/api/v1/users/get-apps.js b/packages/backend/src/controllers/api/v1/users/get-apps.js index 801fbc71..94a4ddf6 100644 --- a/packages/backend/src/controllers/api/v1/users/get-apps.js +++ b/packages/backend/src/controllers/api/v1/users/get-apps.js @@ -3,5 +3,5 @@ import { renderObject } from '../../../../helpers/renderer.js'; export default async (request, response) => { const apps = await request.currentUser.getApps(request.query.name); - renderObject(response, apps, { serializer: 'App' }); + renderObject(response, apps, { serializer: 'UserApp' }); }; diff --git a/packages/backend/src/serializers/app.js b/packages/backend/src/serializers/app.js index 57e0306d..2c8adb9f 100644 --- a/packages/backend/src/serializers/app.js +++ b/packages/backend/src/serializers/app.js @@ -6,6 +6,7 @@ const appSerializer = (app) => { primaryColor: app.primaryColor, authDocUrl: app.authDocUrl, supportsConnections: app.supportsConnections, + supportsOauthClients: app?.auth?.generateAuthUrl ? true : false, }; if (app.connectionCount) { diff --git a/packages/backend/src/serializers/app.test.js b/packages/backend/src/serializers/app.test.js index ec5716a9..513792e7 100644 --- a/packages/backend/src/serializers/app.test.js +++ b/packages/backend/src/serializers/app.test.js @@ -12,6 +12,7 @@ describe('appSerializer', () => { iconUrl: app.iconUrl, authDocUrl: app.authDocUrl, supportsConnections: app.supportsConnections, + supportsOauthClients: app.auth.generateAuthUrl ? true : false, primaryColor: app.primaryColor, }; diff --git a/packages/backend/src/serializers/index.js b/packages/backend/src/serializers/index.js index 8fdeb888..3111b2df 100644 --- a/packages/backend/src/serializers/index.js +++ b/packages/backend/src/serializers/index.js @@ -10,6 +10,7 @@ import flowSerializer from './flow.js'; import stepSerializer from './step.js'; import connectionSerializer from './connection.js'; import appSerializer from './app.js'; +import userAppSerializer from './user-app.js'; import authSerializer from './auth.js'; import triggerSerializer from './trigger.js'; import actionSerializer from './action.js'; @@ -33,6 +34,7 @@ const serializers = { Step: stepSerializer, Connection: connectionSerializer, App: appSerializer, + UserApp: userAppSerializer, Auth: authSerializer, Trigger: triggerSerializer, Action: actionSerializer, diff --git a/packages/backend/src/serializers/user-app.js b/packages/backend/src/serializers/user-app.js new file mode 100644 index 00000000..0d16865b --- /dev/null +++ b/packages/backend/src/serializers/user-app.js @@ -0,0 +1,22 @@ +const userAppSerializer = (userApp) => { + let appData = { + key: userApp.key, + name: userApp.name, + iconUrl: userApp.iconUrl, + primaryColor: userApp.primaryColor, + authDocUrl: userApp.authDocUrl, + supportsConnections: userApp.supportsConnections, + }; + + if (userApp.connectionCount) { + appData.connectionCount = userApp.connectionCount; + } + + if (userApp.flowCount) { + appData.flowCount = userApp.flowCount; + } + + return appData; +}; + +export default userAppSerializer; diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-app.js b/packages/backend/test/mocks/rest/api/v1/apps/get-app.js index e5b96c38..25061912 100644 --- a/packages/backend/test/mocks/rest/api/v1/apps/get-app.js +++ b/packages/backend/test/mocks/rest/api/v1/apps/get-app.js @@ -7,6 +7,7 @@ const getAppMock = (app) => { name: app.name, primaryColor: app.primaryColor, supportsConnections: app.supportsConnections, + supportsOauthClients: app.auth.generateAuthUrl ? true : false, }, meta: { count: 1, diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-apps.js b/packages/backend/test/mocks/rest/api/v1/apps/get-apps.js index a097d1f2..e1892d42 100644 --- a/packages/backend/test/mocks/rest/api/v1/apps/get-apps.js +++ b/packages/backend/test/mocks/rest/api/v1/apps/get-apps.js @@ -6,6 +6,7 @@ const getAppsMock = (apps) => { name: app.name, primaryColor: app.primaryColor, supportsConnections: app.supportsConnections, + supportsOauthClients: app?.auth?.generateAuthUrl ? true : false, })); return {