diff --git a/packages/backend/src/controllers/api/v1/admin/permissions/get-permissions-catalog.ee.js b/packages/backend/src/controllers/api/v1/admin/permissions/get-permissions-catalog.ee.js deleted file mode 100644 index 232e33ea..00000000 --- a/packages/backend/src/controllers/api/v1/admin/permissions/get-permissions-catalog.ee.js +++ /dev/null @@ -1,6 +0,0 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import permissionCatalog from '../../../../../helpers/permission-catalog.ee.js'; - -export default async (request, response) => { - renderObject(response, permissionCatalog); -}; diff --git a/packages/backend/src/controllers/api/v1/apps/get-oauth-client.ee.test.js b/packages/backend/src/controllers/api/v1/apps/get-oauth-client.ee.test.js deleted file mode 100644 index b39367f8..00000000 --- a/packages/backend/src/controllers/api/v1/apps/get-oauth-client.ee.test.js +++ /dev/null @@ -1,50 +0,0 @@ -import { vi, describe, it, expect, beforeEach } from 'vitest'; -import request from 'supertest'; -import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import getOAuthClientMock from '../../../../../test/mocks/rest/api/v1/apps/get-oauth-client.js'; -import { createOAuthClient } from '../../../../../test/factories/oauth-client.js'; -import * as license from '../../../../helpers/license.ee.js'; - -describe('GET /api/v1/apps/:appKey/oauth-clients/:oauthClientId', () => { - let currentUser, currentOAuthClient, token; - - beforeEach(async () => { - vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); - - currentUser = await createUser(); - currentOAuthClient = await createOAuthClient({ - appKey: 'deepl', - }); - - token = await createAuthTokenByUserId(currentUser.id); - }); - - it('should return specified oauth client', async () => { - const response = await request(app) - .get(`/api/v1/apps/deepl/oauth-clients/${currentOAuthClient.id}`) - .set('Authorization', token) - .expect(200); - - const expectedPayload = getOAuthClientMock(currentOAuthClient); - expect(response.body).toStrictEqual(expectedPayload); - }); - - it('should return not found response for not existing oauth client ID', async () => { - const notExistingOAuthClientUUID = Crypto.randomUUID(); - - await request(app) - .get(`/api/v1/apps/deepl/oauth-clients/${notExistingOAuthClientUUID}`) - .set('Authorization', token) - .expect(404); - }); - - it('should return bad request response for invalid UUID', async () => { - await request(app) - .get('/api/v1/apps/deepl/oauth-clients/invalidOAuthClientUUID') - .set('Authorization', token) - .expect(400); - }); -}); diff --git a/packages/backend/src/controllers/api/v1/apps/get-oauth-clients.ee.js b/packages/backend/src/controllers/api/v1/apps/get-oauth-clients.ee.js deleted file mode 100644 index 2a68737b..00000000 --- a/packages/backend/src/controllers/api/v1/apps/get-oauth-clients.ee.js +++ /dev/null @@ -1,10 +0,0 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import OAuthClient from '../../../../models/oauth-client.js'; - -export default async (request, response) => { - const oauthClients = await OAuthClient.query() - .where({ app_key: request.params.appKey, active: true }) - .orderBy('created_at', 'desc'); - - renderObject(response, oauthClients); -}; diff --git a/packages/backend/src/controllers/api/v1/apps/get-oauth-clients.ee.test.js b/packages/backend/src/controllers/api/v1/apps/get-oauth-clients.ee.test.js deleted file mode 100644 index 4e4b8508..00000000 --- a/packages/backend/src/controllers/api/v1/apps/get-oauth-clients.ee.test.js +++ /dev/null @@ -1,42 +0,0 @@ -import { vi, describe, it, expect, beforeEach } from 'vitest'; -import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import getOAuthClientsMock from '../../../../../test/mocks/rest/api/v1/apps/get-oauth-clients.js'; -import { createOAuthClient } from '../../../../../test/factories/oauth-client.js'; -import * as license from '../../../../helpers/license.ee.js'; - -describe('GET /api/v1/apps/:appKey/oauth-clients', () => { - let currentUser, token; - - beforeEach(async () => { - vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); - - currentUser = await createUser(); - - token = await createAuthTokenByUserId(currentUser.id); - }); - - it('should return specified oauth client info', async () => { - const oauthClientOne = await createOAuthClient({ - appKey: 'deepl', - }); - - const oauthClientTwo = await createOAuthClient({ - appKey: 'deepl', - }); - - const response = await request(app) - .get('/api/v1/apps/deepl/oauth-clients') - .set('Authorization', token) - .expect(200); - - const expectedPayload = getOAuthClientsMock([ - oauthClientTwo, - oauthClientOne, - ]); - - expect(response.body).toStrictEqual(expectedPayload); - }); -}); diff --git a/packages/backend/src/controllers/api/v1/automatisch/notifications.test.js b/packages/backend/src/controllers/api/v1/automatisch/notifications.test.js deleted file mode 100644 index ddfdd90e..00000000 --- a/packages/backend/src/controllers/api/v1/automatisch/notifications.test.js +++ /dev/null @@ -1,9 +0,0 @@ -import { describe, it } from 'vitest'; -import request from 'supertest'; -import app from '../../../../app.js'; - -describe('GET /api/v1/automatisch/notifications', () => { - it('should return Automatisch notifications', async () => { - await request(app).get('/api/v1/automatisch/notifications').expect(200); - }); -}); diff --git a/packages/backend/src/controllers/api/v1/automatisch/version.js b/packages/backend/src/controllers/api/v1/automatisch/version.js deleted file mode 100644 index 1f8915f4..00000000 --- a/packages/backend/src/controllers/api/v1/automatisch/version.js +++ /dev/null @@ -1,6 +0,0 @@ -import appConfig from '../../../../config/app.js'; -import { renderObject } from '../../../../helpers/renderer.js'; - -export default async (request, response) => { - renderObject(response, { version: appConfig.version }); -}; diff --git a/packages/backend/src/controllers/api/v1/payment/get-paddle-info.ee.js b/packages/backend/src/controllers/api/v1/payment/get-paddle-info.ee.js deleted file mode 100644 index ca4fefe4..00000000 --- a/packages/backend/src/controllers/api/v1/payment/get-paddle-info.ee.js +++ /dev/null @@ -1,8 +0,0 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import Billing from '../../../../helpers/billing/index.ee.js'; - -export default async (request, response) => { - const paddleInfo = Billing.paddleInfo; - - renderObject(response, paddleInfo); -}; diff --git a/packages/backend/src/controllers/api/v1/access-tokens/create-access-token.js b/packages/backend/src/controllers/internal/api/v1/access-tokens/create-access-token.js similarity index 69% rename from packages/backend/src/controllers/api/v1/access-tokens/create-access-token.js rename to packages/backend/src/controllers/internal/api/v1/access-tokens/create-access-token.js index 5fe162a9..3ce34d02 100644 --- a/packages/backend/src/controllers/api/v1/access-tokens/create-access-token.js +++ b/packages/backend/src/controllers/internal/api/v1/access-tokens/create-access-token.js @@ -1,5 +1,5 @@ -import User from '../../../../models/user.js'; -import { renderObject, renderError } from '../../../../helpers/renderer.js'; +import User from '../../../../../models/user.js'; +import { renderObject, renderError } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const { email, password } = request.body; diff --git a/packages/backend/src/controllers/api/v1/access-tokens/create-access-token.test.js b/packages/backend/src/controllers/internal/api/v1/access-tokens/create-access-token.test.js similarity index 76% rename from packages/backend/src/controllers/api/v1/access-tokens/create-access-token.test.js rename to packages/backend/src/controllers/internal/api/v1/access-tokens/create-access-token.test.js index 2232cb5e..6d19ea82 100644 --- a/packages/backend/src/controllers/api/v1/access-tokens/create-access-token.test.js +++ b/packages/backend/src/controllers/internal/api/v1/access-tokens/create-access-token.test.js @@ -1,9 +1,9 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import { createUser } from '../../../../../test/factories/user'; +import app from '../../../../../app.js'; +import { createUser } from '../../../../../../test/factories/user.js'; -describe('POST /api/v1/access-tokens', () => { +describe('POST /internal/api/v1/access-tokens', () => { beforeEach(async () => { await createUser({ email: 'user@automatisch.io', @@ -13,7 +13,7 @@ describe('POST /api/v1/access-tokens', () => { it('should return the token data with correct credentials', async () => { const response = await request(app) - .post('/api/v1/access-tokens') + .post('/internal/api/v1/access-tokens') .send({ email: 'user@automatisch.io', password: 'password', @@ -25,7 +25,7 @@ describe('POST /api/v1/access-tokens', () => { it('should return error with incorrect credentials', async () => { const response = await request(app) - .post('/api/v1/access-tokens') + .post('/internal/api/v1/access-tokens') .send({ email: 'incorrect@email.com', password: 'incorrectpassword', diff --git a/packages/backend/src/controllers/api/v1/access-tokens/revoke-access-token.js b/packages/backend/src/controllers/internal/api/v1/access-tokens/revoke-access-token.js similarity index 100% rename from packages/backend/src/controllers/api/v1/access-tokens/revoke-access-token.js rename to packages/backend/src/controllers/internal/api/v1/access-tokens/revoke-access-token.js diff --git a/packages/backend/src/controllers/api/v1/access-tokens/revoke-access-token.test.js b/packages/backend/src/controllers/internal/api/v1/access-tokens/revoke-access-token.test.js similarity index 72% rename from packages/backend/src/controllers/api/v1/access-tokens/revoke-access-token.test.js rename to packages/backend/src/controllers/internal/api/v1/access-tokens/revoke-access-token.test.js index 1651418a..aeeb223b 100644 --- a/packages/backend/src/controllers/api/v1/access-tokens/revoke-access-token.test.js +++ b/packages/backend/src/controllers/internal/api/v1/access-tokens/revoke-access-token.test.js @@ -1,11 +1,11 @@ import { expect, describe, it, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user.js'; -import AccessToken from '../../../../models/access-token.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import AccessToken from '../../../../../models/access-token.js'; -describe('DELETE /api/v1/access-tokens/:token', () => { +describe('DELETE /internal/api/v1/access-tokens/:token', () => { let token; beforeEach(async () => { @@ -18,7 +18,7 @@ describe('DELETE /api/v1/access-tokens/:token', () => { it('should respond with HTTP 204 with correct token', async () => { await request(app) - .delete(`/api/v1/access-tokens/${token}`) + .delete(`/internal/api/v1/access-tokens/${token}`) .set('Authorization', token) .expect(204); @@ -30,7 +30,7 @@ describe('DELETE /api/v1/access-tokens/:token', () => { it('should respond with HTTP 401 with incorrect credentials', async () => { await request(app) - .delete(`/api/v1/access-tokens/${token}`) + .delete(`/internal/api/v1/access-tokens/${token}`) .set('Authorization', 'wrong-token') .expect(401); @@ -42,7 +42,7 @@ describe('DELETE /api/v1/access-tokens/:token', () => { it('should respond with HTTP 404 with correct credentials, but non-valid token', async () => { await request(app) - .delete('/api/v1/access-tokens/wrong-token') + .delete('/internal/api/v1/access-tokens/wrong-token') .set('Authorization', token) .expect(404); diff --git a/packages/backend/src/controllers/api/v1/admin/api-tokens/create-api-token.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/create-api-token.ee.js similarity index 60% rename from packages/backend/src/controllers/api/v1/admin/api-tokens/create-api-token.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/api-tokens/create-api-token.ee.js index 2480e185..52069ffb 100644 --- a/packages/backend/src/controllers/api/v1/admin/api-tokens/create-api-token.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/create-api-token.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import ApiToken from '../../../../../models/api-token.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import ApiToken from '../../../../../../models/api-token.ee.js'; export default async (request, response) => { const apiToken = await ApiToken.query().insertAndFetch({}); diff --git a/packages/backend/src/controllers/api/v1/admin/api-tokens/create-api-token.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/create-api-token.ee.test.js similarity index 54% rename from packages/backend/src/controllers/api/v1/admin/api-tokens/create-api-token.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/api-tokens/create-api-token.ee.test.js index 7f2a735e..a7758784 100644 --- a/packages/backend/src/controllers/api/v1/admin/api-tokens/create-api-token.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/create-api-token.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import ApiToken from '../../../../../models/api-token.ee.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import createApiTokenMock from '../../../../../../test/mocks/rest/api/v1/admin/api-tokens/create-api-token.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import ApiToken from '../../../../../../models/api-token.ee.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import createApiTokenMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/api-tokens/create-api-token.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('POST /api/v1/admin/api-tokens', () => { +describe('POST /internal/api/v1/admin/api-tokens', () => { let currentUser, token, role; beforeEach(async () => { @@ -22,7 +22,7 @@ describe('POST /api/v1/admin/api-tokens', () => { it('should return the created api token', async () => { const response = await request(app) - .post('/api/v1/admin/api-tokens') + .post('/internal/api/v1/admin/api-tokens') .set('Authorization', token) .expect(201); diff --git a/packages/backend/src/controllers/api/v1/admin/api-tokens/delete-api-token.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/delete-api-token.ee.js similarity index 76% rename from packages/backend/src/controllers/api/v1/admin/api-tokens/delete-api-token.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/api-tokens/delete-api-token.ee.js index 9a51d928..af39ca31 100644 --- a/packages/backend/src/controllers/api/v1/admin/api-tokens/delete-api-token.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/delete-api-token.ee.js @@ -1,4 +1,4 @@ -import ApiToken from '../../../../../models/api-token.ee.js'; +import ApiToken from '../../../../../../models/api-token.ee.js'; export default async (request, response) => { const apiToken = await ApiToken.query() diff --git a/packages/backend/src/controllers/api/v1/admin/api-tokens/delete-api-token.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/delete-api-token.ee.test.js similarity index 60% rename from packages/backend/src/controllers/api/v1/admin/api-tokens/delete-api-token.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/api-tokens/delete-api-token.ee.test.js index d8745774..f1f966a0 100644 --- a/packages/backend/src/controllers/api/v1/admin/api-tokens/delete-api-token.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/delete-api-token.ee.test.js @@ -1,14 +1,14 @@ import Crypto from 'node:crypto'; import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createApiToken } from '../../../../../../test/factories/api-token.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createApiToken } from '../../../../../../../test/factories/api-token.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('DELETE /api/v1/admin/api-tokens/:id', () => { +describe('DELETE /internal/api/v1/admin/api-tokens/:id', () => { let adminRole, currentUser, token; beforeEach(async () => { @@ -25,7 +25,7 @@ describe('DELETE /api/v1/admin/api-tokens/:id', () => { const apiToken = await createApiToken(); await request(app) - .delete(`/api/v1/admin/api-tokens/${apiToken.id}`) + .delete(`/internal/api/v1/admin/api-tokens/${apiToken.id}`) .set('Authorization', token) .expect(204); @@ -38,7 +38,7 @@ describe('DELETE /api/v1/admin/api-tokens/:id', () => { const notExistingApiTokenId = Crypto.randomUUID(); await request(app) - .delete(`/api/v1/admin/api-tokens/${notExistingApiTokenId}`) + .delete(`/internal/api/v1/admin/api-tokens/${notExistingApiTokenId}`) .set('Authorization', token) .expect(404); }); diff --git a/packages/backend/src/controllers/api/v1/admin/api-tokens/get-api-tokens.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/get-api-tokens.ee.js similarity index 59% rename from packages/backend/src/controllers/api/v1/admin/api-tokens/get-api-tokens.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/api-tokens/get-api-tokens.ee.js index 8179fc02..cfddaa17 100644 --- a/packages/backend/src/controllers/api/v1/admin/api-tokens/get-api-tokens.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/get-api-tokens.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import ApiToken from '../../../../../models/api-token.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import ApiToken from '../../../../../../models/api-token.ee.js'; export default async (request, response) => { const apiTokens = await ApiToken.query().orderBy('created_at', 'desc'); diff --git a/packages/backend/src/controllers/api/v1/admin/api-tokens/get-api-tokens.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/get-api-tokens.ee.test.js similarity index 55% rename from packages/backend/src/controllers/api/v1/admin/api-tokens/get-api-tokens.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/api-tokens/get-api-tokens.ee.test.js index 4a7192f2..bf599807 100644 --- a/packages/backend/src/controllers/api/v1/admin/api-tokens/get-api-tokens.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/api-tokens/get-api-tokens.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import getAdminApiTokensMock from '../../../../../../test/mocks/rest/api/v1/admin/api-tokens/get-api-tokens.js'; -import { createApiToken } from '../../../../../../test/factories/api-token.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import getAdminApiTokensMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/api-tokens/get-api-tokens.js'; +import { createApiToken } from '../../../../../../../test/factories/api-token.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/api-tokens', () => { +describe('GET /internal/api/v1/admin/api-tokens', () => { let currentUser, adminRole, token; beforeEach(async () => { @@ -25,7 +25,7 @@ describe('GET /api/v1/admin/api-tokens', () => { const apiTokenTwo = await createApiToken(); const response = await request(app) - .get('/api/v1/admin/api-tokens') + .get('/internal/api/v1/admin/api-tokens') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/create-config.ee.js similarity index 75% rename from packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/apps/create-config.ee.js index 5ae08ea4..e0b27ae4 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/create-config.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import AppConfig from '../../../../../models/app-config.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import AppConfig from '../../../../../../models/app-config.js'; export default async (request, response) => { const createdAppConfig = await AppConfig.query().insertAndFetch( diff --git a/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/create-config.ee.test.js similarity index 65% rename from packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/apps/create-config.ee.test.js index 3ee2bab4..8877e31c 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/create-config.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/create-config.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import createAppConfigMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/create-config.js'; -import { createAppConfig } from '../../../../../../test/factories/app-config.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import createAppConfigMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/create-config.js'; +import { createAppConfig } from '../../../../../../../test/factories/app-config.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('POST /api/v1/admin/apps/:appKey/config', () => { +describe('POST /internal/api/v1/admin/apps/:appKey/config', () => { let currentUser, adminRole, token; beforeEach(async () => { @@ -28,7 +28,7 @@ describe('POST /api/v1/admin/apps/:appKey/config', () => { }; const response = await request(app) - .post('/api/v1/admin/apps/gitlab/config') + .post('/internal/api/v1/admin/apps/gitlab/config') .set('Authorization', token) .send(appConfig) .expect(201); @@ -51,7 +51,7 @@ describe('POST /api/v1/admin/apps/:appKey/config', () => { await createAppConfig(appConfig); const response = await request(app) - .post('/api/v1/admin/apps/gitlab/config') + .post('/internal/api/v1/admin/apps/gitlab/config') .set('Authorization', token) .send({ disabled: false, diff --git a/packages/backend/src/controllers/api/v1/admin/apps/create-oauth-client.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/create-oauth-client.ee.js similarity index 79% rename from packages/backend/src/controllers/api/v1/admin/apps/create-oauth-client.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/apps/create-oauth-client.ee.js index 0120e2af..8325d0cd 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/create-oauth-client.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/create-oauth-client.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import AppConfig from '../../../../../models/app-config.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import AppConfig from '../../../../../../models/app-config.js'; export default async (request, response) => { const appConfig = await AppConfig.query() diff --git a/packages/backend/src/controllers/api/v1/admin/apps/create-oauth-client.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/create-oauth-client.ee.test.js similarity index 77% rename from packages/backend/src/controllers/api/v1/admin/apps/create-oauth-client.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/apps/create-oauth-client.ee.test.js index 8f1eedde..2a8db369 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/create-oauth-client.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/create-oauth-client.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import createOAuthClientMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/create-oauth-client.js'; -import { createAppConfig } from '../../../../../../test/factories/app-config.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import createOAuthClientMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/create-oauth-client.js'; +import { createAppConfig } from '../../../../../../../test/factories/app-config.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => { +describe('POST /internal/api/v1/admin/apps/:appKey/oauth-clients', () => { let currentUser, adminRole, token; beforeEach(async () => { @@ -39,7 +39,7 @@ describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => { }; const response = await request(app) - .post('/api/v1/admin/apps/gitlab/oauth-clients') + .post('/internal/api/v1/admin/apps/gitlab/oauth-clients') .set('Authorization', token) .send(oauthClient) .expect(201); @@ -66,7 +66,7 @@ describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => { }; const response = await request(app) - .post('/api/v1/admin/apps/deepl/oauth-clients') + .post('/internal/api/v1/admin/apps/deepl/oauth-clients') .set('Authorization', token) .send(oauthClient) .expect(422); @@ -90,7 +90,7 @@ describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => { }; await request(app) - .post('/api/v1/admin/apps/gitlab/oauth-clients') + .post('/internal/api/v1/admin/apps/gitlab/oauth-clients') .set('Authorization', token) .send(oauthClient) .expect(404); @@ -106,7 +106,7 @@ describe('POST /api/v1/admin/apps/:appKey/oauth-clients', () => { }; const response = await request(app) - .post('/api/v1/admin/apps/gitlab/oauth-clients') + .post('/internal/api/v1/admin/apps/gitlab/oauth-clients') .set('Authorization', token) .send(oauthClient) .expect(422); diff --git a/packages/backend/src/controllers/api/v1/apps/get-oauth-client.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-client.ee.js similarity index 52% rename from packages/backend/src/controllers/api/v1/apps/get-oauth-client.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-client.ee.js index 2577f27d..c04e1beb 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-oauth-client.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-client.ee.js @@ -1,10 +1,10 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import OAuthClient from '../../../../models/oauth-client.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import OAuthClient from '../../../../../../models/oauth-client.js'; export default async (request, response) => { const oauthClient = await OAuthClient.query() .findById(request.params.oauthClientId) - .where({ app_key: request.params.appKey, active: true }) + .where({ app_key: request.params.appKey }) .throwIfNotFound(); renderObject(response, oauthClient); diff --git a/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-client.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-client.ee.test.js new file mode 100644 index 00000000..2650e561 --- /dev/null +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-client.ee.test.js @@ -0,0 +1,59 @@ +import { vi, describe, it, expect, beforeEach } from 'vitest'; +import request from 'supertest'; +import Crypto from 'crypto'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import getOAuthClientMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/get-oauth-client.js'; +import { createOAuthClient } from '../../../../../../../test/factories/oauth-client.js'; +import * as license from '../../../../../../helpers/license.ee.js'; + +describe('GET /internal/api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => { + let currentUser, adminRole, currentOAuthClient, token; + + beforeEach(async () => { + vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); + + adminRole = await createRole({ name: 'Admin' }); + currentUser = await createUser({ roleId: adminRole.id }); + + currentOAuthClient = await createOAuthClient({ + appKey: 'deepl', + }); + + token = await createAuthTokenByUserId(currentUser.id); + }); + + it('should return specified oauth client', async () => { + const response = await request(app) + .get( + `/internal/api/v1/admin/apps/deepl/oauth-clients/${currentOAuthClient.id}` + ) + .set('Authorization', token) + .expect(200); + + const expectedPayload = getOAuthClientMock(currentOAuthClient); + expect(response.body).toStrictEqual(expectedPayload); + }); + + it('should return not found response for not existing oauth client ID', async () => { + const notExistingOAuthClientUUID = Crypto.randomUUID(); + + await request(app) + .get( + `/internal/api/v1/admin/apps/deepl/oauth-clients/${notExistingOAuthClientUUID}` + ) + .set('Authorization', token) + .expect(404); + }); + + it('should return bad request response for invalid UUID', async () => { + await request(app) + .get( + '/internal/api/v1/admin/apps/deepl/oauth-clients/invalidOAuthClientUUID' + ) + .set('Authorization', token) + .expect(400); + }); +}); diff --git a/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-clients.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-clients.ee.js new file mode 100644 index 00000000..175e5367 --- /dev/null +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-clients.ee.js @@ -0,0 +1,10 @@ +import { renderObject } from '../../../../../../helpers/renderer.js'; +import OAuthClient from '../../../../../../models/oauth-client.js'; + +export default async (request, response) => { + const oauthClients = await OAuthClient.query() + .where({ app_key: request.params.appKey }) + .orderBy('created_at', 'desc'); + + renderObject(response, oauthClients); +}; diff --git a/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-clients.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-clients.ee.test.js new file mode 100644 index 00000000..8d6cb5b0 --- /dev/null +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/get-oauth-clients.ee.test.js @@ -0,0 +1,44 @@ +import { vi, describe, it, expect, beforeEach } from 'vitest'; +import request from 'supertest'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import getAdminOAuthClientsMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/get-oauth-clients.js'; +import { createOAuthClient } from '../../../../../../../test/factories/oauth-client.js'; +import * as license from '../../../../../../helpers/license.ee.js'; + +describe('GET /internal/api/v1/admin/apps/:appKey/oauth-clients', () => { + let currentUser, adminRole, token; + + beforeEach(async () => { + vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); + + adminRole = await createRole({ name: 'Admin' }); + currentUser = await createUser({ roleId: adminRole.id }); + + token = await createAuthTokenByUserId(currentUser.id); + }); + + it('should return specified oauth client info', async () => { + const oauthClientOne = await createOAuthClient({ + appKey: 'deepl', + }); + + const oauthClientTwo = await createOAuthClient({ + appKey: 'deepl', + }); + + const response = await request(app) + .get('/internal/api/v1/admin/apps/deepl/oauth-clients') + .set('Authorization', token) + .expect(200); + + const expectedPayload = getAdminOAuthClientsMock([ + oauthClientTwo, + oauthClientOne, + ]); + + expect(response.body).toStrictEqual(expectedPayload); + }); +}); diff --git a/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/update-config.ee.js similarity index 78% rename from packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/apps/update-config.ee.js index c0d5160d..05b82f40 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/update-config.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import AppConfig from '../../../../../models/app-config.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import AppConfig from '../../../../../../models/app-config.js'; export default async (request, response) => { const appConfig = await AppConfig.query() diff --git a/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/update-config.ee.test.js similarity index 70% rename from packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/apps/update-config.ee.test.js index 5894424d..9d31fdd1 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/update-config.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/update-config.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import createAppConfigMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/create-config.js'; -import { createAppConfig } from '../../../../../../test/factories/app-config.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import createAppConfigMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/create-config.js'; +import { createAppConfig } from '../../../../../../../test/factories/app-config.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('PATCH /api/v1/admin/apps/:appKey/config', () => { +describe('PATCH /internal/api/v1/admin/apps/:appKey/config', () => { let currentUser, adminRole, token; beforeEach(async () => { @@ -36,7 +36,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => { }; const response = await request(app) - .patch('/api/v1/admin/apps/gitlab/config') + .patch('/internal/api/v1/admin/apps/gitlab/config') .set('Authorization', token) .send(newAppConfigValues) .expect(200); @@ -56,7 +56,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => { }; await request(app) - .patch('/api/v1/admin/apps/gitlab/config') + .patch('/internal/api/v1/admin/apps/gitlab/config') .set('Authorization', token) .send(appConfig) .expect(404); @@ -72,7 +72,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/config', () => { await createAppConfig(appConfig); const response = await request(app) - .patch('/api/v1/admin/apps/gitlab/config') + .patch('/internal/api/v1/admin/apps/gitlab/config') .set('Authorization', token) .send({ disabled: 'invalid value type', diff --git a/packages/backend/src/controllers/api/v1/admin/apps/update-oauth-client.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/update-oauth-client.ee.js similarity index 76% rename from packages/backend/src/controllers/api/v1/admin/apps/update-oauth-client.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/apps/update-oauth-client.ee.js index 7e9c3f7a..2e60f484 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/update-oauth-client.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/update-oauth-client.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import OAuthClient from '../../../../../models/oauth-client.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import OAuthClient from '../../../../../../models/oauth-client.js'; export default async (request, response) => { const oauthClient = await OAuthClient.query() diff --git a/packages/backend/src/controllers/api/v1/admin/apps/update-oauth-client.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/apps/update-oauth-client.ee.test.js similarity index 68% rename from packages/backend/src/controllers/api/v1/admin/apps/update-oauth-client.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/apps/update-oauth-client.ee.test.js index 9d28bb34..662baf74 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/update-oauth-client.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/apps/update-oauth-client.ee.test.js @@ -2,16 +2,16 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import updateOAuthClientMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/update-oauth-client.js'; -import { createAppConfig } from '../../../../../../test/factories/app-config.js'; -import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import updateOAuthClientMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/apps/update-oauth-client.js'; +import { createAppConfig } from '../../../../../../../test/factories/app-config.js'; +import { createOAuthClient } from '../../../../../../../test/factories/oauth-client.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => { +describe('PATCH /internal/api/v1/admin/apps/:appKey/oauth-clients', () => { let currentUser, adminRole, token; beforeEach(async () => { @@ -46,7 +46,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => { const response = await request(app) .patch( - `/api/v1/admin/apps/gitlab/oauth-clients/${existingOAuthClient.id}` + `/internal/api/v1/admin/apps/gitlab/oauth-clients/${existingOAuthClient.id}` ) .set('Authorization', token) .send(oauthClient) @@ -65,7 +65,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => { await request(app) .patch( - `/api/v1/admin/apps/gitlab/oauth-clients/${notExistingOAuthClientId}` + `/internal/api/v1/admin/apps/gitlab/oauth-clients/${notExistingOAuthClientId}` ) .set('Authorization', token) .expect(404); @@ -73,7 +73,9 @@ describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => { it('should return bad request response for invalid UUID', async () => { await request(app) - .patch('/api/v1/admin/apps/gitlab/oauth-clients/invalidAuthClientUUID') + .patch( + '/internal/api/v1/admin/apps/gitlab/oauth-clients/invalidAuthClientUUID' + ) .set('Authorization', token) .expect(400); }); @@ -90,7 +92,7 @@ describe('PATCH /api/v1/admin/apps/:appKey/oauth-clients', () => { const response = await request(app) .patch( - `/api/v1/admin/apps/gitlab/oauth-clients/${existingOAuthClient.id}` + `/internal/api/v1/admin/apps/gitlab/oauth-clients/${existingOAuthClient.id}` ) .set('Authorization', token) .send(oauthClient) diff --git a/packages/backend/src/controllers/api/v1/admin/config/update.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/config/update.ee.js similarity index 87% rename from packages/backend/src/controllers/api/v1/admin/config/update.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/config/update.ee.js index 750cd5d4..537db793 100644 --- a/packages/backend/src/controllers/api/v1/admin/config/update.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/config/update.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import Config from '../../../../../models/config.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import Config from '../../../../../../models/config.js'; export default async (request, response) => { const config = await Config.query().updateFirstOrInsert( diff --git a/packages/backend/src/controllers/api/v1/admin/config/update.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/config/update.ee.test.js similarity index 83% rename from packages/backend/src/controllers/api/v1/admin/config/update.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/config/update.ee.test.js index 7f81e799..626ce470 100644 --- a/packages/backend/src/controllers/api/v1/admin/config/update.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/config/update.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { updateConfig } from '../../../../../../test/factories/config.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { updateConfig } from '../../../../../../../test/factories/config.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('PATCH /api/v1/admin/config', () => { +describe('PATCH /internal/api/v1/admin/config', () => { let currentUser, adminRole, token; beforeEach(async () => { @@ -66,7 +66,7 @@ describe('PATCH /api/v1/admin/config', () => { }; const response = await request(app) - .patch('/api/v1/admin/config') + .patch('/internal/api/v1/admin/config') .set('Authorization', token) .send(newConfigValues) .expect(200); @@ -83,7 +83,7 @@ describe('PATCH /api/v1/admin/config', () => { }; const response = await request(app) - .patch('/api/v1/admin/config') + .patch('/internal/api/v1/admin/config') .set('Authorization', token) .send(newConfigValues) .expect(200); @@ -98,7 +98,7 @@ describe('PATCH /api/v1/admin/config', () => { }; const response = await request(app) - .patch('/api/v1/admin/config') + .patch('/internal/api/v1/admin/config') .set('Authorization', token) .send(newConfigValues) .expect(200); diff --git a/packages/backend/src/controllers/internal/api/v1/admin/permissions/get-permissions-catalog.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/permissions/get-permissions-catalog.ee.js new file mode 100644 index 00000000..baff43cd --- /dev/null +++ b/packages/backend/src/controllers/internal/api/v1/admin/permissions/get-permissions-catalog.ee.js @@ -0,0 +1,6 @@ +import { renderObject } from '../../../../../../helpers/renderer.js'; +import permissionCatalog from '../../../../../../helpers/permission-catalog.ee.js'; + +export default async (request, response) => { + renderObject(response, permissionCatalog); +}; diff --git a/packages/backend/src/controllers/api/v1/admin/permissions/get-permissions-catalog.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/permissions/get-permissions-catalog.ee.test.js similarity index 51% rename from packages/backend/src/controllers/api/v1/admin/permissions/get-permissions-catalog.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/permissions/get-permissions-catalog.ee.test.js index f491ba74..e4711bcb 100644 --- a/packages/backend/src/controllers/api/v1/admin/permissions/get-permissions-catalog.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/permissions/get-permissions-catalog.ee.test.js @@ -1,13 +1,13 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import getPermissionsCatalogMock from '../../../../../../test/mocks/rest/api/v1/admin/permissions/get-permissions-catalog.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import getPermissionsCatalogMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/permissions/get-permissions-catalog.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/permissions/catalog', () => { +describe('GET /internal/api/v1/admin/permissions/catalog', () => { let role, currentUser, token; beforeEach(async () => { @@ -21,7 +21,7 @@ describe('GET /api/v1/admin/permissions/catalog', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); const response = await request(app) - .get('/api/v1/admin/permissions/catalog') + .get('/internal/api/v1/admin/permissions/catalog') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/admin/roles/create-role.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/create-role.ee.js similarity index 77% rename from packages/backend/src/controllers/api/v1/admin/roles/create-role.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/create-role.ee.js index 124de644..f3950b16 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/create-role.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/create-role.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import Role from '../../../../../models/role.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import Role from '../../../../../../models/role.js'; export default async (request, response) => { const roleData = roleParams(request); diff --git a/packages/backend/src/controllers/api/v1/admin/roles/create-role.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/create-role.ee.test.js similarity index 76% rename from packages/backend/src/controllers/api/v1/admin/roles/create-role.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/create-role.ee.test.js index 2d10fc82..c8a9a264 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/create-role.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/create-role.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import Role from '../../../../../models/role.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import createRoleMock from '../../../../../../test/mocks/rest/api/v1/admin/roles/create-role.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import Role from '../../../../../../models/role.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import createRoleMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/roles/create-role.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('POST /api/v1/admin/roles', () => { +describe('POST /internal/api/v1/admin/roles', () => { let role, currentUser, token; beforeEach(async () => { @@ -34,7 +34,7 @@ describe('POST /api/v1/admin/roles', () => { }; const response = await request(app) - .post('/api/v1/admin/roles') + .post('/internal/api/v1/admin/roles') .set('Authorization', token) .send(roleData) .expect(201); @@ -68,7 +68,7 @@ describe('POST /api/v1/admin/roles', () => { }; const response = await request(app) - .post('/api/v1/admin/roles') + .post('/internal/api/v1/admin/roles') .set('Authorization', token) .send(roleData) .expect(422); @@ -92,7 +92,7 @@ describe('POST /api/v1/admin/roles', () => { }; const response = await request(app) - .post('/api/v1/admin/roles') + .post('/internal/api/v1/admin/roles') .set('Authorization', token) .send(roleData) .expect(422); diff --git a/packages/backend/src/controllers/api/v1/admin/roles/delete-role.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/delete-role.ee.js similarity index 80% rename from packages/backend/src/controllers/api/v1/admin/roles/delete-role.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/delete-role.ee.js index 99eb00fd..8c3bb2b1 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/delete-role.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/delete-role.ee.js @@ -1,4 +1,4 @@ -import Role from '../../../../../models/role.js'; +import Role from '../../../../../../models/role.js'; export default async (request, response) => { const role = await Role.query() diff --git a/packages/backend/src/controllers/api/v1/admin/roles/delete-role.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/delete-role.ee.test.js similarity index 71% rename from packages/backend/src/controllers/api/v1/admin/roles/delete-role.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/delete-role.ee.test.js index 839acc19..6fddcda8 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/delete-role.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/delete-role.ee.test.js @@ -1,15 +1,15 @@ import Crypto from 'node:crypto'; import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createPermission } from '../../../../../../test/factories/permission.js'; -import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createPermission } from '../../../../../../../test/factories/permission.js'; +import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('DELETE /api/v1/admin/roles/:roleId', () => { +describe('DELETE /internal/api/v1/admin/roles/:roleId', () => { let adminRole, currentUser, token; beforeEach(async () => { @@ -27,7 +27,7 @@ describe('DELETE /api/v1/admin/roles/:roleId', () => { const permission = await createPermission({ roleId: role.id }); await request(app) - .delete(`/api/v1/admin/roles/${role.id}`) + .delete(`/internal/api/v1/admin/roles/${role.id}`) .set('Authorization', token) .expect(204); @@ -42,14 +42,14 @@ describe('DELETE /api/v1/admin/roles/:roleId', () => { const notExistingRoleUUID = Crypto.randomUUID(); await request(app) - .delete(`/api/v1/admin/roles/${notExistingRoleUUID}`) + .delete(`/internal/api/v1/admin/roles/${notExistingRoleUUID}`) .set('Authorization', token) .expect(404); }); it('should return not authorized response for deleting admin role', async () => { await request(app) - .delete(`/api/v1/admin/roles/${adminRole.id}`) + .delete(`/internal/api/v1/admin/roles/${adminRole.id}`) .set('Authorization', token) .expect(403); }); @@ -59,7 +59,7 @@ describe('DELETE /api/v1/admin/roles/:roleId', () => { await createUser({ roleId: role.id }); const response = await request(app) - .delete(`/api/v1/admin/roles/${role.id}`) + .delete(`/internal/api/v1/admin/roles/${role.id}`) .set('Authorization', token) .expect(422); @@ -77,7 +77,7 @@ describe('DELETE /api/v1/admin/roles/:roleId', () => { const samlAuthProvider = await createSamlAuthProvider(); const response = await request(app) - .delete(`/api/v1/admin/roles/${samlAuthProvider.defaultRoleId}`) + .delete(`/internal/api/v1/admin/roles/${samlAuthProvider.defaultRoleId}`) .set('Authorization', token) .expect(422); diff --git a/packages/backend/src/controllers/api/v1/admin/roles/get-role.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/get-role.ee.js similarity index 70% rename from packages/backend/src/controllers/api/v1/admin/roles/get-role.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/get-role.ee.js index 57733ae8..b912a560 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/get-role.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/get-role.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import Role from '../../../../../models/role.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import Role from '../../../../../../models/role.js'; export default async (request, response) => { const role = await Role.query() diff --git a/packages/backend/src/controllers/api/v1/admin/roles/get-role.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/get-role.ee.test.js similarity index 64% rename from packages/backend/src/controllers/api/v1/admin/roles/get-role.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/get-role.ee.test.js index 1a51fb3c..8e038790 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/get-role.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/get-role.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createPermission } from '../../../../../../test/factories/permission.js'; -import getRoleMock from '../../../../../../test/mocks/rest/api/v1/admin/roles/get-role.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createPermission } from '../../../../../../../test/factories/permission.js'; +import getRoleMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/roles/get-role.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/roles/:roleId', () => { +describe('GET /internal/api/v1/admin/roles/:roleId', () => { let role, currentUser, token, permissionOne, permissionTwo; beforeEach(async () => { @@ -25,7 +25,7 @@ describe('GET /api/v1/admin/roles/:roleId', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); const response = await request(app) - .get(`/api/v1/admin/roles/${role.id}`) + .get(`/internal/api/v1/admin/roles/${role.id}`) .set('Authorization', token) .expect(200); @@ -43,7 +43,7 @@ describe('GET /api/v1/admin/roles/:roleId', () => { const notExistingRoleUUID = Crypto.randomUUID(); await request(app) - .get(`/api/v1/admin/roles/${notExistingRoleUUID}`) + .get(`/internal/api/v1/admin/roles/${notExistingRoleUUID}`) .set('Authorization', token) .expect(404); }); @@ -52,7 +52,7 @@ describe('GET /api/v1/admin/roles/:roleId', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); await request(app) - .get('/api/v1/admin/roles/invalidRoleUUID') + .get('/internal/api/v1/admin/roles/invalidRoleUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/admin/roles/get-roles.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/get-roles.ee.js similarity index 52% rename from packages/backend/src/controllers/api/v1/admin/roles/get-roles.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/get-roles.ee.js index 3193b3e0..cc833662 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/get-roles.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/get-roles.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import Role from '../../../../../models/role.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import Role from '../../../../../../models/role.js'; export default async (request, response) => { const roles = await Role.query().orderBy('name'); diff --git a/packages/backend/src/controllers/api/v1/admin/roles/get-roles.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/get-roles.ee.test.js similarity index 56% rename from packages/backend/src/controllers/api/v1/admin/roles/get-roles.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/get-roles.ee.test.js index facee6d8..88fb4d22 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/get-roles.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/get-roles.ee.test.js @@ -1,13 +1,13 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import getRolesMock from '../../../../../../test/mocks/rest/api/v1/admin/roles/get-roles.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import getRolesMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/roles/get-roles.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/roles', () => { +describe('GET /internal/api/v1/admin/roles', () => { let roleOne, roleTwo, currentUser, token; beforeEach(async () => { @@ -22,7 +22,7 @@ describe('GET /api/v1/admin/roles', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); const response = await request(app) - .get('/api/v1/admin/roles') + .get('/internal/api/v1/admin/roles') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/admin/roles/update-role.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/update-role.ee.js similarity index 78% rename from packages/backend/src/controllers/api/v1/admin/roles/update-role.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/update-role.ee.js index de8a9aa4..d89351a2 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/update-role.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/update-role.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import Role from '../../../../../models/role.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import Role from '../../../../../../models/role.js'; export default async (request, response) => { const role = await Role.query() diff --git a/packages/backend/src/controllers/api/v1/admin/roles/update-role.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/roles/update-role.ee.test.js similarity index 80% rename from packages/backend/src/controllers/api/v1/admin/roles/update-role.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/roles/update-role.ee.test.js index b5e5961f..b7a0fb05 100644 --- a/packages/backend/src/controllers/api/v1/admin/roles/update-role.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/roles/update-role.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createPermission } from '../../../../../../test/factories/permission.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import updateRoleMock from '../../../../../../test/mocks/rest/api/v1/admin/roles/update-role.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createPermission } from '../../../../../../../test/factories/permission.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import updateRoleMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/roles/update-role.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('PATCH /api/v1/admin/roles/:roleId', () => { +describe('PATCH /internal/api/v1/admin/roles/:roleId', () => { let adminRole, viewerRole, currentUser, token; beforeEach(async () => { @@ -46,7 +46,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => { }; const response = await request(app) - .patch(`/api/v1/admin/roles/${viewerRole.id}`) + .patch(`/internal/api/v1/admin/roles/${viewerRole.id}`) .set('Authorization', token) .send(roleData) .expect(200); @@ -90,7 +90,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => { }; const response = await request(app) - .patch(`/api/v1/admin/roles/${viewerRole.id}`) + .patch(`/internal/api/v1/admin/roles/${viewerRole.id}`) .set('Authorization', token) .send(roleData) .expect(200); @@ -123,7 +123,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => { }; await request(app) - .patch(`/api/v1/admin/roles/${adminRole.id}`) + .patch(`/internal/api/v1/admin/roles/${adminRole.id}`) .set('Authorization', token) .send(roleData) .expect(403); @@ -136,7 +136,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => { }; const response = await request(app) - .patch(`/api/v1/admin/roles/${viewerRole.id}`) + .patch(`/internal/api/v1/admin/roles/${viewerRole.id}`) .set('Authorization', token) .send(roleData) .expect(422); @@ -160,7 +160,7 @@ describe('PATCH /api/v1/admin/roles/:roleId', () => { }; const response = await request(app) - .patch(`/api/v1/admin/roles/${viewerRole.id}`) + .patch(`/internal/api/v1/admin/roles/${viewerRole.id}`) .set('Authorization', token) .send(roleData) .expect(422); diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js similarity index 83% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js index 0cddadf6..1eac925d 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js'; export default async (request, response) => { const samlAuthProvider = await SamlAuthProvider.query().insert( diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.test.js similarity index 76% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.test.js index eff660d9..9670cb9a 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.test.js @@ -1,13 +1,13 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import createSamlAuthProviderMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import createSamlAuthProviderMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('POST /api/v1/admin/saml-auth-provider', () => { +describe('POST /internal/api/v1/admin/saml-auth-provider', () => { let currentUser, token, role; beforeEach(async () => { @@ -35,7 +35,7 @@ describe('POST /api/v1/admin/saml-auth-provider', () => { }; const response = await request(app) - .post('/api/v1/admin/saml-auth-providers') + .post('/internal/api/v1/admin/saml-auth-providers') .set('Authorization', token) .send(samlAuthProviderPayload) .expect(201); @@ -50,7 +50,7 @@ describe('POST /api/v1/admin/saml-auth-provider', () => { it('should return unprocessable entity response for invalid data', async () => { const response = await request(app) - .post('/api/v1/admin/saml-auth-providers') + .post('/internal/api/v1/admin/saml-auth-providers') .set('Authorization', token) .send({ active: true, diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js similarity index 69% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js index 9c7f5ed7..42256528 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js'; export default async (request, response) => { const samlAuthProvider = await SamlAuthProvider.query() diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-role-mappings.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.test.js similarity index 55% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-role-mappings.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.test.js index fdac3488..7eac3d63 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-role-mappings.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js'; -import { createRoleMapping } from '../../../../../../test/factories/role-mapping.js'; -import getRoleMappingsMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js'; +import { createRoleMapping } from '../../../../../../../test/factories/role-mapping.js'; +import getRoleMappingsMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappings', () => { +describe('GET /internal/api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappings', () => { let roleMappingOne, roleMappingTwo, samlAuthProvider, currentUser, token; beforeEach(async () => { @@ -36,7 +36,7 @@ describe('GET /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mapping const response = await request(app) .get( - `/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` + `/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` ) .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js similarity index 64% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js index 1fdf633b..35a544cb 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js'; export default async (request, response) => { const samlAuthProvider = await SamlAuthProvider.query() diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.test.js similarity index 58% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.test.js index 474dc0b1..4d337376 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js'; -import getSamlAuthProviderMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js'; +import getSamlAuthProviderMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { +describe('GET /internal/api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { let samlAuthProvider, currentUser, token; beforeEach(async () => { @@ -24,7 +24,7 @@ describe('GET /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); const response = await request(app) - .get(`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`) + .get(`/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`) .set('Authorization', token) .expect(200); @@ -40,7 +40,7 @@ describe('GET /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { await request(app) .get( - `/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}` + `/internal/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}` ) .set('Authorization', token) .expect(404); @@ -50,7 +50,9 @@ describe('GET /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); await request(app) - .get('/api/v1/admin/saml-auth-providers/invalidSamlAuthProviderUUID') + .get( + '/internal/api/v1/admin/saml-auth-providers/invalidSamlAuthProviderUUID' + ) .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js similarity index 61% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js index 88b3d633..15019ab9 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js'; export default async (request, response) => { const samlAuthProviders = await SamlAuthProvider.query().orderBy( diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.test.js similarity index 55% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.test.js index 7965d4ac..79d7964c 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js'; -import getSamlAuthProvidersMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js'; +import getSamlAuthProvidersMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/saml-auth-providers', () => { +describe('GET /internal/api/v1/admin/saml-auth-providers', () => { let samlAuthProviderOne, samlAuthProviderTwo, currentUser, token; beforeEach(async () => { @@ -25,7 +25,7 @@ describe('GET /api/v1/admin/saml-auth-providers', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); const response = await request(app) - .get('/api/v1/admin/saml-auth-providers') + .get('/internal/api/v1/admin/saml-auth-providers') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js similarity index 78% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js index 9ca388c1..6103952a 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js'; export default async (request, response) => { const samlAuthProviderId = request.params.samlAuthProviderId; diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-role-mappings.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.test.js similarity index 72% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-role-mappings.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.test.js index a3c12c0f..1ed54cdc 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-role-mappings.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.test.js @@ -1,16 +1,16 @@ import Crypto from 'node:crypto'; import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js'; -import { createRoleMapping } from '../../../../../../test/factories/role-mapping.js'; -import createRoleMappingsMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js'; +import { createRoleMapping } from '../../../../../../../test/factories/role-mapping.js'; +import createRoleMappingsMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappings', () => { +describe('PATCH /internal/api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappings', () => { let samlAuthProvider, currentUser, userRole, token; beforeEach(async () => { @@ -44,7 +44,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi const response = await request(app) .patch( - `/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` + `/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` ) .set('Authorization', token) .send(roleMappings) @@ -71,7 +71,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi const response = await request(app) .patch( - `/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` + `/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` ) .set('Authorization', token) .send([]) @@ -99,7 +99,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi await request(app) .patch( - `/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` + `/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` ) .set('Authorization', token) .send(roleMappings) @@ -116,7 +116,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi const response = await request(app) .patch( - `/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` + `/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}/role-mappings` ) .set('Authorization', token) .send(roleMappings) @@ -143,7 +143,7 @@ describe('PATCH /api/v1/admin/saml-auth-providers/:samlAuthProviderId/role-mappi await request(app) .patch( - `/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}/role-mappings` + `/internal/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}/role-mappings` ) .set('Authorization', token) .send(roleMappings) diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.js similarity index 84% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.js index bf678e95..2e2d6388 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import SamlAuthProvider from '../../../../../../models/saml-auth-provider.ee.js'; export default async (request, response) => { const samlAuthProvider = await SamlAuthProvider.query() diff --git a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.test.js similarity index 73% rename from packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.test.js index d3fa960f..86fa9c81 100644 --- a/packages/backend/src/controllers/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js'; -import createSamlAuthProviderMock from '../../../../../../test/mocks/rest/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createSamlAuthProvider } from '../../../../../../../test/factories/saml-auth-provider.ee.js'; +import createSamlAuthProviderMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { +describe('PATCH /internal/api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { let currentUser, token, role; beforeEach(async () => { @@ -41,7 +41,9 @@ describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { ); const response = await request(app) - .patch(`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`) + .patch( + `/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}` + ) .set('Authorization', token) .send({ active: false, @@ -80,7 +82,9 @@ describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { ); const response = await request(app) - .patch(`/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}`) + .patch( + `/internal/api/v1/admin/saml-auth-providers/${samlAuthProvider.id}` + ) .set('Authorization', token) .send({ active: 'true', @@ -104,7 +108,7 @@ describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { await request(app) .patch( - `/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}` + `/internal/api/v1/admin/saml-auth-providers/${notExistingSamlAuthProviderUUID}` ) .set('Authorization', token) .expect(404); @@ -112,7 +116,9 @@ describe('PATCH /api/v1/admin/saml-auth-provider/:samlAuthProviderId', () => { it('should return bad request response for invalid UUID', async () => { await request(app) - .patch('/api/v1/admin/saml-auth-providers/invalidSamlAuthProviderUUID') + .patch( + '/internal/api/v1/admin/saml-auth-providers/invalidSamlAuthProviderUUID' + ) .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/admin/templates/create-template.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/create-template.ee.js similarity index 71% rename from packages/backend/src/controllers/api/v1/admin/templates/create-template.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/create-template.ee.js index 404c9ca9..24aa433d 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/create-template.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/create-template.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import Template from '../../../../../models/template.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import Template from '../../../../../../models/template.ee.js'; export default async (request, response) => { const template = await Template.create(templateParams(request)); diff --git a/packages/backend/src/controllers/api/v1/admin/templates/create-template.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/create-template.ee.test.js similarity index 78% rename from packages/backend/src/controllers/api/v1/admin/templates/create-template.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/create-template.ee.test.js index 08a89d3c..3d10af86 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/create-template.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/create-template.ee.test.js @@ -1,17 +1,17 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import Template from '../../../../../models/template.ee.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../../test/factories/step.js'; -import createTemplateMock from '../../../../../../test/mocks/rest/api/v1/admin/templates/create-template.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import Template from '../../../../../../models/template.ee.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../../test/factories/step.js'; +import createTemplateMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/templates/create-template.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('POST /api/v1/admin/templates', () => { +describe('POST /internal/api/v1/admin/templates', () => { let currentUser, token, role; beforeEach(async () => { @@ -58,7 +58,7 @@ describe('POST /api/v1/admin/templates', () => { }; const response = await request(app) - .post('/api/v1/admin/templates') + .post('/internal/api/v1/admin/templates') .set('Authorization', token) .send(templatePayload) .expect(201); @@ -76,7 +76,7 @@ describe('POST /api/v1/admin/templates', () => { const invalidFlowId = Crypto.randomUUID(); await request(app) - .post('/api/v1/admin/templates') + .post('/internal/api/v1/admin/templates') .set('Authorization', token) .send({ name: 'Sample Template Name', @@ -120,7 +120,7 @@ describe('POST /api/v1/admin/templates', () => { }; const response = await request(app) - .post('/api/v1/admin/templates') + .post('/internal/api/v1/admin/templates') .set('Authorization', token) .send(templatePayload) .expect(422); diff --git a/packages/backend/src/controllers/api/v1/admin/templates/delete-template.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/delete-template.ee.js similarity index 77% rename from packages/backend/src/controllers/api/v1/admin/templates/delete-template.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/delete-template.ee.js index f0a0dda4..ee4b54a6 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/delete-template.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/delete-template.ee.js @@ -1,4 +1,4 @@ -import Template from '../../../../../models/template.ee.js'; +import Template from '../../../../../../models/template.ee.js'; export default async (request, response) => { const template = await Template.query() diff --git a/packages/backend/src/controllers/api/v1/admin/templates/delete-template.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/delete-template.ee.test.js similarity index 58% rename from packages/backend/src/controllers/api/v1/admin/templates/delete-template.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/delete-template.ee.test.js index 4342d15e..e1d0f033 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/delete-template.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/delete-template.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createTemplate } from '../../../../../../test/factories/template.js'; -import Template from '../../../../../models/template.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createTemplate } from '../../../../../../../test/factories/template.js'; +import Template from '../../../../../../models/template.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('DELETE /api/v1/admin/templates/:templateId', () => { +describe('DELETE /internal/api/v1/admin/templates/:templateId', () => { let currentUser, token, role; beforeEach(async () => { @@ -25,7 +25,7 @@ describe('DELETE /api/v1/admin/templates/:templateId', () => { const template = await createTemplate(); await request(app) - .delete(`/api/v1/admin/templates/${template.id}`) + .delete(`/internal/api/v1/admin/templates/${template.id}`) .set('Authorization', token) .expect(204); @@ -37,14 +37,14 @@ describe('DELETE /api/v1/admin/templates/:templateId', () => { const notExistingTemplateUUID = Crypto.randomUUID(); await request(app) - .delete(`/api/v1/admin/templates/${notExistingTemplateUUID}`) + .delete(`/internal/api/v1/admin/templates/${notExistingTemplateUUID}`) .set('Authorization', token) .expect(404); }); it('should return bad request response for invalid UUID', async () => { await request(app) - .delete('/api/v1/admin/templates/invalidTemplateUUID') + .delete('/internal/api/v1/admin/templates/invalidTemplateUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/admin/templates/get-template.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/get-template.ee.js similarity index 62% rename from packages/backend/src/controllers/api/v1/admin/templates/get-template.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/get-template.ee.js index 42715b7d..bec18abe 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/get-template.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/get-template.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import Template from '../../../../../models/template.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import Template from '../../../../../../models/template.ee.js'; export default async (request, response) => { const template = await Template.query() diff --git a/packages/backend/src/controllers/api/v1/admin/templates/get-template.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/get-template.ee.test.js similarity index 50% rename from packages/backend/src/controllers/api/v1/admin/templates/get-template.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/get-template.ee.test.js index 4a406d7f..e29b00e3 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/get-template.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/get-template.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createTemplate } from '../../../../../../test/factories/template.js'; -import getTemplateMock from '../../../../../../test/mocks/rest/api/v1/admin/templates/get-template.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createTemplate } from '../../../../../../../test/factories/template.js'; +import getTemplateMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/templates/get-template.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/templates/:templateId', () => { +describe('GET /internal/api/v1/admin/templates/:templateId', () => { let currentUser, token, role; beforeEach(async () => { @@ -24,7 +24,7 @@ describe('GET /api/v1/admin/templates/:templateId', () => { const template = await createTemplate(); const response = await request(app) - .get(`/api/v1/admin/templates/${template.id}`) + .get(`/internal/api/v1/admin/templates/${template.id}`) .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/templates/get-templates.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/get-templates.ee.js similarity index 50% rename from packages/backend/src/controllers/api/v1/templates/get-templates.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/get-templates.ee.js index e9e32613..4cb67713 100644 --- a/packages/backend/src/controllers/api/v1/templates/get-templates.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/get-templates.ee.js @@ -1,10 +1,10 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import Template from '../../../../models/template.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import Template from '../../../../../../models/template.ee.js'; export default async (request, response) => { const templates = await Template.query().orderBy('created_at', 'asc'); renderObject(response, templates, { - serializer: 'Template', + serializer: 'AdminTemplate', }); }; diff --git a/packages/backend/src/controllers/api/v1/admin/templates/get-templates.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/get-templates.ee.test.js similarity index 54% rename from packages/backend/src/controllers/api/v1/admin/templates/get-templates.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/get-templates.ee.test.js index c0666871..37bc9b18 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/get-templates.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/get-templates.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createTemplate } from '../../../../../../test/factories/template.js'; -import getTemplatesMock from '../../../../../../test/mocks/rest/api/v1/admin/templates/get-templates.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createTemplate } from '../../../../../../../test/factories/template.js'; +import getTemplatesMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/templates/get-templates.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/templates', () => { +describe('GET /internal/api/v1/admin/templates', () => { let currentUser, token, role; beforeEach(async () => { @@ -25,7 +25,7 @@ describe('GET /api/v1/admin/templates', () => { const templateTwo = await createTemplate(); const response = await request(app) - .get('/api/v1/admin/templates') + .get('/internal/api/v1/admin/templates') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/admin/templates/update-template.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/update-template.ee.js similarity index 72% rename from packages/backend/src/controllers/api/v1/admin/templates/update-template.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/update-template.ee.js index 5da705e0..05b3bef4 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/update-template.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/update-template.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import Template from '../../../../../models/template.ee.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import Template from '../../../../../../models/template.ee.js'; export default async (request, response) => { const template = await Template.query() diff --git a/packages/backend/src/controllers/api/v1/admin/templates/update-template.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/templates/update-template.ee.test.js similarity index 66% rename from packages/backend/src/controllers/api/v1/admin/templates/update-template.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/templates/update-template.ee.test.js index f6052818..2a34013e 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/update-template.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/templates/update-template.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createTemplate } from '../../../../../../test/factories/template.js'; -import updateTemplateMock from '../../../../../../test/mocks/rest/api/v1/admin/templates/update-template.ee.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createTemplate } from '../../../../../../../test/factories/template.js'; +import updateTemplateMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/templates/update-template.ee.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('PATCH /api/v1/admin/templates/:templateId', () => { +describe('PATCH /internal/api/v1/admin/templates/:templateId', () => { let currentUser, token, role; beforeEach(async () => { @@ -26,7 +26,7 @@ describe('PATCH /api/v1/admin/templates/:templateId', () => { const updatedName = 'Updated Template Name'; const response = await request(app) - .patch(`/api/v1/admin/templates/${template.id}`) + .patch(`/internal/api/v1/admin/templates/${template.id}`) .set('Authorization', token) .send({ name: updatedName }) .expect(200); @@ -46,7 +46,7 @@ describe('PATCH /api/v1/admin/templates/:templateId', () => { const template = await createTemplate(); const response = await request(app) - .patch(`/api/v1/admin/templates/${template.id}`) + .patch(`/internal/api/v1/admin/templates/${template.id}`) .set('Authorization', token) .send({ name: '' }) .expect(422); @@ -63,14 +63,14 @@ describe('PATCH /api/v1/admin/templates/:templateId', () => { const notExistingTemplateUUID = Crypto.randomUUID(); await request(app) - .patch(`/api/v1/admin/templates/${notExistingTemplateUUID}`) + .patch(`/internal/api/v1/admin/templates/${notExistingTemplateUUID}`) .set('Authorization', token) .expect(404); }); it('should return bad request response for invalid UUID', async () => { await request(app) - .patch('/api/v1/admin/templates/invalidTemplateUUID') + .patch('/internal/api/v1/admin/templates/invalidTemplateUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/admin/users/create-user.js b/packages/backend/src/controllers/internal/api/v1/admin/users/create-user.js similarity index 73% rename from packages/backend/src/controllers/api/v1/admin/users/create-user.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/create-user.js index 07951bef..5ffc8d03 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/create-user.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/create-user.js @@ -1,6 +1,6 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import User from '../../../../../models/user.js'; -import Role from '../../../../../models/role.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import User from '../../../../../../models/user.js'; +import Role from '../../../../../../models/role.js'; export default async (request, response) => { const user = await User.query().insertAndFetch(await userParams(request)); diff --git a/packages/backend/src/controllers/api/v1/admin/users/create-user.test.js b/packages/backend/src/controllers/internal/api/v1/admin/users/create-user.test.js similarity index 80% rename from packages/backend/src/controllers/api/v1/admin/users/create-user.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/create-user.test.js index b199eeff..54cae082 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/create-user.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/create-user.test.js @@ -1,14 +1,14 @@ import { describe, beforeEach, it, expect } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import User from '../../../../../models/user.js'; -import Role from '../../../../../models/role.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import createUserMock from '../../../../../../test/mocks/rest/api/v1/admin/users/create-user.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import User from '../../../../../../models/user.js'; +import Role from '../../../../../../models/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import createUserMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/users/create-user.js'; -describe('POST /api/v1/admin/users', () => { +describe('POST /internal/api/v1/admin/users', () => { let currentUser, adminRole, token; beforeEach(async () => { @@ -29,7 +29,7 @@ describe('POST /api/v1/admin/users', () => { }; const response = await request(app) - .post('/api/v1/admin/users') + .post('/internal/api/v1/admin/users') .set('Authorization', token) .send(userData) .expect(201); @@ -52,7 +52,7 @@ describe('POST /api/v1/admin/users', () => { }; const response = await request(app) - .post('/api/v1/admin/users') + .post('/internal/api/v1/admin/users') .set('Authorization', token) .send(userData) .expect(201); @@ -85,7 +85,7 @@ describe('POST /api/v1/admin/users', () => { }; const response = await request(app) - .post('/api/v1/admin/users') + .post('/internal/api/v1/admin/users') .set('Authorization', token) .send(userData) .expect(422); @@ -108,7 +108,7 @@ describe('POST /api/v1/admin/users', () => { }; const response = await request(app) - .post('/api/v1/admin/users') + .post('/internal/api/v1/admin/users') .set('Authorization', token) .send(userData) .expect(422); diff --git a/packages/backend/src/controllers/api/v1/admin/users/delete-user.js b/packages/backend/src/controllers/internal/api/v1/admin/users/delete-user.js similarity index 79% rename from packages/backend/src/controllers/api/v1/admin/users/delete-user.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/delete-user.js index 79fd4308..4e3dc9bc 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/delete-user.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/delete-user.js @@ -1,4 +1,4 @@ -import User from '../../../../../models/user.js'; +import User from '../../../../../../models/user.js'; export default async (request, response) => { const id = request.params.userId; diff --git a/packages/backend/src/controllers/api/v1/admin/users/delete-user.test.js b/packages/backend/src/controllers/internal/api/v1/admin/users/delete-user.test.js similarity index 64% rename from packages/backend/src/controllers/api/v1/admin/users/delete-user.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/delete-user.test.js index 9ef9f058..36edfdcf 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/delete-user.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/delete-user.test.js @@ -1,12 +1,12 @@ import { describe, it, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../../test/factories/user'; -import { createRole } from '../../../../../../test/factories/role'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id'; +import { createUser } from '../../../../../../../test/factories/user'; +import { createRole } from '../../../../../../../test/factories/role'; -describe('DELETE /api/v1/admin/users/:userId', () => { +describe('DELETE /internal/api/v1/admin/users/:userId', () => { let currentUser, currentUserRole, anotherUser, token; beforeEach(async () => { @@ -20,7 +20,7 @@ describe('DELETE /api/v1/admin/users/:userId', () => { it('should soft delete user and respond with no content', async () => { await request(app) - .delete(`/api/v1/admin/users/${anotherUser.id}`) + .delete(`/internal/api/v1/admin/users/${anotherUser.id}`) .set('Authorization', token) .expect(204); }); @@ -29,14 +29,14 @@ describe('DELETE /api/v1/admin/users/:userId', () => { const notExistingUserUUID = Crypto.randomUUID(); await request(app) - .delete(`/api/v1/admin/users/${notExistingUserUUID}`) + .delete(`/internal/api/v1/admin/users/${notExistingUserUUID}`) .set('Authorization', token) .expect(404); }); it('should return bad request response for invalid UUID', async () => { await request(app) - .delete('/api/v1/admin/users/invalidUserUUID') + .delete('/internal/api/v1/admin/users/invalidUserUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/admin/users/get-user.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/users/get-user.ee.js similarity index 64% rename from packages/backend/src/controllers/api/v1/admin/users/get-user.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/get-user.ee.js index 7c63e600..a75dffba 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/get-user.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/get-user.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import User from '../../../../../models/user.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import User from '../../../../../../models/user.js'; export default async (request, response) => { const user = await User.query() diff --git a/packages/backend/src/controllers/api/v1/admin/users/get-user.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/users/get-user.ee.test.js similarity index 66% rename from packages/backend/src/controllers/api/v1/admin/users/get-user.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/get-user.ee.test.js index 2724ea9a..d2cc7714 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/get-user.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/get-user.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../../test/factories/user'; -import { createRole } from '../../../../../../test/factories/role'; -import getUserMock from '../../../../../../test/mocks/rest/api/v1/admin/users/get-user.js'; -import * as license from '../../../../../helpers/license.ee.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id'; +import { createUser } from '../../../../../../../test/factories/user'; +import { createRole } from '../../../../../../../test/factories/role'; +import getUserMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/users/get-user.js'; +import * as license from '../../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/users/:userId', () => { +describe('GET /internal/api/v1/admin/users/:userId', () => { let currentUser, currentUserRole, anotherUser, anotherUserRole, token; beforeEach(async () => { @@ -25,7 +25,7 @@ describe('GET /api/v1/admin/users/:userId', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); const response = await request(app) - .get(`/api/v1/admin/users/${anotherUser.id}`) + .get(`/internal/api/v1/admin/users/${anotherUser.id}`) .set('Authorization', token) .expect(200); @@ -39,7 +39,7 @@ describe('GET /api/v1/admin/users/:userId', () => { const notExistingUserUUID = Crypto.randomUUID(); await request(app) - .get(`/api/v1/admin/users/${notExistingUserUUID}`) + .get(`/internal/api/v1/admin/users/${notExistingUserUUID}`) .set('Authorization', token) .expect(404); }); @@ -48,7 +48,7 @@ describe('GET /api/v1/admin/users/:userId', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); await request(app) - .get('/api/v1/admin/users/invalidUserUUID') + .get('/internal/api/v1/admin/users/invalidUserUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/admin/users/get-users.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/users/get-users.ee.js similarity index 58% rename from packages/backend/src/controllers/api/v1/admin/users/get-users.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/get-users.ee.js index 64588151..d6e85d6a 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/get-users.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/get-users.ee.js @@ -1,6 +1,6 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import User from '../../../../../models/user.js'; -import paginateRest from '../../../../../helpers/pagination.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import User from '../../../../../../models/user.js'; +import paginateRest from '../../../../../../helpers/pagination.js'; export default async (request, response) => { const usersQuery = User.query() diff --git a/packages/backend/src/controllers/api/v1/admin/users/get-users.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/users/get-users.ee.test.js similarity index 66% rename from packages/backend/src/controllers/api/v1/admin/users/get-users.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/get-users.ee.test.js index 7b3ea362..11c84e5b 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/get-users.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/get-users.ee.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id'; -import { createRole } from '../../../../../../test/factories/role'; -import { createUser } from '../../../../../../test/factories/user'; -import getUsersMock from '../../../../../../test/mocks/rest/api/v1/admin/users/get-users.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import getUsersMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/users/get-users.js'; -describe('GET /api/v1/admin/users', () => { +describe('GET /internal/api/v1/admin/users', () => { let currentUser, currentUserRole, anotherUser, anotherUserRole, token; beforeEach(async () => { @@ -31,7 +31,7 @@ describe('GET /api/v1/admin/users', () => { it('should return users data', async () => { const response = await request(app) - .get('/api/v1/admin/users') + .get('/internal/api/v1/admin/users') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/admin/users/update-user.ee.js b/packages/backend/src/controllers/internal/api/v1/admin/users/update-user.ee.js similarity index 75% rename from packages/backend/src/controllers/api/v1/admin/users/update-user.ee.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/update-user.ee.js index efd1978f..14f6c6b4 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/update-user.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/update-user.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../../helpers/renderer.js'; -import User from '../../../../../models/user.js'; +import { renderObject } from '../../../../../../helpers/renderer.js'; +import User from '../../../../../../models/user.js'; export default async (request, response) => { const user = await User.query() diff --git a/packages/backend/src/controllers/api/v1/admin/users/update-user.ee.test.js b/packages/backend/src/controllers/internal/api/v1/admin/users/update-user.ee.test.js similarity index 74% rename from packages/backend/src/controllers/api/v1/admin/users/update-user.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/admin/users/update-user.ee.test.js index 8700dd13..c0c14813 100644 --- a/packages/backend/src/controllers/api/v1/admin/users/update-user.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/admin/users/update-user.ee.test.js @@ -1,13 +1,13 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../../app.js'; -import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import updateUserMock from '../../../../../../test/mocks/rest/api/v1/admin/users/update-user.js'; +import app from '../../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../../test/factories/role.js'; +import updateUserMock from '../../../../../../../test/mocks/rest/internal/api/v1/admin/users/update-user.js'; -describe('PATCH /api/v1/admin/users/:userId', () => { +describe('PATCH /internal/api/v1/admin/users/:userId', () => { let currentUser, adminRole, token; beforeEach(async () => { @@ -28,7 +28,7 @@ describe('PATCH /api/v1/admin/users/:userId', () => { }; const response = await request(app) - .patch(`/api/v1/admin/users/${anotherUser.id}`) + .patch(`/internal/api/v1/admin/users/${anotherUser.id}`) .set('Authorization', token) .send(anotherUserUpdatedData) .expect(200); @@ -56,7 +56,7 @@ describe('PATCH /api/v1/admin/users/:userId', () => { }; const response = await request(app) - .patch(`/api/v1/admin/users/${anotherUser.id}`) + .patch(`/internal/api/v1/admin/users/${anotherUser.id}`) .set('Authorization', token) .send(anotherUserUpdatedData) .expect(422); @@ -74,14 +74,14 @@ describe('PATCH /api/v1/admin/users/:userId', () => { const notExistingUserUUID = Crypto.randomUUID(); await request(app) - .patch(`/api/v1/admin/users/${notExistingUserUUID}`) + .patch(`/internal/api/v1/admin/users/${notExistingUserUUID}`) .set('Authorization', token) .expect(404); }); it('should return bad request response for invalid UUID', async () => { await request(app) - .patch('/api/v1/admin/users/invalidUserUUID') + .patch('/internal/api/v1/admin/users/invalidUserUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/apps/create-connection.js b/packages/backend/src/controllers/internal/api/v1/apps/create-connection.js similarity index 90% rename from packages/backend/src/controllers/api/v1/apps/create-connection.js rename to packages/backend/src/controllers/internal/api/v1/apps/create-connection.js index 35e3a34b..3f1c1d50 100644 --- a/packages/backend/src/controllers/api/v1/apps/create-connection.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/create-connection.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const connection = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/apps/create-connection.test.js b/packages/backend/src/controllers/internal/api/v1/apps/create-connection.test.js similarity index 84% rename from packages/backend/src/controllers/api/v1/apps/create-connection.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/create-connection.test.js index 7edcc94e..745d01db 100644 --- a/packages/backend/src/controllers/api/v1/apps/create-connection.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/create-connection.test.js @@ -1,15 +1,15 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createAppConfig } from '../../../../../test/factories/app-config.js'; -import { createOAuthClient } from '../../../../../test/factories/oauth-client.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import { createRole } from '../../../../../test/factories/role.js'; -import createConnection from '../../../../../test/mocks/rest/api/v1/apps/create-connection.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createAppConfig } from '../../../../../../test/factories/app-config.js'; +import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import { createRole } from '../../../../../../test/factories/role.js'; +import createConnection from '../../../../../../test/mocks/rest/internal/api/v1/apps/create-connection.js'; -describe('POST /api/v1/apps/:appKey/connections', () => { +describe('POST /internal/api/v1/apps/:appKey/connections', () => { let currentUser, token; beforeEach(async () => { @@ -55,7 +55,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => { }; const response = await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send(connectionData) .expect(201); @@ -73,14 +73,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => { it('should return not found response for invalid app key', async () => { await request(app) - .post('/api/v1/apps/invalid-app-key/connections') + .post('/internal/api/v1/apps/invalid-app-key/connections') .set('Authorization', token) .expect(404); }); it('should return unprocesible entity response for invalid connection data', async () => { const response = await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send({ formattedData: 123, @@ -117,7 +117,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => { }; await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send(connectionData) .expect(403); @@ -125,14 +125,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => { it('should return not found response for invalid app key', async () => { await request(app) - .post('/api/v1/apps/invalid-app-key/connections') + .post('/internal/api/v1/apps/invalid-app-key/connections') .set('Authorization', token) .expect(404); }); it('should return unprocesible entity response for invalid connection data', async () => { const response = await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send({ formattedData: 123, @@ -170,7 +170,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => { }; const response = await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send(connectionData) .expect(201); @@ -188,14 +188,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => { it('should return not found response for invalid app key', async () => { await request(app) - .post('/api/v1/apps/invalid-app-key/connections') + .post('/internal/api/v1/apps/invalid-app-key/connections') .set('Authorization', token) .expect(404); }); it('should return unprocesible entity response for invalid connection data', async () => { const response = await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send({ formattedData: 123, @@ -233,7 +233,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => { }; await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send(connectionData) .expect(403); @@ -241,14 +241,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => { it('should return not found response for invalid app key', async () => { await request(app) - .post('/api/v1/apps/invalid-app-key/connections') + .post('/internal/api/v1/apps/invalid-app-key/connections') .set('Authorization', token) .expect(404); }); it('should return unprocesible entity response for invalid connection data', async () => { const response = await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send({ formattedData: 123, @@ -294,7 +294,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => { }; const response = await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send(connectionData) .expect(201); @@ -312,14 +312,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => { it('should return not found response for invalid app key', async () => { await request(app) - .post('/api/v1/apps/invalid-app-key/connections') + .post('/internal/api/v1/apps/invalid-app-key/connections') .set('Authorization', token) .expect(404); }); it('should return unprocesible entity response for invalid connection data', async () => { const response = await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send({ formattedData: 123, @@ -359,7 +359,7 @@ describe('POST /api/v1/apps/:appKey/connections', () => { }; await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send(connectionData) .expect(404); @@ -367,14 +367,14 @@ describe('POST /api/v1/apps/:appKey/connections', () => { it('should return not found response for invalid app key', async () => { await request(app) - .post('/api/v1/apps/invalid-app-key/connections') + .post('/internal/api/v1/apps/invalid-app-key/connections') .set('Authorization', token) .expect(404); }); it('should return unprocesible entity response for invalid connection data', async () => { const response = await request(app) - .post('/api/v1/apps/gitlab/connections') + .post('/internal/api/v1/apps/gitlab/connections') .set('Authorization', token) .send({ formattedData: 123, diff --git a/packages/backend/src/controllers/api/v1/apps/get-action-substeps.js b/packages/backend/src/controllers/internal/api/v1/apps/get-action-substeps.js similarity index 63% rename from packages/backend/src/controllers/api/v1/apps/get-action-substeps.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-action-substeps.js index 6b985bdc..1b9c9a34 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-action-substeps.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-action-substeps.js @@ -1,5 +1,5 @@ -import App from '../../../../models/app.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import App from '../../../../../models/app.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const substeps = await App.findActionSubsteps( diff --git a/packages/backend/src/controllers/api/v1/apps/get-action-substeps.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-action-substeps.test.js similarity index 61% rename from packages/backend/src/controllers/api/v1/apps/get-action-substeps.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-action-substeps.test.js index e3b6db03..b05f17f8 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-action-substeps.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-action-substeps.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import App from '../../../../models/app'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import getActionSubstepsMock from '../../../../../test/mocks/rest/api/v1/apps/get-action-substeps.js'; +import App from '../../../../../models/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getActionSubstepsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-action-substeps.js'; -describe('GET /api/v1/apps/:appKey/actions/:actionKey/substeps', () => { +describe('GET /internal/api/v1/apps/:appKey/actions/:actionKey/substeps', () => { let currentUser, exampleApp, token; beforeEach(async () => { @@ -21,7 +21,7 @@ describe('GET /api/v1/apps/:appKey/actions/:actionKey/substeps', () => { (action) => action.key === 'createIssue' ); - const endpointUrl = `/api/v1/apps/${exampleApp.key}/actions/${exampleAction.key}/substeps`; + const endpointUrl = `/internal/api/v1/apps/${exampleApp.key}/actions/${exampleAction.key}/substeps`; const response = await request(app) .get(endpointUrl) @@ -34,13 +34,15 @@ describe('GET /api/v1/apps/:appKey/actions/:actionKey/substeps', () => { it('should return not found response for invalid app key', async () => { await request(app) - .get('/api/v1/apps/invalid-app-key/actions/invalid-actions-key/substeps') + .get( + '/internal/api/v1/apps/invalid-app-key/actions/invalid-actions-key/substeps' + ) .set('Authorization', token) .expect(404); }); it('should return empty array for invalid action key', async () => { - const endpointUrl = `/api/v1/apps/${exampleApp.key}/actions/invalid-action-key/substeps`; + const endpointUrl = `/internal/api/v1/apps/${exampleApp.key}/actions/invalid-action-key/substeps`; const response = await request(app) .get(endpointUrl) diff --git a/packages/backend/src/controllers/api/v1/apps/get-actions.js b/packages/backend/src/controllers/internal/api/v1/apps/get-actions.js similarity index 61% rename from packages/backend/src/controllers/api/v1/apps/get-actions.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-actions.js index 78d45fde..e6a7e977 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-actions.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-actions.js @@ -1,5 +1,5 @@ -import App from '../../../../models/app.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import App from '../../../../../models/app.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const actions = await App.findActionsByKey(request.params.appKey); diff --git a/packages/backend/src/controllers/api/v1/apps/get-actions.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-actions.test.js similarity index 58% rename from packages/backend/src/controllers/api/v1/apps/get-actions.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-actions.test.js index b2bf638f..83b8e4b5 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-actions.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-actions.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import App from '../../../../models/app'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import getActionsMock from '../../../../../test/mocks/rest/api/v1/apps/get-actions.js'; +import App from '../../../../../models/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getActionsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-actions.js'; -describe('GET /api/v1/apps/:appKey/actions', () => { +describe('GET /internal/api/v1/apps/:appKey/actions', () => { let currentUser, token; beforeEach(async () => { @@ -18,7 +18,7 @@ describe('GET /api/v1/apps/:appKey/actions', () => { const exampleApp = await App.findOneByKey('github'); const response = await request(app) - .get(`/api/v1/apps/${exampleApp.key}/actions`) + .get(`/internal/api/v1/apps/${exampleApp.key}/actions`) .set('Authorization', token) .expect(200); @@ -28,7 +28,7 @@ describe('GET /api/v1/apps/:appKey/actions', () => { it('should return not found response for invalid app key', async () => { await request(app) - .get('/api/v1/apps/invalid-app-key/actions') + .get('/internal/api/v1/apps/invalid-app-key/actions') .set('Authorization', token) .expect(404); }); diff --git a/packages/backend/src/controllers/api/v1/apps/get-app.js b/packages/backend/src/controllers/internal/api/v1/apps/get-app.js similarity index 59% rename from packages/backend/src/controllers/api/v1/apps/get-app.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-app.js index 2f27d3cd..982cc248 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-app.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-app.js @@ -1,5 +1,5 @@ -import App from '../../../../models/app.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import App from '../../../../../models/app.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const app = await App.findOneByKey(request.params.appKey); diff --git a/packages/backend/src/controllers/api/v1/apps/get-app.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-app.test.js similarity index 59% rename from packages/backend/src/controllers/api/v1/apps/get-app.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-app.test.js index 321064d5..7f006df8 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-app.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-app.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import App from '../../../../models/app'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import getAppMock from '../../../../../test/mocks/rest/api/v1/apps/get-app.js'; +import App from '../../../../../models/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getAppMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-app.js'; -describe('GET /api/v1/apps/:appKey', () => { +describe('GET /internal/api/v1/apps/:appKey', () => { let currentUser, token; beforeEach(async () => { @@ -18,7 +18,7 @@ describe('GET /api/v1/apps/:appKey', () => { const exampleApp = await App.findOneByKey('github'); const response = await request(app) - .get(`/api/v1/apps/${exampleApp.key}`) + .get(`/internal/api/v1/apps/${exampleApp.key}`) .set('Authorization', token) .expect(200); @@ -28,7 +28,7 @@ describe('GET /api/v1/apps/:appKey', () => { it('should return not found response for invalid app key', async () => { await request(app) - .get('/api/v1/apps/invalid-app-key') + .get('/internal/api/v1/apps/invalid-app-key') .set('Authorization', token) .expect(404); }); diff --git a/packages/backend/src/controllers/api/v1/apps/get-apps.js b/packages/backend/src/controllers/internal/api/v1/apps/get-apps.js similarity index 75% rename from packages/backend/src/controllers/api/v1/apps/get-apps.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-apps.js index be6e112e..53ca0ff8 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-apps.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-apps.js @@ -1,5 +1,5 @@ -import App from '../../../../models/app.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import App from '../../../../../models/app.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let apps = await App.findAll(request.query.name); diff --git a/packages/backend/src/controllers/api/v1/apps/get-apps.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-apps.test.js similarity index 73% rename from packages/backend/src/controllers/api/v1/apps/get-apps.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-apps.test.js index 5524410f..6001157c 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-apps.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-apps.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import App from '../../../../models/app'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import getAppsMock from '../../../../../test/mocks/rest/api/v1/apps/get-apps.js'; +import App from '../../../../../models/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getAppsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-apps.js'; -describe('GET /api/v1/apps', () => { +describe('GET /internal/api/v1/apps', () => { let currentUser, apps, token; beforeEach(async () => { @@ -17,7 +17,7 @@ describe('GET /api/v1/apps', () => { it('should return all apps', async () => { const response = await request(app) - .get('/api/v1/apps') + .get('/internal/api/v1/apps') .set('Authorization', token) .expect(200); @@ -29,7 +29,7 @@ describe('GET /api/v1/apps', () => { const appsWithNameGit = apps.filter((app) => app.name.includes('Git')); const response = await request(app) - .get('/api/v1/apps?name=Git') + .get('/internal/api/v1/apps?name=Git') .set('Authorization', token) .expect(200); @@ -41,7 +41,7 @@ describe('GET /api/v1/apps', () => { const appsWithTriggers = apps.filter((app) => app.triggers?.length > 0); const response = await request(app) - .get('/api/v1/apps?onlyWithTriggers=true') + .get('/internal/api/v1/apps?onlyWithTriggers=true') .set('Authorization', token) .expect(200); @@ -53,7 +53,7 @@ describe('GET /api/v1/apps', () => { const appsWithActions = apps.filter((app) => app.actions?.length > 0); const response = await request(app) - .get('/api/v1/apps?onlyWithActions=true') + .get('/internal/api/v1/apps?onlyWithActions=true') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/apps/get-auth.js b/packages/backend/src/controllers/internal/api/v1/apps/get-auth.js similarity index 59% rename from packages/backend/src/controllers/api/v1/apps/get-auth.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-auth.js index 37b30753..d9154f2a 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-auth.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-auth.js @@ -1,5 +1,5 @@ -import App from '../../../../models/app.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import App from '../../../../../models/app.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const auth = await App.findAuthByKey(request.params.appKey); diff --git a/packages/backend/src/controllers/api/v1/apps/get-auth.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-auth.test.js similarity index 58% rename from packages/backend/src/controllers/api/v1/apps/get-auth.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-auth.test.js index 6a9a8088..3d4f289b 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-auth.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-auth.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import App from '../../../../models/app'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import getAuthMock from '../../../../../test/mocks/rest/api/v1/apps/get-auth.js'; +import App from '../../../../../models/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getAuthMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-auth.js'; -describe('GET /api/v1/apps/:appKey/auth', () => { +describe('GET /internal/api/v1/apps/:appKey/auth', () => { let currentUser, token; beforeEach(async () => { @@ -18,7 +18,7 @@ describe('GET /api/v1/apps/:appKey/auth', () => { const exampleApp = await App.findOneByKey('github'); const response = await request(app) - .get(`/api/v1/apps/${exampleApp.key}/auth`) + .get(`/internal/api/v1/apps/${exampleApp.key}/auth`) .set('Authorization', token) .expect(200); @@ -28,7 +28,7 @@ describe('GET /api/v1/apps/:appKey/auth', () => { it('should return not found response for invalid app key', async () => { await request(app) - .get('/api/v1/apps/invalid-app-key/auth') + .get('/internal/api/v1/apps/invalid-app-key/auth') .set('Authorization', token) .expect(404); }); diff --git a/packages/backend/src/controllers/api/v1/apps/get-config.ee.js b/packages/backend/src/controllers/internal/api/v1/apps/get-config.ee.js similarity index 67% rename from packages/backend/src/controllers/api/v1/apps/get-config.ee.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-config.ee.js index 229c20d1..3d548631 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-config.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-config.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import AppConfig from '../../../../models/app-config.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import AppConfig from '../../../../../models/app-config.js'; export default async (request, response) => { const appConfig = await AppConfig.query() diff --git a/packages/backend/src/controllers/api/v1/apps/get-config.ee.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-config.ee.test.js similarity index 58% rename from packages/backend/src/controllers/api/v1/apps/get-config.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-config.ee.test.js index 505e492f..544e4c1f 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-config.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-config.ee.test.js @@ -1,13 +1,13 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import getAppConfigMock from '../../../../../test/mocks/rest/api/v1/apps/get-config.js'; -import { createAppConfig } from '../../../../../test/factories/app-config.js'; -import * as license from '../../../../helpers/license.ee.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getAppConfigMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-config.js'; +import { createAppConfig } from '../../../../../../test/factories/app-config.js'; +import * as license from '../../../../../helpers/license.ee.js'; -describe('GET /api/v1/apps/:appKey/config', () => { +describe('GET /internal/api/v1/apps/:appKey/config', () => { let currentUser, appConfig, token; beforeEach(async () => { @@ -26,7 +26,7 @@ describe('GET /api/v1/apps/:appKey/config', () => { it('should return specified app config info', async () => { const response = await request(app) - .get(`/api/v1/apps/${appConfig.key}/config`) + .get(`/internal/api/v1/apps/${appConfig.key}/config`) .set('Authorization', token) .expect(200); @@ -36,7 +36,7 @@ describe('GET /api/v1/apps/:appKey/config', () => { it('should return not found response for not existing app key', async () => { await request(app) - .get('/api/v1/apps/not-existing-app-key/config') + .get('/internal/api/v1/apps/not-existing-app-key/config') .set('Authorization', token) .expect(404); }); diff --git a/packages/backend/src/controllers/api/v1/apps/get-connections.js b/packages/backend/src/controllers/internal/api/v1/apps/get-connections.js similarity index 83% rename from packages/backend/src/controllers/api/v1/apps/get-connections.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-connections.js index 0f2fdfcb..d32eeef8 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-connections.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-connections.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import App from '../../../../models/app.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import App from '../../../../../models/app.js'; export default async (request, response) => { const app = await App.findOneByKey(request.params.appKey); diff --git a/packages/backend/src/controllers/api/v1/apps/get-connections.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-connections.test.js similarity index 76% rename from packages/backend/src/controllers/api/v1/apps/get-connections.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-connections.test.js index 272f24cf..7e3e06f9 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-connections.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-connections.test.js @@ -1,13 +1,13 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import getConnectionsMock from '../../../../../test/mocks/rest/api/v1/apps/get-connections.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getConnectionsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-connections.js'; -describe('GET /api/v1/apps/:appKey/connections', () => { +describe('GET /internal/api/v1/apps/:appKey/connections', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -38,7 +38,7 @@ describe('GET /api/v1/apps/:appKey/connections', () => { }); const response = await request(app) - .get('/api/v1/apps/deepl/connections') + .get('/internal/api/v1/apps/deepl/connections') .set('Authorization', token) .expect(200); @@ -73,7 +73,7 @@ describe('GET /api/v1/apps/:appKey/connections', () => { }); const response = await request(app) - .get('/api/v1/apps/deepl/connections') + .get('/internal/api/v1/apps/deepl/connections') .set('Authorization', token) .expect(200); @@ -94,7 +94,7 @@ describe('GET /api/v1/apps/:appKey/connections', () => { }); await request(app) - .get('/api/v1/apps/invalid-connection-id/connections') + .get('/internal/api/v1/apps/invalid-connection-id/connections') .set('Authorization', token) .expect(404); }); diff --git a/packages/backend/src/controllers/api/v1/apps/get-flows.js b/packages/backend/src/controllers/internal/api/v1/apps/get-flows.js similarity index 73% rename from packages/backend/src/controllers/api/v1/apps/get-flows.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-flows.js index 953fbbcd..5698d3ab 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-flows.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-flows.js @@ -1,7 +1,7 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import App from '../../../../models/app.js'; -import Flow from '../../../../models/flow.js'; -import paginateRest from '../../../../helpers/pagination.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import App from '../../../../../models/app.js'; +import Flow from '../../../../../models/flow.js'; +import paginateRest from '../../../../../helpers/pagination.js'; export default async (request, response) => { const app = await App.findOneByKey(request.params.appKey); diff --git a/packages/backend/src/controllers/api/v1/apps/get-flows.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-flows.test.js similarity index 80% rename from packages/backend/src/controllers/api/v1/apps/get-flows.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-flows.test.js index c333c128..362e7ea0 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-flows.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-flows.test.js @@ -1,14 +1,14 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import getFlowsMock from '../../../../../test/mocks/rest/api/v1/apps/get-flows.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getFlowsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-flows.js'; -describe('GET /api/v1/apps/:appKey/flows', () => { +describe('GET /internal/api/v1/apps/:appKey/flows', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -53,7 +53,7 @@ describe('GET /api/v1/apps/:appKey/flows', () => { }); const response = await request(app) - .get('/api/v1/apps/webhook/flows') + .get('/internal/api/v1/apps/webhook/flows') .set('Authorization', token) .expect(200); @@ -102,7 +102,7 @@ describe('GET /api/v1/apps/:appKey/flows', () => { }); const response = await request(app) - .get('/api/v1/apps/webhook/flows') + .get('/internal/api/v1/apps/webhook/flows') .set('Authorization', token) .expect(200); @@ -124,7 +124,7 @@ describe('GET /api/v1/apps/:appKey/flows', () => { }); await request(app) - .get('/api/v1/apps/invalid-app-key/flows') + .get('/internal/api/v1/apps/invalid-app-key/flows') .set('Authorization', token) .expect(404); }); diff --git a/packages/backend/src/controllers/api/v1/admin/apps/get-oauth-client.ee.js b/packages/backend/src/controllers/internal/api/v1/apps/get-oauth-client.ee.js similarity index 84% rename from packages/backend/src/controllers/api/v1/admin/apps/get-oauth-client.ee.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-oauth-client.ee.js index 577461f2..6d172a9a 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/get-oauth-client.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-oauth-client.ee.js @@ -4,7 +4,7 @@ import OAuthClient from '../../../../../models/oauth-client.js'; export default async (request, response) => { const oauthClient = await OAuthClient.query() .findById(request.params.oauthClientId) - .where({ app_key: request.params.appKey }) + .where({ app_key: request.params.appKey, active: true }) .throwIfNotFound(); renderObject(response, oauthClient); diff --git a/packages/backend/src/controllers/api/v1/admin/apps/get-oauth-client.ee.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-oauth-client.ee.test.js similarity index 71% rename from packages/backend/src/controllers/api/v1/admin/apps/get-oauth-client.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-oauth-client.ee.test.js index 5b30c289..94643380 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/get-oauth-client.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-oauth-client.ee.test.js @@ -4,20 +4,17 @@ import Crypto from 'crypto'; import app from '../../../../../app.js'; import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import getOAuthClientMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/get-oauth-client.js'; +import getOAuthClientMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-oauth-client.js'; import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js'; import * as license from '../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => { - let currentUser, adminRole, currentOAuthClient, token; +describe('GET /internal/api/v1/apps/:appKey/oauth-clients/:oauthClientId', () => { + let currentUser, currentOAuthClient, token; beforeEach(async () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); - adminRole = await createRole({ name: 'Admin' }); - currentUser = await createUser({ roleId: adminRole.id }); - + currentUser = await createUser(); currentOAuthClient = await createOAuthClient({ appKey: 'deepl', }); @@ -27,7 +24,7 @@ describe('GET /api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => { it('should return specified oauth client', async () => { const response = await request(app) - .get(`/api/v1/admin/apps/deepl/oauth-clients/${currentOAuthClient.id}`) + .get(`/internal/api/v1/apps/deepl/oauth-clients/${currentOAuthClient.id}`) .set('Authorization', token) .expect(200); @@ -40,7 +37,7 @@ describe('GET /api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => { await request(app) .get( - `/api/v1/admin/apps/deepl/oauth-clients/${notExistingOAuthClientUUID}` + `/internal/api/v1/apps/deepl/oauth-clients/${notExistingOAuthClientUUID}` ) .set('Authorization', token) .expect(404); @@ -48,7 +45,7 @@ describe('GET /api/v1/admin/apps/:appKey/oauth-clients/:oauthClientId', () => { it('should return bad request response for invalid UUID', async () => { await request(app) - .get('/api/v1/admin/apps/deepl/oauth-clients/invalidOAuthClientUUID') + .get('/internal/api/v1/apps/deepl/oauth-clients/invalidOAuthClientUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/admin/apps/get-oauth-clients.ee.js b/packages/backend/src/controllers/internal/api/v1/apps/get-oauth-clients.ee.js similarity index 83% rename from packages/backend/src/controllers/api/v1/admin/apps/get-oauth-clients.ee.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-oauth-clients.ee.js index 230104a4..311d297b 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/get-oauth-clients.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-oauth-clients.ee.js @@ -3,7 +3,7 @@ import OAuthClient from '../../../../../models/oauth-client.js'; export default async (request, response) => { const oauthClients = await OAuthClient.query() - .where({ app_key: request.params.appKey }) + .where({ app_key: request.params.appKey, active: true }) .orderBy('created_at', 'desc'); renderObject(response, oauthClients); diff --git a/packages/backend/src/controllers/api/v1/admin/apps/get-oauth-clients.ee.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-oauth-clients.ee.test.js similarity index 67% rename from packages/backend/src/controllers/api/v1/admin/apps/get-oauth-clients.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-oauth-clients.ee.test.js index 69be2bbf..016a3590 100644 --- a/packages/backend/src/controllers/api/v1/admin/apps/get-oauth-clients.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-oauth-clients.ee.test.js @@ -3,19 +3,17 @@ import request from 'supertest'; import app from '../../../../../app.js'; import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; import { createUser } from '../../../../../../test/factories/user.js'; -import { createRole } from '../../../../../../test/factories/role.js'; -import getAdminOAuthClientsMock from '../../../../../../test/mocks/rest/api/v1/admin/apps/get-oauth-clients.js'; +import getOAuthClientsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-oauth-clients.js'; import { createOAuthClient } from '../../../../../../test/factories/oauth-client.js'; import * as license from '../../../../../helpers/license.ee.js'; -describe('GET /api/v1/admin/apps/:appKey/oauth-clients', () => { - let currentUser, adminRole, token; +describe('GET /internal/api/v1/apps/:appKey/oauth-clients', () => { + let currentUser, token; beforeEach(async () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); - adminRole = await createRole({ name: 'Admin' }); - currentUser = await createUser({ roleId: adminRole.id }); + currentUser = await createUser(); token = await createAuthTokenByUserId(currentUser.id); }); @@ -30,11 +28,11 @@ describe('GET /api/v1/admin/apps/:appKey/oauth-clients', () => { }); const response = await request(app) - .get('/api/v1/admin/apps/deepl/oauth-clients') + .get('/internal/api/v1/apps/deepl/oauth-clients') .set('Authorization', token) .expect(200); - const expectedPayload = getAdminOAuthClientsMock([ + const expectedPayload = getOAuthClientsMock([ oauthClientTwo, oauthClientOne, ]); diff --git a/packages/backend/src/controllers/api/v1/apps/get-trigger-substeps.js b/packages/backend/src/controllers/internal/api/v1/apps/get-trigger-substeps.js similarity index 63% rename from packages/backend/src/controllers/api/v1/apps/get-trigger-substeps.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-trigger-substeps.js index 96e542f4..18cd3876 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-trigger-substeps.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-trigger-substeps.js @@ -1,5 +1,5 @@ -import App from '../../../../models/app.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import App from '../../../../../models/app.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const substeps = await App.findTriggerSubsteps( diff --git a/packages/backend/src/controllers/api/v1/apps/get-trigger-substeps.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-trigger-substeps.test.js similarity index 60% rename from packages/backend/src/controllers/api/v1/apps/get-trigger-substeps.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-trigger-substeps.test.js index e54b6de2..7930f8e2 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-trigger-substeps.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-trigger-substeps.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import App from '../../../../models/app'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import getTriggerSubstepsMock from '../../../../../test/mocks/rest/api/v1/apps/get-trigger-substeps.js'; +import App from '../../../../../models/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getTriggerSubstepsMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-trigger-substeps.js'; -describe('GET /api/v1/apps/:appKey/triggers/:triggerKey/substeps', () => { +describe('GET /internal/api/v1/apps/:appKey/triggers/:triggerKey/substeps', () => { let currentUser, exampleApp, token; beforeEach(async () => { @@ -21,7 +21,7 @@ describe('GET /api/v1/apps/:appKey/triggers/:triggerKey/substeps', () => { (trigger) => trigger.key === 'newIssues' ); - const endpointUrl = `/api/v1/apps/${exampleApp.key}/triggers/${exampleTrigger.key}/substeps`; + const endpointUrl = `/internal/api/v1/apps/${exampleApp.key}/triggers/${exampleTrigger.key}/substeps`; const response = await request(app) .get(endpointUrl) @@ -34,13 +34,15 @@ describe('GET /api/v1/apps/:appKey/triggers/:triggerKey/substeps', () => { it('should return not found response for invalid app key', async () => { await request(app) - .get('/api/v1/apps/invalid-app-key/triggers/invalid-trigger-key/substeps') + .get( + '/internal/api/v1/apps/invalid-app-key/triggers/invalid-trigger-key/substeps' + ) .set('Authorization', token) .expect(404); }); it('should return empty array for invalid trigger key', async () => { - const endpointUrl = `/api/v1/apps/${exampleApp.key}/triggers/invalid-trigger-key/substeps`; + const endpointUrl = `/internal/api/v1/apps/${exampleApp.key}/triggers/invalid-trigger-key/substeps`; const response = await request(app) .get(endpointUrl) diff --git a/packages/backend/src/controllers/api/v1/apps/get-triggers.js b/packages/backend/src/controllers/internal/api/v1/apps/get-triggers.js similarity index 61% rename from packages/backend/src/controllers/api/v1/apps/get-triggers.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-triggers.js index 19cd9095..0d4ee94e 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-triggers.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-triggers.js @@ -1,5 +1,5 @@ -import App from '../../../../models/app.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import App from '../../../../../models/app.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const triggers = await App.findTriggersByKey(request.params.appKey); diff --git a/packages/backend/src/controllers/api/v1/apps/get-triggers.test.js b/packages/backend/src/controllers/internal/api/v1/apps/get-triggers.test.js similarity index 58% rename from packages/backend/src/controllers/api/v1/apps/get-triggers.test.js rename to packages/backend/src/controllers/internal/api/v1/apps/get-triggers.test.js index 768a4d52..f6ed9494 100644 --- a/packages/backend/src/controllers/api/v1/apps/get-triggers.test.js +++ b/packages/backend/src/controllers/internal/api/v1/apps/get-triggers.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import App from '../../../../models/app'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import getTriggersMock from '../../../../../test/mocks/rest/api/v1/apps/get-triggers.js'; +import App from '../../../../../models/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getTriggersMock from '../../../../../../test/mocks/rest/internal/api/v1/apps/get-triggers.js'; -describe('GET /api/v1/apps/:appKey/triggers', () => { +describe('GET /internal/api/v1/apps/:appKey/triggers', () => { let currentUser, token; beforeEach(async () => { @@ -18,7 +18,7 @@ describe('GET /api/v1/apps/:appKey/triggers', () => { const exampleApp = await App.findOneByKey('github'); const response = await request(app) - .get(`/api/v1/apps/${exampleApp.key}/triggers`) + .get(`/internal/api/v1/apps/${exampleApp.key}/triggers`) .set('Authorization', token) .expect(200); @@ -28,7 +28,7 @@ describe('GET /api/v1/apps/:appKey/triggers', () => { it('should return not found response for invalid app key', async () => { await request(app) - .get('/api/v1/apps/invalid-app-key/triggers') + .get('/internal/api/v1/apps/invalid-app-key/triggers') .set('Authorization', token) .expect(404); }); diff --git a/packages/backend/src/controllers/api/v1/automatisch/config.ee.js b/packages/backend/src/controllers/internal/api/v1/automatisch/config.ee.js similarity index 50% rename from packages/backend/src/controllers/api/v1/automatisch/config.ee.js rename to packages/backend/src/controllers/internal/api/v1/automatisch/config.ee.js index 65f970e6..7cdbb2a7 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/config.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/config.ee.js @@ -1,5 +1,5 @@ -import Config from '../../../../models/config.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import Config from '../../../../../models/config.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const config = await Config.get(); diff --git a/packages/backend/src/controllers/api/v1/automatisch/config.ee.test.js b/packages/backend/src/controllers/internal/api/v1/automatisch/config.ee.test.js similarity index 83% rename from packages/backend/src/controllers/api/v1/automatisch/config.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/automatisch/config.ee.test.js index d3e870d7..6b4a8001 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/config.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/config.ee.test.js @@ -1,12 +1,12 @@ import { vi, expect, describe, it } from 'vitest'; import request from 'supertest'; -import { updateConfig } from '../../../../../test/factories/config.js'; -import app from '../../../../app.js'; -import configMock from '../../../../../test/mocks/rest/api/v1/automatisch/config.js'; -import * as license from '../../../../helpers/license.ee.js'; -import appConfig from '../../../../config/app.js'; +import { updateConfig } from '../../../../../../test/factories/config.js'; +import app from '../../../../../app.js'; +import configMock from '../../../../../../test/mocks/rest/internal/api/v1/automatisch/config.js'; +import * as license from '../../../../../helpers/license.ee.js'; +import appConfig from '../../../../../config/app.js'; -describe('GET /api/v1/automatisch/config', () => { +describe('GET /internal/api/v1/automatisch/config', () => { it('should return Automatisch config along with static config', async () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); vi.spyOn(appConfig, 'disableNotificationsPage', 'get').mockReturnValue( @@ -40,7 +40,7 @@ describe('GET /api/v1/automatisch/config', () => { }); const response = await request(app) - .get('/api/v1/automatisch/config') + .get('/internal/api/v1/automatisch/config') .expect(200); const expectedPayload = configMock({ diff --git a/packages/backend/src/controllers/api/v1/automatisch/info.js b/packages/backend/src/controllers/internal/api/v1/automatisch/info.js similarity index 58% rename from packages/backend/src/controllers/api/v1/automatisch/info.js rename to packages/backend/src/controllers/internal/api/v1/automatisch/info.js index 07bbd6bc..1f0eb167 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/info.js +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/info.js @@ -1,7 +1,7 @@ -import appConfig from '../../../../config/app.js'; -import { hasValidLicense } from '../../../../helpers/license.ee.js'; -import { renderObject } from '../../../../helpers/renderer.js'; -import Config from '../../../../models/config.js'; +import appConfig from '../../../../../config/app.js'; +import { hasValidLicense } from '../../../../../helpers/license.ee.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import Config from '../../../../../models/config.js'; export default async (request, response) => { const installationCompleted = await Config.isInstallationCompleted(); diff --git a/packages/backend/src/controllers/api/v1/automatisch/info.test.js b/packages/backend/src/controllers/internal/api/v1/automatisch/info.test.js similarity index 52% rename from packages/backend/src/controllers/api/v1/automatisch/info.test.js rename to packages/backend/src/controllers/internal/api/v1/automatisch/info.test.js index 431a3d91..fda84b7f 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/info.test.js +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/info.test.js @@ -1,21 +1,23 @@ import { vi, expect, describe, it } from 'vitest'; import request from 'supertest'; -import appConfig from '../../../../config/app.js'; -import Config from '../../../../models/config.js'; -import app from '../../../../app.js'; -import infoMock from '../../../../../test/mocks/rest/api/v1/automatisch/info.js'; -import * as license from '../../../../helpers/license.ee.js'; +import appConfig from '../../../../../config/app.js'; +import Config from '../../../../../models/config.js'; +import app from '../../../../../app.js'; +import infoMock from '../../../../../../test/mocks/rest/internal/api/v1/automatisch/info.js'; +import * as license from '../../../../../helpers/license.ee.js'; -describe('GET /api/v1/automatisch/info', () => { +describe('GET /internal/api/v1/automatisch/info', () => { it('should return Automatisch info', async () => { vi.spyOn(Config, 'isInstallationCompleted').mockResolvedValue(true); vi.spyOn(appConfig, 'isCloud', 'get').mockReturnValue(false); vi.spyOn(appConfig, 'isMation', 'get').mockReturnValue(false); vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); - vi.spyOn(appConfig, 'docsUrl', 'get').mockReturnValue('https://automatisch.io/docs'); + vi.spyOn(appConfig, 'docsUrl', 'get').mockReturnValue( + 'https://automatisch.io/docs' + ); const response = await request(app) - .get('/api/v1/automatisch/info') + .get('/internal/api/v1/automatisch/info') .expect(200); const expectedPayload = infoMock(); diff --git a/packages/backend/src/controllers/api/v1/automatisch/license.js b/packages/backend/src/controllers/internal/api/v1/automatisch/license.js similarity index 71% rename from packages/backend/src/controllers/api/v1/automatisch/license.js rename to packages/backend/src/controllers/internal/api/v1/automatisch/license.js index 65f6f4b6..c96d4c8f 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/license.js +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/license.js @@ -1,5 +1,5 @@ -import { getLicense } from '../../../../helpers/license.ee.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import { getLicense } from '../../../../../helpers/license.ee.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const license = await getLicense(); diff --git a/packages/backend/src/controllers/api/v1/automatisch/license.test.js b/packages/backend/src/controllers/internal/api/v1/automatisch/license.test.js similarity index 59% rename from packages/backend/src/controllers/api/v1/automatisch/license.test.js rename to packages/backend/src/controllers/internal/api/v1/automatisch/license.test.js index a35567c1..f46e29ae 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/license.test.js +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/license.test.js @@ -1,10 +1,10 @@ import { vi, expect, describe, it } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import licenseMock from '../../../../../test/mocks/rest/api/v1/automatisch/license.js'; -import * as license from '../../../../helpers/license.ee.js'; +import app from '../../../../../app.js'; +import licenseMock from '../../../../../../test/mocks/rest/internal/api/v1/automatisch/license.js'; +import * as license from '../../../../../helpers/license.ee.js'; -describe('GET /api/v1/automatisch/license', () => { +describe('GET /internal/api/v1/automatisch/license', () => { it('should return Automatisch license info', async () => { vi.spyOn(license, 'getLicense').mockResolvedValue({ id: '123', @@ -13,7 +13,7 @@ describe('GET /api/v1/automatisch/license', () => { }); const response = await request(app) - .get('/api/v1/automatisch/license') + .get('/internal/api/v1/automatisch/license') .expect(200); const expectedPayload = licenseMock(); diff --git a/packages/backend/src/controllers/api/v1/automatisch/notifications.js b/packages/backend/src/controllers/internal/api/v1/automatisch/notifications.js similarity index 68% rename from packages/backend/src/controllers/api/v1/automatisch/notifications.js rename to packages/backend/src/controllers/internal/api/v1/automatisch/notifications.js index e42d65f9..567f12f0 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/notifications.js +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/notifications.js @@ -1,6 +1,6 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import axios from '../../../../helpers/axios-with-proxy.js'; -import logger from '../../../../helpers/logger.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import axios from '../../../../../helpers/axios-with-proxy.js'; +import logger from '../../../../../helpers/logger.js'; const NOTIFICATIONS_URL = 'https://notifications.automatisch.io/notifications.json'; diff --git a/packages/backend/src/controllers/internal/api/v1/automatisch/notifications.test.js b/packages/backend/src/controllers/internal/api/v1/automatisch/notifications.test.js new file mode 100644 index 00000000..c5ee8644 --- /dev/null +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/notifications.test.js @@ -0,0 +1,11 @@ +import { describe, it } from 'vitest'; +import request from 'supertest'; +import app from '../../../../../app.js'; + +describe('GET /internal/api/v1/automatisch/notifications', () => { + it('should return Automatisch notifications', async () => { + await request(app) + .get('/internal/api/v1/automatisch/notifications') + .expect(200); + }); +}); diff --git a/packages/backend/src/controllers/internal/api/v1/automatisch/version.js b/packages/backend/src/controllers/internal/api/v1/automatisch/version.js new file mode 100644 index 00000000..b474014e --- /dev/null +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/version.js @@ -0,0 +1,6 @@ +import appConfig from '../../../../../config/app.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; + +export default async (request, response) => { + renderObject(response, { version: appConfig.version }); +}; diff --git a/packages/backend/src/controllers/api/v1/automatisch/version.test.js b/packages/backend/src/controllers/internal/api/v1/automatisch/version.test.js similarity index 76% rename from packages/backend/src/controllers/api/v1/automatisch/version.test.js rename to packages/backend/src/controllers/internal/api/v1/automatisch/version.test.js index 244c7954..3cf42e06 100644 --- a/packages/backend/src/controllers/api/v1/automatisch/version.test.js +++ b/packages/backend/src/controllers/internal/api/v1/automatisch/version.test.js @@ -1,11 +1,11 @@ import { describe, it, expect } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; +import app from '../../../../../app.js'; -describe('GET /api/v1/automatisch/version', () => { +describe('GET /internal/api/v1/automatisch/version', () => { it('should return Automatisch version', async () => { const response = await request(app) - .get('/api/v1/automatisch/version') + .get('/internal/api/v1/automatisch/version') .expect(200); const expectedPayload = { diff --git a/packages/backend/src/controllers/api/v1/connections/delete-connection.js b/packages/backend/src/controllers/internal/api/v1/connections/delete-connection.js similarity index 100% rename from packages/backend/src/controllers/api/v1/connections/delete-connection.js rename to packages/backend/src/controllers/internal/api/v1/connections/delete-connection.js diff --git a/packages/backend/src/controllers/api/v1/connections/delete-connection.test.js b/packages/backend/src/controllers/internal/api/v1/connections/delete-connection.test.js similarity index 67% rename from packages/backend/src/controllers/api/v1/connections/delete-connection.test.js rename to packages/backend/src/controllers/internal/api/v1/connections/delete-connection.test.js index 3b948cc1..13bd7e66 100644 --- a/packages/backend/src/controllers/api/v1/connections/delete-connection.test.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/delete-connection.test.js @@ -1,13 +1,13 @@ import { describe, it, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('DELETE /api/v1/connections/:connectionId', () => { +describe('DELETE /internal/api/v1/connections/:connectionId', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -32,7 +32,7 @@ describe('DELETE /api/v1/connections/:connectionId', () => { }); await request(app) - .delete(`/api/v1/connections/${currentUserConnection.id}`) + .delete(`/internal/api/v1/connections/${currentUserConnection.id}`) .set('Authorization', token) .expect(204); }); @@ -47,7 +47,7 @@ describe('DELETE /api/v1/connections/:connectionId', () => { }); await request(app) - .post(`/api/v1/connections/${anotherUserConnection.id}`) + .post(`/internal/api/v1/connections/${anotherUserConnection.id}`) .set('Authorization', token) .expect(404); }); @@ -56,14 +56,14 @@ describe('DELETE /api/v1/connections/:connectionId', () => { const notExistingConnectionUUID = Crypto.randomUUID(); await request(app) - .delete(`/api/v1/connections/${notExistingConnectionUUID}`) + .delete(`/internal/api/v1/connections/${notExistingConnectionUUID}`) .set('Authorization', token) .expect(404); }); it('should return bad request response for invalid UUID', async () => { await request(app) - .delete('/api/v1/connections/invalidConnectionUUID') + .delete('/internal/api/v1/connections/invalidConnectionUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/connections/generate-auth-url.js b/packages/backend/src/controllers/internal/api/v1/connections/generate-auth-url.js similarity index 81% rename from packages/backend/src/controllers/api/v1/connections/generate-auth-url.js rename to packages/backend/src/controllers/internal/api/v1/connections/generate-auth-url.js index 167190ce..2ee10ae4 100644 --- a/packages/backend/src/controllers/api/v1/connections/generate-auth-url.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/generate-auth-url.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let connection = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/connections/generate-auth-url.test.js b/packages/backend/src/controllers/internal/api/v1/connections/generate-auth-url.test.js similarity index 73% rename from packages/backend/src/controllers/api/v1/connections/generate-auth-url.test.js rename to packages/backend/src/controllers/internal/api/v1/connections/generate-auth-url.test.js index c7bb382c..615b4253 100644 --- a/packages/backend/src/controllers/api/v1/connections/generate-auth-url.test.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/generate-auth-url.test.js @@ -1,13 +1,13 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('POST /api/v1/connections/:connectionId/auth-url', () => { +describe('POST /internal/api/v1/connections/:connectionId/auth-url', () => { let currentUser, token; beforeEach(async () => { @@ -35,7 +35,7 @@ describe('POST /api/v1/connections/:connectionId/auth-url', () => { }); const response = await request(app) - .post(`/api/v1/connections/${connection.id}/auth-url`) + .post(`/internal/api/v1/connections/${connection.id}/auth-url`) .set('Authorization', token) .expect(200); @@ -67,7 +67,7 @@ describe('POST /api/v1/connections/:connectionId/auth-url', () => { }); await request(app) - .post(`/api/v1/connections/${connection.id}/auth-url`) + .post(`/internal/api/v1/connections/${connection.id}/auth-url`) .set('Authorization', token) .expect(500); }); @@ -76,14 +76,16 @@ describe('POST /api/v1/connections/:connectionId/auth-url', () => { const notExistingConnectionUUID = Crypto.randomUUID(); await request(app) - .post(`/api/v1/connections/${notExistingConnectionUUID}/auth-url`) + .post( + `/internal/api/v1/connections/${notExistingConnectionUUID}/auth-url` + ) .set('Authorization', token) .expect(404); }); it('should return bad request response for invalid UUID', async () => { await request(app) - .post('/api/v1/connections/invalidConnectionUUID/auth-url') + .post('/internal/api/v1/connections/invalidConnectionUUID/auth-url') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/connections/get-flows.js b/packages/backend/src/controllers/internal/api/v1/connections/get-flows.js similarity index 76% rename from packages/backend/src/controllers/api/v1/connections/get-flows.js rename to packages/backend/src/controllers/internal/api/v1/connections/get-flows.js index 8bac6191..4cf2a761 100644 --- a/packages/backend/src/controllers/api/v1/connections/get-flows.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/get-flows.js @@ -1,6 +1,6 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import paginateRest from '../../../../helpers/pagination.js'; -import Flow from '../../../../models/flow.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import paginateRest from '../../../../../helpers/pagination.js'; +import Flow from '../../../../../models/flow.js'; export default async (request, response) => { const flowsQuery = request.currentUser.authorizedFlows diff --git a/packages/backend/src/controllers/api/v1/connections/get-flows.test.js b/packages/backend/src/controllers/internal/api/v1/connections/get-flows.test.js similarity index 78% rename from packages/backend/src/controllers/api/v1/connections/get-flows.test.js rename to packages/backend/src/controllers/internal/api/v1/connections/get-flows.test.js index f90da298..fb9eaeaf 100644 --- a/packages/backend/src/controllers/api/v1/connections/get-flows.test.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/get-flows.test.js @@ -1,15 +1,15 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import getFlowsMock from '../../../../../test/mocks/rest/api/v1/connections/get-flows.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getFlowsMock from '../../../../../../test/mocks/rest/internal/api/v1/connections/get-flows.js'; -describe('GET /api/v1/connections/:connectionId/flows', () => { +describe('GET /internal/api/v1/connections/:connectionId/flows', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -60,7 +60,7 @@ describe('GET /api/v1/connections/:connectionId/flows', () => { }); const response = await request(app) - .get(`/api/v1/connections/${currentUserConnection.id}/flows`) + .get(`/internal/api/v1/connections/${currentUserConnection.id}/flows`) .set('Authorization', token) .expect(200); @@ -115,7 +115,7 @@ describe('GET /api/v1/connections/:connectionId/flows', () => { }); const response = await request(app) - .get(`/api/v1/connections/${anotherUserConnection.id}/flows`) + .get(`/internal/api/v1/connections/${anotherUserConnection.id}/flows`) .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/connections/reset-connection.js b/packages/backend/src/controllers/internal/api/v1/connections/reset-connection.js similarity index 81% rename from packages/backend/src/controllers/api/v1/connections/reset-connection.js rename to packages/backend/src/controllers/internal/api/v1/connections/reset-connection.js index 2d7fa6a6..4a4ff612 100644 --- a/packages/backend/src/controllers/api/v1/connections/reset-connection.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/reset-connection.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let connection = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/connections/reset-connection.test.js b/packages/backend/src/controllers/internal/api/v1/connections/reset-connection.test.js similarity index 75% rename from packages/backend/src/controllers/api/v1/connections/reset-connection.test.js rename to packages/backend/src/controllers/internal/api/v1/connections/reset-connection.test.js index 956896c6..4d4244ab 100644 --- a/packages/backend/src/controllers/api/v1/connections/reset-connection.test.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/reset-connection.test.js @@ -1,14 +1,14 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import resetConnectionMock from '../../../../../test/mocks/rest/api/v1/connections/reset-connection.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import resetConnectionMock from '../../../../../../test/mocks/rest/internal/api/v1/connections/reset-connection.js'; -describe('POST /api/v1/connections/:connectionId/reset', () => { +describe('POST /internal/api/v1/connections/:connectionId/reset', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -39,7 +39,7 @@ describe('POST /api/v1/connections/:connectionId/reset', () => { }); const response = await request(app) - .post(`/api/v1/connections/${currentUserConnection.id}/reset`) + .post(`/internal/api/v1/connections/${currentUserConnection.id}/reset`) .set('Authorization', token) .expect(200); @@ -75,7 +75,7 @@ describe('POST /api/v1/connections/:connectionId/reset', () => { }); await request(app) - .post(`/api/v1/connections/${anotherUserConnection.id}/reset`) + .post(`/internal/api/v1/connections/${anotherUserConnection.id}/reset`) .set('Authorization', token) .expect(404); }); @@ -91,7 +91,7 @@ describe('POST /api/v1/connections/:connectionId/reset', () => { }); await request(app) - .post(`/api/v1/connections/${notExistingConnectionUUID}/reset`) + .post(`/internal/api/v1/connections/${notExistingConnectionUUID}/reset`) .set('Authorization', token) .expect(404); }); @@ -105,7 +105,7 @@ describe('POST /api/v1/connections/:connectionId/reset', () => { }); await request(app) - .post('/api/v1/connections/invalidConnectionUUID/reset') + .post('/internal/api/v1/connections/invalidConnectionUUID/reset') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/connections/test-connection.js b/packages/backend/src/controllers/internal/api/v1/connections/test-connection.js similarity index 82% rename from packages/backend/src/controllers/api/v1/connections/test-connection.js rename to packages/backend/src/controllers/internal/api/v1/connections/test-connection.js index 32132582..b8142b2b 100644 --- a/packages/backend/src/controllers/api/v1/connections/test-connection.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/test-connection.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let connection = await request.currentUser.authorizedConnections diff --git a/packages/backend/src/controllers/api/v1/connections/test-connection.test.js b/packages/backend/src/controllers/internal/api/v1/connections/test-connection.test.js similarity index 78% rename from packages/backend/src/controllers/api/v1/connections/test-connection.test.js rename to packages/backend/src/controllers/internal/api/v1/connections/test-connection.test.js index 8fb9d821..5b47cfea 100644 --- a/packages/backend/src/controllers/api/v1/connections/test-connection.test.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/test-connection.test.js @@ -1,13 +1,13 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('POST /api/v1/connections/:connectionId/test', () => { +describe('POST /internal/api/v1/connections/:connectionId/test', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -39,7 +39,7 @@ describe('POST /api/v1/connections/:connectionId/test', () => { }); const response = await request(app) - .post(`/api/v1/connections/${currentUserConnection.id}/test`) + .post(`/internal/api/v1/connections/${currentUserConnection.id}/test`) .set('Authorization', token) .expect(200); @@ -70,7 +70,7 @@ describe('POST /api/v1/connections/:connectionId/test', () => { }); const response = await request(app) - .post(`/api/v1/connections/${anotherUserConnection.id}/test`) + .post(`/internal/api/v1/connections/${anotherUserConnection.id}/test`) .set('Authorization', token) .expect(200); @@ -95,7 +95,7 @@ describe('POST /api/v1/connections/:connectionId/test', () => { }); await request(app) - .post(`/api/v1/connections/${notExistingConnectionUUID}/test`) + .post(`/internal/api/v1/connections/${notExistingConnectionUUID}/test`) .set('Authorization', token) .expect(404); }); @@ -116,7 +116,7 @@ describe('POST /api/v1/connections/:connectionId/test', () => { }); await request(app) - .post('/api/v1/connections/invalidConnectionUUID/test') + .post('/internal/api/v1/connections/invalidConnectionUUID/test') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/connections/update-connection.js b/packages/backend/src/controllers/internal/api/v1/connections/update-connection.js similarity index 87% rename from packages/backend/src/controllers/api/v1/connections/update-connection.js rename to packages/backend/src/controllers/internal/api/v1/connections/update-connection.js index 979aa733..96ce9912 100644 --- a/packages/backend/src/controllers/api/v1/connections/update-connection.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/update-connection.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let connection = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/connections/update-connection.test.js b/packages/backend/src/controllers/internal/api/v1/connections/update-connection.test.js similarity index 75% rename from packages/backend/src/controllers/api/v1/connections/update-connection.test.js rename to packages/backend/src/controllers/internal/api/v1/connections/update-connection.test.js index 65e494ea..f9ce7659 100644 --- a/packages/backend/src/controllers/api/v1/connections/update-connection.test.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/update-connection.test.js @@ -1,14 +1,14 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import updateConnectionMock from '../../../../../test/mocks/rest/api/v1/connections/update-connection.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import updateConnectionMock from '../../../../../../test/mocks/rest/internal/api/v1/connections/update-connection.js'; -describe('PATCH /api/v1/connections/:connectionId', () => { +describe('PATCH /internal/api/v1/connections/:connectionId', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -41,7 +41,7 @@ describe('PATCH /api/v1/connections/:connectionId', () => { }); const response = await request(app) - .patch(`/api/v1/connections/${currentUserConnection.id}`) + .patch(`/internal/api/v1/connections/${currentUserConnection.id}`) .set('Authorization', token) .send({ formattedData: { @@ -79,7 +79,7 @@ describe('PATCH /api/v1/connections/:connectionId', () => { }); await request(app) - .patch(`/api/v1/connections/${anotherUserConnection.id}`) + .patch(`/internal/api/v1/connections/${anotherUserConnection.id}`) .set('Authorization', token) .expect(404); }); @@ -95,7 +95,7 @@ describe('PATCH /api/v1/connections/:connectionId', () => { }); await request(app) - .patch(`/api/v1/connections/${notExistingConnectionUUID}`) + .patch(`/internal/api/v1/connections/${notExistingConnectionUUID}`) .set('Authorization', token) .expect(404); }); @@ -109,7 +109,7 @@ describe('PATCH /api/v1/connections/:connectionId', () => { }); await request(app) - .patch('/api/v1/connections/invalidConnectionUUID') + .patch('/internal/api/v1/connections/invalidConnectionUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/connections/verify-connection.js b/packages/backend/src/controllers/internal/api/v1/connections/verify-connection.js similarity index 82% rename from packages/backend/src/controllers/api/v1/connections/verify-connection.js rename to packages/backend/src/controllers/internal/api/v1/connections/verify-connection.js index 2004f199..c49355dd 100644 --- a/packages/backend/src/controllers/api/v1/connections/verify-connection.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/verify-connection.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let connection = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/connections/verify-connection.test.js b/packages/backend/src/controllers/internal/api/v1/connections/verify-connection.test.js similarity index 71% rename from packages/backend/src/controllers/api/v1/connections/verify-connection.test.js rename to packages/backend/src/controllers/internal/api/v1/connections/verify-connection.test.js index 544f203f..c5b9c972 100644 --- a/packages/backend/src/controllers/api/v1/connections/verify-connection.test.js +++ b/packages/backend/src/controllers/internal/api/v1/connections/verify-connection.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import App from '../../../../models/app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; +import app from '../../../../../app.js'; +import App from '../../../../../models/app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('POST /api/v1/connections/:connectionId/verify', () => { +describe('POST /internal/api/v1/connections/:connectionId/verify', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -43,7 +43,7 @@ describe('POST /api/v1/connections/:connectionId/verify', () => { }); const response = await request(app) - .post(`/api/v1/connections/${currentUserConnection.id}/verify`) + .post(`/internal/api/v1/connections/${currentUserConnection.id}/verify`) .set('Authorization', token) .expect(200); @@ -61,7 +61,7 @@ describe('POST /api/v1/connections/:connectionId/verify', () => { }); await request(app) - .post(`/api/v1/connections/${notExistingConnectionUUID}/verify`) + .post(`/internal/api/v1/connections/${notExistingConnectionUUID}/verify`) .set('Authorization', token) .expect(404); }); @@ -75,7 +75,7 @@ describe('POST /api/v1/connections/:connectionId/verify', () => { }); await request(app) - .post('/api/v1/connections/invalidConnectionUUID/verify') + .post('/internal/api/v1/connections/invalidConnectionUUID/verify') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/executions/get-execution-steps.js b/packages/backend/src/controllers/internal/api/v1/executions/get-execution-steps.js similarity index 79% rename from packages/backend/src/controllers/api/v1/executions/get-execution-steps.js rename to packages/backend/src/controllers/internal/api/v1/executions/get-execution-steps.js index e4fdb25c..60c46eb1 100644 --- a/packages/backend/src/controllers/api/v1/executions/get-execution-steps.js +++ b/packages/backend/src/controllers/internal/api/v1/executions/get-execution-steps.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import paginateRest from '../../../../helpers/pagination.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import paginateRest from '../../../../../helpers/pagination.js'; export default async (request, response) => { const execution = await request.currentUser.authorizedExecutions diff --git a/packages/backend/src/controllers/api/v1/executions/get-execution-steps.test.js b/packages/backend/src/controllers/internal/api/v1/executions/get-execution-steps.test.js similarity index 75% rename from packages/backend/src/controllers/api/v1/executions/get-execution-steps.test.js rename to packages/backend/src/controllers/internal/api/v1/executions/get-execution-steps.test.js index 58a326ae..096dee98 100644 --- a/packages/backend/src/controllers/api/v1/executions/get-execution-steps.test.js +++ b/packages/backend/src/controllers/internal/api/v1/executions/get-execution-steps.test.js @@ -1,17 +1,17 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createExecution } from '../../../../../test/factories/execution.js'; -import { createExecutionStep } from '../../../../../test/factories/execution-step.js'; -import { createPermission } from '../../../../../test/factories/permission'; -import getExecutionStepsMock from '../../../../../test/mocks/rest/api/v1/executions/get-execution-steps'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createExecution } from '../../../../../../test/factories/execution.js'; +import { createExecutionStep } from '../../../../../../test/factories/execution-step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getExecutionStepsMock from '../../../../../../test/mocks/rest/internal/api/v1/executions/get-execution-steps.js'; -describe('GET /api/v1/executions/:executionId/execution-steps', () => { +describe('GET /internal/api/v1/executions/:executionId/execution-steps', () => { let currentUser, currentUserRole, anotherUser, token; beforeEach(async () => { @@ -60,7 +60,9 @@ describe('GET /api/v1/executions/:executionId/execution-steps', () => { }); const response = await request(app) - .get(`/api/v1/executions/${currentUserExecution.id}/execution-steps`) + .get( + `/internal/api/v1/executions/${currentUserExecution.id}/execution-steps` + ) .set('Authorization', token) .expect(200); @@ -109,7 +111,9 @@ describe('GET /api/v1/executions/:executionId/execution-steps', () => { }); const response = await request(app) - .get(`/api/v1/executions/${anotherUserExecution.id}/execution-steps`) + .get( + `/internal/api/v1/executions/${anotherUserExecution.id}/execution-steps` + ) .set('Authorization', token) .expect(200); @@ -132,7 +136,9 @@ describe('GET /api/v1/executions/:executionId/execution-steps', () => { const notExistingExcecutionUUID = Crypto.randomUUID(); await request(app) - .get(`/api/v1/executions/${notExistingExcecutionUUID}/execution-steps`) + .get( + `/internal/api/v1/executions/${notExistingExcecutionUUID}/execution-steps` + ) .set('Authorization', token) .expect(404); }); @@ -146,7 +152,7 @@ describe('GET /api/v1/executions/:executionId/execution-steps', () => { }); await request(app) - .get('/api/v1/executions/invalidExecutionUUID/execution-steps') + .get('/internal/api/v1/executions/invalidExecutionUUID/execution-steps') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/executions/get-execution.js b/packages/backend/src/controllers/internal/api/v1/executions/get-execution.js similarity index 83% rename from packages/backend/src/controllers/api/v1/executions/get-execution.js rename to packages/backend/src/controllers/internal/api/v1/executions/get-execution.js index fe6d599c..4ccd75f3 100644 --- a/packages/backend/src/controllers/api/v1/executions/get-execution.js +++ b/packages/backend/src/controllers/internal/api/v1/executions/get-execution.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const execution = await request.currentUser.authorizedExecutions diff --git a/packages/backend/src/controllers/api/v1/executions/get-execution.test.js b/packages/backend/src/controllers/internal/api/v1/executions/get-execution.test.js similarity index 75% rename from packages/backend/src/controllers/api/v1/executions/get-execution.test.js rename to packages/backend/src/controllers/internal/api/v1/executions/get-execution.test.js index b447882a..6aaa259c 100644 --- a/packages/backend/src/controllers/api/v1/executions/get-execution.test.js +++ b/packages/backend/src/controllers/internal/api/v1/executions/get-execution.test.js @@ -1,16 +1,16 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createExecution } from '../../../../../test/factories/execution.js'; -import { createPermission } from '../../../../../test/factories/permission'; -import getExecutionMock from '../../../../../test/mocks/rest/api/v1/executions/get-execution'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createExecution } from '../../../../../../test/factories/execution.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getExecutionMock from '../../../../../../test/mocks/rest/internal/api/v1/executions/get-execution.js'; -describe('GET /api/v1/executions/:executionId', () => { +describe('GET /internal/api/v1/executions/:executionId', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -47,7 +47,7 @@ describe('GET /api/v1/executions/:executionId', () => { }); const response = await request(app) - .get(`/api/v1/executions/${currentUserExecution.id}`) + .get(`/internal/api/v1/executions/${currentUserExecution.id}`) .set('Authorization', token) .expect(200); @@ -89,7 +89,7 @@ describe('GET /api/v1/executions/:executionId', () => { }); const response = await request(app) - .get(`/api/v1/executions/${anotherUserExecution.id}`) + .get(`/internal/api/v1/executions/${anotherUserExecution.id}`) .set('Authorization', token) .expect(200); @@ -113,7 +113,7 @@ describe('GET /api/v1/executions/:executionId', () => { const notExistingExcecutionUUID = Crypto.randomUUID(); await request(app) - .get(`/api/v1/executions/${notExistingExcecutionUUID}`) + .get(`/internal/api/v1/executions/${notExistingExcecutionUUID}`) .set('Authorization', token) .expect(404); }); @@ -127,7 +127,7 @@ describe('GET /api/v1/executions/:executionId', () => { }); await request(app) - .get('/api/v1/executions/invalidExecutionUUID') + .get('/internal/api/v1/executions/invalidExecutionUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/executions/get-executions.js b/packages/backend/src/controllers/internal/api/v1/executions/get-executions.js similarity index 78% rename from packages/backend/src/controllers/api/v1/executions/get-executions.js rename to packages/backend/src/controllers/internal/api/v1/executions/get-executions.js index eb89ed40..7c62ed23 100644 --- a/packages/backend/src/controllers/api/v1/executions/get-executions.js +++ b/packages/backend/src/controllers/internal/api/v1/executions/get-executions.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import paginateRest from '../../../../helpers/pagination.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import paginateRest from '../../../../../helpers/pagination.js'; export default async (request, response) => { const executionsQuery = request.currentUser.getExecutions( diff --git a/packages/backend/src/controllers/api/v1/executions/get-executions.test.js b/packages/backend/src/controllers/internal/api/v1/executions/get-executions.test.js similarity index 78% rename from packages/backend/src/controllers/api/v1/executions/get-executions.test.js rename to packages/backend/src/controllers/internal/api/v1/executions/get-executions.test.js index ebf9b0c6..b306da23 100644 --- a/packages/backend/src/controllers/api/v1/executions/get-executions.test.js +++ b/packages/backend/src/controllers/internal/api/v1/executions/get-executions.test.js @@ -1,15 +1,15 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createExecution } from '../../../../../test/factories/execution.js'; -import { createPermission } from '../../../../../test/factories/permission'; -import getExecutionsMock from '../../../../../test/mocks/rest/api/v1/executions/get-executions'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createExecution } from '../../../../../../test/factories/execution.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getExecutionsMock from '../../../../../../test/mocks/rest/internal/api/v1/executions/get-executions.js'; -describe('GET /api/v1/executions', () => { +describe('GET /internal/api/v1/executions', () => { let currentUser, currentUserRole, anotherUser, token; beforeEach(async () => { @@ -56,7 +56,7 @@ describe('GET /api/v1/executions', () => { }); const response = await request(app) - .get('/api/v1/executions') + .get('/internal/api/v1/executions') .set('Authorization', token) .expect(200); @@ -104,7 +104,7 @@ describe('GET /api/v1/executions', () => { }); const response = await request(app) - .get('/api/v1/executions') + .get('/internal/api/v1/executions') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/flows/create-flow.js b/packages/backend/src/controllers/internal/api/v1/flows/create-flow.js similarity index 80% rename from packages/backend/src/controllers/api/v1/flows/create-flow.js rename to packages/backend/src/controllers/internal/api/v1/flows/create-flow.js index 36c46ac5..346d4e50 100644 --- a/packages/backend/src/controllers/api/v1/flows/create-flow.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/create-flow.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const { templateId } = request.query; diff --git a/packages/backend/src/controllers/api/v1/flows/create-flow.test.js b/packages/backend/src/controllers/internal/api/v1/flows/create-flow.test.js similarity index 70% rename from packages/backend/src/controllers/api/v1/flows/create-flow.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/create-flow.test.js index 3a370cf4..4bb6c55a 100644 --- a/packages/backend/src/controllers/api/v1/flows/create-flow.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/create-flow.test.js @@ -1,14 +1,14 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createTemplate } from '../../../../../test/factories/template.js'; -import createFlowMock from '../../../../../test/mocks/rest/api/v1/flows/create-flow.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createTemplate } from '../../../../../../test/factories/template.js'; +import createFlowMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/create-flow.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('POST /api/v1/flows', () => { +describe('POST /internal/api/v1/flows', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -27,7 +27,7 @@ describe('POST /api/v1/flows', () => { }); const response = await request(app) - .post('/api/v1/flows') + .post('/internal/api/v1/flows') .set('Authorization', token) .expect(201); @@ -53,7 +53,7 @@ describe('POST /api/v1/flows', () => { }); const response = await request(app) - .post('/api/v1/flows') + .post('/internal/api/v1/flows') .query({ templateId: template.id }) .set('Authorization', token) .expect(201); diff --git a/packages/backend/src/controllers/api/v1/flows/create-step.js b/packages/backend/src/controllers/internal/api/v1/flows/create-step.js similarity index 83% rename from packages/backend/src/controllers/api/v1/flows/create-step.js rename to packages/backend/src/controllers/internal/api/v1/flows/create-step.js index b1c49e37..3b693323 100644 --- a/packages/backend/src/controllers/api/v1/flows/create-step.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/create-step.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const flow = await request.currentUser.authorizedFlows diff --git a/packages/backend/src/controllers/api/v1/flows/create-step.test.js b/packages/backend/src/controllers/internal/api/v1/flows/create-step.test.js similarity index 81% rename from packages/backend/src/controllers/api/v1/flows/create-step.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/create-step.test.js index a4c15fb5..3bc088dc 100644 --- a/packages/backend/src/controllers/api/v1/flows/create-step.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/create-step.test.js @@ -2,15 +2,15 @@ import Crypto from 'node:crypto'; import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import createStepMock from '../../../../../test/mocks/rest/api/v1/flows/create-step.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import createStepMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/create-step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('POST /api/v1/flows/:flowId/steps', () => { +describe('POST /internal/api/v1/flows/:flowId/steps', () => { let currentUser, flow, triggerStep, token; beforeEach(async () => { @@ -41,7 +41,7 @@ describe('POST /api/v1/flows/:flowId/steps', () => { }); const response = await request(app) - .post(`/api/v1/flows/${flow.id}/steps`) + .post(`/internal/api/v1/flows/${flow.id}/steps`) .set('Authorization', token) .send({ previousStepId: triggerStep.id, @@ -83,7 +83,7 @@ describe('POST /api/v1/flows/:flowId/steps', () => { }); const response = await request(app) - .post(`/api/v1/flows/${anotherUserFlow.id}/steps`) + .post(`/internal/api/v1/flows/${anotherUserFlow.id}/steps`) .set('Authorization', token) .send({ previousStepId: anotherUserFlowTriggerStep.id, @@ -114,7 +114,7 @@ describe('POST /api/v1/flows/:flowId/steps', () => { }); await request(app) - .post('/api/v1/flows/invalidFlowUUID/steps') + .post('/internal/api/v1/flows/invalidFlowUUID/steps') .set('Authorization', token) .send({ previousStepId: triggerStep.id, @@ -140,7 +140,7 @@ describe('POST /api/v1/flows/:flowId/steps', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .post(`/api/v1/flows/${notExistingFlowUUID}/steps`) + .post(`/internal/api/v1/flows/${notExistingFlowUUID}/steps`) .set('Authorization', token) .send({ previousStepId: triggerStep.id, @@ -166,7 +166,7 @@ describe('POST /api/v1/flows/:flowId/steps', () => { const notExistingStepUUID = Crypto.randomUUID(); await request(app) - .post(`/api/v1/flows/${flow.id}/steps`) + .post(`/internal/api/v1/flows/${flow.id}/steps`) .set('Authorization', token) .send({ previousStepId: notExistingStepUUID, diff --git a/packages/backend/src/controllers/api/v1/flows/delete-flow.js b/packages/backend/src/controllers/internal/api/v1/flows/delete-flow.js similarity index 100% rename from packages/backend/src/controllers/api/v1/flows/delete-flow.js rename to packages/backend/src/controllers/internal/api/v1/flows/delete-flow.js diff --git a/packages/backend/src/controllers/api/v1/flows/delete-flow.test.js b/packages/backend/src/controllers/internal/api/v1/flows/delete-flow.test.js similarity index 78% rename from packages/backend/src/controllers/api/v1/flows/delete-flow.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/delete-flow.test.js index 9226ce6e..2c2a8236 100644 --- a/packages/backend/src/controllers/api/v1/flows/delete-flow.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/delete-flow.test.js @@ -1,13 +1,13 @@ import { describe, it, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('DELETE /api/v1/flows/:flowId', () => { +describe('DELETE /internal/api/v1/flows/:flowId', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -35,7 +35,7 @@ describe('DELETE /api/v1/flows/:flowId', () => { }); await request(app) - .delete(`/api/v1/flows/${currentUserFlow.id}`) + .delete(`/internal/api/v1/flows/${currentUserFlow.id}`) .set('Authorization', token) .expect(204); }); @@ -59,7 +59,7 @@ describe('DELETE /api/v1/flows/:flowId', () => { }); await request(app) - .delete(`/api/v1/flows/${anotherUserFlow.id}`) + .delete(`/internal/api/v1/flows/${anotherUserFlow.id}`) .set('Authorization', token) .expect(204); }); @@ -82,7 +82,7 @@ describe('DELETE /api/v1/flows/:flowId', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .delete(`/api/v1/flows/${notExistingFlowUUID}`) + .delete(`/internal/api/v1/flows/${notExistingFlowUUID}`) .set('Authorization', token) .expect(404); }); @@ -103,7 +103,7 @@ describe('DELETE /api/v1/flows/:flowId', () => { }); await request(app) - .delete('/api/v1/flows/invalidFlowUUID') + .delete('/internal/api/v1/flows/invalidFlowUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/flows/duplicate-flow.js b/packages/backend/src/controllers/internal/api/v1/flows/duplicate-flow.js similarity index 81% rename from packages/backend/src/controllers/api/v1/flows/duplicate-flow.js rename to packages/backend/src/controllers/internal/api/v1/flows/duplicate-flow.js index a4c7d582..7f93194c 100644 --- a/packages/backend/src/controllers/api/v1/flows/duplicate-flow.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/duplicate-flow.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const flow = await request.currentUser.authorizedFlows diff --git a/packages/backend/src/controllers/api/v1/flows/duplicate-flow.test.js b/packages/backend/src/controllers/internal/api/v1/flows/duplicate-flow.test.js similarity index 84% rename from packages/backend/src/controllers/api/v1/flows/duplicate-flow.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/duplicate-flow.test.js index 349c65f8..458fc273 100644 --- a/packages/backend/src/controllers/api/v1/flows/duplicate-flow.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/duplicate-flow.test.js @@ -1,15 +1,15 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import duplicateFlowMock from '../../../../../test/mocks/rest/api/v1/flows/duplicate-flow.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import duplicateFlowMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/duplicate-flow.js'; -describe('POST /api/v1/flows/:flowId/duplicate', () => { +describe('POST /internal/api/v1/flows/:flowId/duplicate', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -55,7 +55,7 @@ describe('POST /api/v1/flows/:flowId/duplicate', () => { }); const response = await request(app) - .post(`/api/v1/flows/${currentUserFlow.id}/duplicate`) + .post(`/internal/api/v1/flows/${currentUserFlow.id}/duplicate`) .set('Authorization', token) .expect(201); @@ -113,7 +113,7 @@ describe('POST /api/v1/flows/:flowId/duplicate', () => { }); const response = await request(app) - .post(`/api/v1/flows/${anotherUserFlow.id}/duplicate`) + .post(`/internal/api/v1/flows/${anotherUserFlow.id}/duplicate`) .set('Authorization', token) .expect(201); @@ -152,7 +152,7 @@ describe('POST /api/v1/flows/:flowId/duplicate', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .post(`/api/v1/flows/${notExistingFlowUUID}/duplicate`) + .post(`/internal/api/v1/flows/${notExistingFlowUUID}/duplicate`) .set('Authorization', token) .expect(404); }); @@ -176,7 +176,7 @@ describe('POST /api/v1/flows/:flowId/duplicate', () => { }); await request(app) - .post(`/api/v1/flows/${anotherUserFlow.id}/duplicate`) + .post(`/internal/api/v1/flows/${anotherUserFlow.id}/duplicate`) .set('Authorization', token) .expect(404); }); @@ -197,7 +197,7 @@ describe('POST /api/v1/flows/:flowId/duplicate', () => { }); await request(app) - .post('/api/v1/flows/invalidFlowUUID/duplicate') + .post('/internal/api/v1/flows/invalidFlowUUID/duplicate') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/flows/export-flow.js b/packages/backend/src/controllers/internal/api/v1/flows/export-flow.js similarity index 80% rename from packages/backend/src/controllers/api/v1/flows/export-flow.js rename to packages/backend/src/controllers/internal/api/v1/flows/export-flow.js index 5a1faac9..98756873 100644 --- a/packages/backend/src/controllers/api/v1/flows/export-flow.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/export-flow.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const flow = await request.currentUser.authorizedFlows diff --git a/packages/backend/src/controllers/api/v1/flows/export-flow.test.js b/packages/backend/src/controllers/internal/api/v1/flows/export-flow.test.js similarity index 83% rename from packages/backend/src/controllers/api/v1/flows/export-flow.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/export-flow.test.js index 315bec13..b9dff3ca 100644 --- a/packages/backend/src/controllers/api/v1/flows/export-flow.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/export-flow.test.js @@ -1,15 +1,15 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import exportFlowMock from '../../../../../test/mocks/rest/api/v1/flows/export-flow.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import exportFlowMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/export-flow.js'; -describe('POST /api/v1/flows/:flowId/export', () => { +describe('POST /internal/api/v1/flows/:flowId/export', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -63,7 +63,7 @@ describe('POST /api/v1/flows/:flowId/export', () => { }); const response = await request(app) - .post(`/api/v1/flows/${currentUserFlow.id}/export`) + .post(`/internal/api/v1/flows/${currentUserFlow.id}/export`) .set('Authorization', token) .expect(201); @@ -120,7 +120,7 @@ describe('POST /api/v1/flows/:flowId/export', () => { }); const response = await request(app) - .post(`/api/v1/flows/${anotherUserFlow.id}/export`) + .post(`/internal/api/v1/flows/${anotherUserFlow.id}/export`) .set('Authorization', token) .expect(201); @@ -150,7 +150,7 @@ describe('POST /api/v1/flows/:flowId/export', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .post(`/api/v1/flows/${notExistingFlowUUID}/export`) + .post(`/internal/api/v1/flows/${notExistingFlowUUID}/export`) .set('Authorization', token) .expect(404); }); @@ -174,7 +174,7 @@ describe('POST /api/v1/flows/:flowId/export', () => { }); await request(app) - .post(`/api/v1/flows/${anotherUserFlow.id}/export`) + .post(`/internal/api/v1/flows/${anotherUserFlow.id}/export`) .set('Authorization', token) .expect(404); }); @@ -195,7 +195,7 @@ describe('POST /api/v1/flows/:flowId/export', () => { }); await request(app) - .post('/api/v1/flows/invalidFlowUUID/export') + .post('/internal/api/v1/flows/invalidFlowUUID/export') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/flows/get-flow.js b/packages/backend/src/controllers/internal/api/v1/flows/get-flow.js similarity index 81% rename from packages/backend/src/controllers/api/v1/flows/get-flow.js rename to packages/backend/src/controllers/internal/api/v1/flows/get-flow.js index 00474696..7bc1d648 100644 --- a/packages/backend/src/controllers/api/v1/flows/get-flow.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/get-flow.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const flow = await request.currentUser.authorizedFlows diff --git a/packages/backend/src/controllers/api/v1/flows/get-flow.test.js b/packages/backend/src/controllers/internal/api/v1/flows/get-flow.test.js similarity index 75% rename from packages/backend/src/controllers/api/v1/flows/get-flow.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/get-flow.test.js index 19357ce7..24dd7993 100644 --- a/packages/backend/src/controllers/api/v1/flows/get-flow.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/get-flow.test.js @@ -1,15 +1,15 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createFlow } from '../../../../../test/factories/flow'; -import { createStep } from '../../../../../test/factories/step'; -import { createPermission } from '../../../../../test/factories/permission'; -import getFlowMock from '../../../../../test/mocks/rest/api/v1/flows/get-flow'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getFlowMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/get-flow.js'; -describe('GET /api/v1/flows/:flowId', () => { +describe('GET /internal/api/v1/flows/:flowId', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -32,7 +32,7 @@ describe('GET /api/v1/flows/:flowId', () => { }); const response = await request(app) - .get(`/api/v1/flows/${currentUserflow.id}`) + .get(`/internal/api/v1/flows/${currentUserflow.id}`) .set('Authorization', token) .expect(200); @@ -58,7 +58,7 @@ describe('GET /api/v1/flows/:flowId', () => { }); const response = await request(app) - .get(`/api/v1/flows/${anotherUserFlow.id}`) + .get(`/internal/api/v1/flows/${anotherUserFlow.id}`) .set('Authorization', token) .expect(200); @@ -81,7 +81,7 @@ describe('GET /api/v1/flows/:flowId', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .get(`/api/v1/flows/${notExistingFlowUUID}`) + .get(`/internal/api/v1/flows/${notExistingFlowUUID}`) .set('Authorization', token) .expect(404); }); @@ -95,7 +95,7 @@ describe('GET /api/v1/flows/:flowId', () => { }); await request(app) - .get('/api/v1/flows/invalidFlowUUID') + .get('/internal/api/v1/flows/invalidFlowUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/flows/get-flows.js b/packages/backend/src/controllers/internal/api/v1/flows/get-flows.js similarity index 82% rename from packages/backend/src/controllers/api/v1/flows/get-flows.js rename to packages/backend/src/controllers/internal/api/v1/flows/get-flows.js index db2e8e23..b962c27f 100644 --- a/packages/backend/src/controllers/api/v1/flows/get-flows.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/get-flows.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import paginateRest from '../../../../helpers/pagination.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import paginateRest from '../../../../../helpers/pagination.js'; export default async (request, response) => { await request.currentUser.hasFolderAccess(request.body.folderId); diff --git a/packages/backend/src/controllers/api/v1/flows/get-flows.test.js b/packages/backend/src/controllers/internal/api/v1/flows/get-flows.test.js similarity index 91% rename from packages/backend/src/controllers/api/v1/flows/get-flows.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/get-flows.test.js index fcd71c65..d0f04d5c 100644 --- a/packages/backend/src/controllers/api/v1/flows/get-flows.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/get-flows.test.js @@ -1,15 +1,15 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createFlow } from '../../../../../test/factories/flow'; -import { createStep } from '../../../../../test/factories/step'; -import { createFolder } from '../../../../../test/factories/folder'; -import { createPermission } from '../../../../../test/factories/permission'; -import getFlowsMock from '../../../../../test/mocks/rest/api/v1/flows/get-flows.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createFolder } from '../../../../../../test/factories/folder.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getFlowsMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/get-flows.js'; -describe('GET /api/v1/flows', () => { +describe('GET /internal/api/v1/flows', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -50,7 +50,7 @@ describe('GET /api/v1/flows', () => { }); const response = await request(app) - .get('/api/v1/flows') + .get('/internal/api/v1/flows') .set('Authorization', token) .expect(200); @@ -101,7 +101,7 @@ describe('GET /api/v1/flows', () => { }); const response = await request(app) - .get('/api/v1/flows') + .get('/internal/api/v1/flows') .set('Authorization', token) .expect(200); @@ -173,7 +173,7 @@ describe('GET /api/v1/flows', () => { }); const response = await request(app) - .get('/api/v1/flows') + .get('/internal/api/v1/flows') .set('Authorization', token) .expect(200); @@ -262,7 +262,7 @@ describe('GET /api/v1/flows', () => { }); const response = await request(app) - .get(`/api/v1/flows?folderId=null`) + .get(`/internal/api/v1/flows?folderId=null`) .set('Authorization', token) .expect(200); @@ -349,7 +349,7 @@ describe('GET /api/v1/flows', () => { }); const response = await request(app) - .get(`/api/v1/flows?folderId=${folderOne.id}`) + .get(`/internal/api/v1/flows?folderId=${folderOne.id}`) .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/flows/get-folder.js b/packages/backend/src/controllers/internal/api/v1/flows/get-folder.js similarity index 81% rename from packages/backend/src/controllers/api/v1/flows/get-folder.js rename to packages/backend/src/controllers/internal/api/v1/flows/get-folder.js index 6c3bc0eb..842236d4 100644 --- a/packages/backend/src/controllers/api/v1/flows/get-folder.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/get-folder.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const flow = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/flows/get-folder.test.js b/packages/backend/src/controllers/internal/api/v1/flows/get-folder.test.js similarity index 66% rename from packages/backend/src/controllers/api/v1/flows/get-folder.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/get-folder.test.js index 867356be..19d425cb 100644 --- a/packages/backend/src/controllers/api/v1/flows/get-folder.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/get-folder.test.js @@ -1,16 +1,16 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createFlow } from '../../../../../test/factories/flow'; -import { createStep } from '../../../../../test/factories/step'; -import { createPermission } from '../../../../../test/factories/permission'; -import { createFolder } from '../../../../../test/factories/folder'; -import getFolderMock from '../../../../../test/mocks/rest/api/v1/flows/get-folder'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import { createFolder } from '../../../../../../test/factories/folder.js'; +import getFolderMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/get-folder.js'; -describe('GET /api/v1/flows/:flowId/folder', () => { +describe('GET /internal/api/v1/flows/:flowId/folder', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -38,7 +38,7 @@ describe('GET /api/v1/flows/:flowId/folder', () => { }); const response = await request(app) - .get(`/api/v1/flows/${currentUserFlow.id}/folder`) + .get(`/internal/api/v1/flows/${currentUserFlow.id}/folder`) .set('Authorization', token) .expect(200); @@ -58,7 +58,7 @@ describe('GET /api/v1/flows/:flowId/folder', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .get(`/api/v1/flows/${notExistingFlowUUID}/folder`) + .get(`/internal/api/v1/flows/${notExistingFlowUUID}/folder`) .set('Authorization', token) .expect(404); }); @@ -72,7 +72,7 @@ describe('GET /api/v1/flows/:flowId/folder', () => { }); await request(app) - .get('/api/v1/flows/invalidFlowUUID/folder') + .get('/internal/api/v1/flows/invalidFlowUUID/folder') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/flows/import-flow.js b/packages/backend/src/controllers/internal/api/v1/flows/import-flow.js similarity index 83% rename from packages/backend/src/controllers/api/v1/flows/import-flow.js rename to packages/backend/src/controllers/internal/api/v1/flows/import-flow.js index 5b6a2383..38c86eed 100644 --- a/packages/backend/src/controllers/api/v1/flows/import-flow.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/import-flow.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import Flow from '../../../../models/flow.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import Flow from '../../../../../models/flow.js'; export default async function importFlowController(request, response) { const flow = await Flow.import(request.currentUser, flowParams(request)); diff --git a/packages/backend/src/controllers/api/v1/flows/import-flow.test.js b/packages/backend/src/controllers/internal/api/v1/flows/import-flow.test.js similarity index 92% rename from packages/backend/src/controllers/api/v1/flows/import-flow.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/import-flow.test.js index 21f89a4f..7cb3a0e5 100644 --- a/packages/backend/src/controllers/api/v1/flows/import-flow.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/import-flow.test.js @@ -1,14 +1,14 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import importFlowMock from '../../../../../test/mocks/rest/api/v1/flows/import-flow.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import importFlowMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/import-flow.js'; -describe('POST /api/v1/flows/import', () => { +describe('POST /internal/api/v1/flows/import', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -81,7 +81,7 @@ describe('POST /api/v1/flows/import', () => { }; const response = await request(app) - .post('/api/v1/flows/import') + .post('/internal/api/v1/flows/import') .set('Authorization', token) .send(importFlowData) .expect(201); @@ -157,7 +157,7 @@ describe('POST /api/v1/flows/import', () => { }; const response = await request(app) - .post('/api/v1/flows/import') + .post('/internal/api/v1/flows/import') .set('Authorization', token) .send(importFlowData) .expect(201); @@ -239,7 +239,7 @@ describe('POST /api/v1/flows/import', () => { }; const response = await request(app) - .post('/api/v1/flows/import') + .post('/internal/api/v1/flows/import') .set('Authorization', token) .send(importFlowData) .expect(201); @@ -312,7 +312,7 @@ describe('POST /api/v1/flows/import', () => { }; const response = await request(app) - .post('/api/v1/flows/import') + .post('/internal/api/v1/flows/import') .set('Authorization', token) .send(importFlowData) .expect(201); @@ -343,7 +343,7 @@ describe('POST /api/v1/flows/import', () => { }; const response = await request(app) - .post('/api/v1/flows/import') + .post('/internal/api/v1/flows/import') .set('Authorization', token) .send(importFlowData) .expect(422); diff --git a/packages/backend/src/controllers/api/v1/flows/update-flow-folder.js b/packages/backend/src/controllers/internal/api/v1/flows/update-flow-folder.js similarity index 81% rename from packages/backend/src/controllers/api/v1/flows/update-flow-folder.js rename to packages/backend/src/controllers/internal/api/v1/flows/update-flow-folder.js index 2decc114..9d7d5049 100644 --- a/packages/backend/src/controllers/api/v1/flows/update-flow-folder.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/update-flow-folder.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let flow = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/flows/update-flow-folder.test.js b/packages/backend/src/controllers/internal/api/v1/flows/update-flow-folder.test.js similarity index 79% rename from packages/backend/src/controllers/api/v1/flows/update-flow-folder.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/update-flow-folder.test.js index 1be8bf30..906b5fa7 100644 --- a/packages/backend/src/controllers/api/v1/flows/update-flow-folder.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/update-flow-folder.test.js @@ -1,16 +1,16 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createFolder } from '../../../../../test/factories/folder.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import updateFlowFolderMock from '../../../../../test/mocks/rest/api/v1/flows/update-flow-folder.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createFolder } from '../../../../../../test/factories/folder.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import updateFlowFolderMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/update-flow-folder.js'; -describe('PATCH /api/v1/flows/:flowId/folder', () => { +describe('PATCH /internal/api/v1/flows/:flowId/folder', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -57,7 +57,7 @@ describe('PATCH /api/v1/flows/:flowId/folder', () => { }); const response = await request(app) - .patch(`/api/v1/flows/${currentUserFlow.id}/folder`) + .patch(`/internal/api/v1/flows/${currentUserFlow.id}/folder`) .set('Authorization', token) .send({ folderId: folder.id }) .expect(200); @@ -84,7 +84,7 @@ describe('PATCH /api/v1/flows/:flowId/folder', () => { }); await request(app) - .patch(`/api/v1/flows/${anotherUserFlow.id}/folder`) + .patch(`/internal/api/v1/flows/${anotherUserFlow.id}/folder`) .set('Authorization', token) .send({ folderId: 12345 }) .expect(404); @@ -103,7 +103,7 @@ describe('PATCH /api/v1/flows/:flowId/folder', () => { }); await request(app) - .patch(`/api/v1/flows/${flow.id}/folder`) + .patch(`/internal/api/v1/flows/${flow.id}/folder`) .set('Authorization', token) .send({ folderId: anotherUserFolder.id }) .expect(404); @@ -120,7 +120,7 @@ describe('PATCH /api/v1/flows/:flowId/folder', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .patch(`/api/v1/flows/${notExistingFlowUUID}/folder`) + .patch(`/internal/api/v1/flows/${notExistingFlowUUID}/folder`) .set('Authorization', token) .send({ folderId: 12345 }) .expect(404); @@ -139,7 +139,7 @@ describe('PATCH /api/v1/flows/:flowId/folder', () => { const notExistingFolderUUID = Crypto.randomUUID(); await request(app) - .patch(`/api/v1/flows/${flow.id}/folder`) + .patch(`/internal/api/v1/flows/${flow.id}/folder`) .set('Authorization', token) .send({ folderId: notExistingFolderUUID }) .expect(404); @@ -153,7 +153,7 @@ describe('PATCH /api/v1/flows/:flowId/folder', () => { }); await request(app) - .patch('/api/v1/flows/invalidFlowUUID/folder') + .patch('/internal/api/v1/flows/invalidFlowUUID/folder') .set('Authorization', token) .expect(400); }); @@ -168,7 +168,7 @@ describe('PATCH /api/v1/flows/:flowId/folder', () => { const flow = await createFlow({ userId: currentUser.id }); await request(app) - .patch(`/api/v1/flows/${flow.id}/folder`) + .patch(`/internal/api/v1/flows/${flow.id}/folder`) .set('Authorization', token) .send({ folderId: 'invalidFolderUUID' }) .expect(400); diff --git a/packages/backend/src/controllers/api/v1/flows/update-flow-status.js b/packages/backend/src/controllers/internal/api/v1/flows/update-flow-status.js similarity index 81% rename from packages/backend/src/controllers/api/v1/flows/update-flow-status.js rename to packages/backend/src/controllers/internal/api/v1/flows/update-flow-status.js index 4bc4fd9a..ebed4e87 100644 --- a/packages/backend/src/controllers/api/v1/flows/update-flow-status.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/update-flow-status.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let flow = await request.currentUser.authorizedFlows diff --git a/packages/backend/src/controllers/api/v1/flows/update-flow-status.test.js b/packages/backend/src/controllers/internal/api/v1/flows/update-flow-status.test.js similarity index 84% rename from packages/backend/src/controllers/api/v1/flows/update-flow-status.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/update-flow-status.test.js index ff9a11d8..c2cb3bc6 100644 --- a/packages/backend/src/controllers/api/v1/flows/update-flow-status.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/update-flow-status.test.js @@ -1,15 +1,15 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import updateFlowStatusMock from '../../../../../test/mocks/rest/api/v1/flows/update-flow-status.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import updateFlowStatusMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/update-flow-status.js'; -describe('PATCH /api/v1/flows/:flowId/status', () => { +describe('PATCH /internal/api/v1/flows/:flowId/status', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -58,7 +58,7 @@ describe('PATCH /api/v1/flows/:flowId/status', () => { }); const response = await request(app) - .patch(`/api/v1/flows/${currentUserFlow.id}/status`) + .patch(`/internal/api/v1/flows/${currentUserFlow.id}/status`) .set('Authorization', token) .send({ active: true }) .expect(200); @@ -121,7 +121,7 @@ describe('PATCH /api/v1/flows/:flowId/status', () => { }); const response = await request(app) - .patch(`/api/v1/flows/${anotherUserFlow.id}/status`) + .patch(`/internal/api/v1/flows/${anotherUserFlow.id}/status`) .set('Authorization', token) .send({ active: true }) .expect(200); @@ -161,7 +161,7 @@ describe('PATCH /api/v1/flows/:flowId/status', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .patch(`/api/v1/flows/${notExistingFlowUUID}/status`) + .patch(`/internal/api/v1/flows/${notExistingFlowUUID}/status`) .set('Authorization', token) .expect(404); }); @@ -185,7 +185,7 @@ describe('PATCH /api/v1/flows/:flowId/status', () => { }); await request(app) - .patch(`/api/v1/flows/${anotherUserFlow.id}/status`) + .patch(`/internal/api/v1/flows/${anotherUserFlow.id}/status`) .set('Authorization', token) .expect(404); }); @@ -206,7 +206,7 @@ describe('PATCH /api/v1/flows/:flowId/status', () => { }); await request(app) - .patch('/api/v1/flows/invalidFlowUUID/status') + .patch('/internal/api/v1/flows/invalidFlowUUID/status') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/flows/update-flow.js b/packages/backend/src/controllers/internal/api/v1/flows/update-flow.js similarity index 81% rename from packages/backend/src/controllers/api/v1/flows/update-flow.js rename to packages/backend/src/controllers/internal/api/v1/flows/update-flow.js index 7554d840..4cac2796 100644 --- a/packages/backend/src/controllers/api/v1/flows/update-flow.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/update-flow.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const flow = await request.currentUser.authorizedFlows diff --git a/packages/backend/src/controllers/api/v1/flows/update-flow.test.js b/packages/backend/src/controllers/internal/api/v1/flows/update-flow.test.js similarity index 82% rename from packages/backend/src/controllers/api/v1/flows/update-flow.test.js rename to packages/backend/src/controllers/internal/api/v1/flows/update-flow.test.js index 59fa3a8e..9fee5494 100644 --- a/packages/backend/src/controllers/api/v1/flows/update-flow.test.js +++ b/packages/backend/src/controllers/internal/api/v1/flows/update-flow.test.js @@ -1,14 +1,14 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import getFlowMock from '../../../../../test/mocks/rest/api/v1/flows/get-flow.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getFlowMock from '../../../../../../test/mocks/rest/internal/api/v1/flows/get-flow.js'; -describe('PATCH /api/v1/flows/:flowId', () => { +describe('PATCH /internal/api/v1/flows/:flowId', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -36,7 +36,7 @@ describe('PATCH /api/v1/flows/:flowId', () => { }); const response = await request(app) - .patch(`/api/v1/flows/${currentUserFlow.id}`) + .patch(`/internal/api/v1/flows/${currentUserFlow.id}`) .set('Authorization', token) .send({ name: 'Updated flow', @@ -72,7 +72,7 @@ describe('PATCH /api/v1/flows/:flowId', () => { }); const response = await request(app) - .patch(`/api/v1/flows/${anotherUserFlow.id}`) + .patch(`/internal/api/v1/flows/${anotherUserFlow.id}`) .set('Authorization', token) .send({ name: 'Updated flow', @@ -107,7 +107,7 @@ describe('PATCH /api/v1/flows/:flowId', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .patch(`/api/v1/flows/${notExistingFlowUUID}`) + .patch(`/internal/api/v1/flows/${notExistingFlowUUID}`) .set('Authorization', token) .expect(404); }); @@ -128,7 +128,7 @@ describe('PATCH /api/v1/flows/:flowId', () => { }); await request(app) - .patch('/api/v1/flows/invalidFlowUUID') + .patch('/internal/api/v1/flows/invalidFlowUUID') .set('Authorization', token) .expect(400); }); @@ -151,7 +151,7 @@ describe('PATCH /api/v1/flows/:flowId', () => { }); const response = await request(app) - .patch(`/api/v1/flows/${currentUserFlow.id}`) + .patch(`/internal/api/v1/flows/${currentUserFlow.id}`) .set('Authorization', token) .send({ name: 123123, diff --git a/packages/backend/src/controllers/api/v1/folders/create-folder.js b/packages/backend/src/controllers/internal/api/v1/folders/create-folder.js similarity index 77% rename from packages/backend/src/controllers/api/v1/folders/create-folder.js rename to packages/backend/src/controllers/internal/api/v1/folders/create-folder.js index 4c50a05c..14b2d135 100644 --- a/packages/backend/src/controllers/api/v1/folders/create-folder.js +++ b/packages/backend/src/controllers/internal/api/v1/folders/create-folder.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const folder = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/folders/create-folder.test.js b/packages/backend/src/controllers/internal/api/v1/folders/create-folder.test.js similarity index 65% rename from packages/backend/src/controllers/api/v1/folders/create-folder.test.js rename to packages/backend/src/controllers/internal/api/v1/folders/create-folder.test.js index 8ad563b2..00d5ae27 100644 --- a/packages/backend/src/controllers/api/v1/folders/create-folder.test.js +++ b/packages/backend/src/controllers/internal/api/v1/folders/create-folder.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import createFolderMock from '../../../../../test/mocks/rest/api/v1/folders/create-folder.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import createFolderMock from '../../../../../../test/mocks/rest/internal/api/v1/folders/create-folder.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('POST /api/v1/folders', () => { +describe('POST /internal/api/v1/folders', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -25,7 +25,7 @@ describe('POST /api/v1/folders', () => { }); const response = await request(app) - .post('/api/v1/folders') + .post('/internal/api/v1/folders') .set('Authorization', token) .send({ name: 'Test Folder', diff --git a/packages/backend/src/controllers/api/v1/folders/delete-folder.js b/packages/backend/src/controllers/internal/api/v1/folders/delete-folder.js similarity index 100% rename from packages/backend/src/controllers/api/v1/folders/delete-folder.js rename to packages/backend/src/controllers/internal/api/v1/folders/delete-folder.js diff --git a/packages/backend/src/controllers/api/v1/folders/delete-folder.test.js b/packages/backend/src/controllers/internal/api/v1/folders/delete-folder.test.js similarity index 68% rename from packages/backend/src/controllers/api/v1/folders/delete-folder.test.js rename to packages/backend/src/controllers/internal/api/v1/folders/delete-folder.test.js index e1f14be7..e42cd125 100644 --- a/packages/backend/src/controllers/api/v1/folders/delete-folder.test.js +++ b/packages/backend/src/controllers/internal/api/v1/folders/delete-folder.test.js @@ -1,13 +1,13 @@ import { describe, it, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFolder } from '../../../../../test/factories/folder.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFolder } from '../../../../../../test/factories/folder.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('DELETE /api/v1/folders/:folderId', () => { +describe('DELETE /internal/api/v1/folders/:folderId', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -27,7 +27,7 @@ describe('DELETE /api/v1/folders/:folderId', () => { }); await request(app) - .delete(`/api/v1/folders/${currentUserFolder.id}`) + .delete(`/internal/api/v1/folders/${currentUserFolder.id}`) .set('Authorization', token) .expect(204); }); @@ -42,7 +42,7 @@ describe('DELETE /api/v1/folders/:folderId', () => { const notExistingFolderUUID = Crypto.randomUUID(); await request(app) - .delete(`/api/v1/folders/${notExistingFolderUUID}`) + .delete(`/internal/api/v1/folders/${notExistingFolderUUID}`) .set('Authorization', token) .expect(404); }); @@ -55,7 +55,7 @@ describe('DELETE /api/v1/folders/:folderId', () => { }); await request(app) - .delete('/api/v1/folders/invalidFolderUUID') + .delete('/internal/api/v1/folders/invalidFolderUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/folders/get-folders.js b/packages/backend/src/controllers/internal/api/v1/folders/get-folders.js similarity index 73% rename from packages/backend/src/controllers/api/v1/folders/get-folders.js rename to packages/backend/src/controllers/internal/api/v1/folders/get-folders.js index 245541d3..d2623b87 100644 --- a/packages/backend/src/controllers/api/v1/folders/get-folders.js +++ b/packages/backend/src/controllers/internal/api/v1/folders/get-folders.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const folders = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/folders/get-folders.test.js b/packages/backend/src/controllers/internal/api/v1/folders/get-folders.test.js similarity index 66% rename from packages/backend/src/controllers/api/v1/folders/get-folders.test.js rename to packages/backend/src/controllers/internal/api/v1/folders/get-folders.test.js index 827f8798..1be77cc7 100644 --- a/packages/backend/src/controllers/api/v1/folders/get-folders.test.js +++ b/packages/backend/src/controllers/internal/api/v1/folders/get-folders.test.js @@ -1,13 +1,13 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFolder } from '../../../../../test/factories/folder.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import getFoldersMock from '../../../../../test/mocks/rest/api/v1/folders/get-folders.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFolder } from '../../../../../../test/factories/folder.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getFoldersMock from '../../../../../../test/mocks/rest/internal/api/v1/folders/get-folders.js'; -describe('GET /api/v1/folders', () => { +describe('GET /internal/api/v1/folders', () => { let folderOne, folderTwo, currentUser, currentUserRole, token; beforeEach(async () => { @@ -42,7 +42,7 @@ describe('GET /api/v1/folders', () => { }); const response = await request(app) - .get('/api/v1/folders') + .get('/internal/api/v1/folders') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/folders/update-folder.js b/packages/backend/src/controllers/internal/api/v1/folders/update-folder.js similarity index 82% rename from packages/backend/src/controllers/api/v1/folders/update-folder.js rename to packages/backend/src/controllers/internal/api/v1/folders/update-folder.js index e29656de..668ae596 100644 --- a/packages/backend/src/controllers/api/v1/folders/update-folder.js +++ b/packages/backend/src/controllers/internal/api/v1/folders/update-folder.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const folder = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/folders/update-folder.test.js b/packages/backend/src/controllers/internal/api/v1/folders/update-folder.test.js similarity index 74% rename from packages/backend/src/controllers/api/v1/folders/update-folder.test.js rename to packages/backend/src/controllers/internal/api/v1/folders/update-folder.test.js index 4478c050..43fe0e9d 100644 --- a/packages/backend/src/controllers/api/v1/folders/update-folder.test.js +++ b/packages/backend/src/controllers/internal/api/v1/folders/update-folder.test.js @@ -1,14 +1,14 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createFolder } from '../../../../../test/factories/folder.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import updateFolderMock from '../../../../../test/mocks/rest/api/v1/folders/update-folder.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFolder } from '../../../../../../test/factories/folder.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import updateFolderMock from '../../../../../../test/mocks/rest/internal/api/v1/folders/update-folder.js'; -describe('PATCH /api/v1/folders/:folderId', () => { +describe('PATCH /internal/api/v1/folders/:folderId', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -28,7 +28,7 @@ describe('PATCH /api/v1/folders/:folderId', () => { }); const response = await request(app) - .patch(`/api/v1/folders/${currentUserFolder.id}`) + .patch(`/internal/api/v1/folders/${currentUserFolder.id}`) .set('Authorization', token) .send({ name: 'Updated folder name', @@ -55,7 +55,7 @@ describe('PATCH /api/v1/folders/:folderId', () => { const notExistingFolderUUID = Crypto.randomUUID(); await request(app) - .patch(`/api/v1/folders/${notExistingFolderUUID}`) + .patch(`/internal/api/v1/folders/${notExistingFolderUUID}`) .set('Authorization', token) .expect(404); }); @@ -68,7 +68,7 @@ describe('PATCH /api/v1/folders/:folderId', () => { }); await request(app) - .patch('/api/v1/folders/invalidFolderUUID') + .patch('/internal/api/v1/folders/invalidFolderUUID') .set('Authorization', token) .expect(400); }); @@ -83,7 +83,7 @@ describe('PATCH /api/v1/folders/:folderId', () => { }); const response = await request(app) - .patch(`/api/v1/folders/${currentUserFolder.id}`) + .patch(`/internal/api/v1/folders/${currentUserFolder.id}`) .set('Authorization', token) .send({ name: null, diff --git a/packages/backend/src/controllers/api/v1/installation/users/create-user.js b/packages/backend/src/controllers/internal/api/v1/installation/users/create-user.js similarity index 78% rename from packages/backend/src/controllers/api/v1/installation/users/create-user.js rename to packages/backend/src/controllers/internal/api/v1/installation/users/create-user.js index 84172310..574c4ac1 100644 --- a/packages/backend/src/controllers/api/v1/installation/users/create-user.js +++ b/packages/backend/src/controllers/internal/api/v1/installation/users/create-user.js @@ -1,4 +1,4 @@ -import User from '../../../../../models/user.js'; +import User from '../../../../../../models/user.js'; export default async (request, response) => { const { email, password, fullName } = request.body; diff --git a/packages/backend/src/controllers/api/v1/installation/users/create-user.test.js b/packages/backend/src/controllers/internal/api/v1/installation/users/create-user.test.js similarity index 77% rename from packages/backend/src/controllers/api/v1/installation/users/create-user.test.js rename to packages/backend/src/controllers/internal/api/v1/installation/users/create-user.test.js index 428437d7..54f67c89 100644 --- a/packages/backend/src/controllers/api/v1/installation/users/create-user.test.js +++ b/packages/backend/src/controllers/internal/api/v1/installation/users/create-user.test.js @@ -1,13 +1,13 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../../app.js'; -import Config from '../../../../../models/config.js'; -import User from '../../../../../models/user.js'; -import { createRole } from '../../../../../../test/factories/role'; -import { createUser } from '../../../../../../test/factories/user'; -import { markInstallationCompleted } from '../../../../../../test/factories/config'; +import app from '../../../../../../app.js'; +import Config from '../../../../../../models/config.js'; +import User from '../../../../../../models/user.js'; +import { createRole } from '../../../../../../../test/factories/role'; +import { createUser } from '../../../../../../../test/factories/user'; +import { markInstallationCompleted } from '../../../../../../../test/factories/config'; -describe('POST /api/v1/installation/users', () => { +describe('POST /internal/api/v1/installation/users', () => { let adminRole; beforeEach(async () => { @@ -21,7 +21,7 @@ describe('POST /api/v1/installation/users', () => { expect(await Config.isInstallationCompleted()).toBe(false); await request(app) - .post('/api/v1/installation/users') + .post('/internal/api/v1/installation/users') .send({ email: 'user@automatisch.io', password: 'password', @@ -43,7 +43,7 @@ describe('POST /api/v1/installation/users', () => { const usersCountBefore = await User.query().resultSize(); await request(app) - .post('/api/v1/installation/users') + .post('/internal/api/v1/installation/users') .send({ email: 'user@automatisch.io', password: 'password', @@ -66,7 +66,7 @@ describe('POST /api/v1/installation/users', () => { expect(await Config.isInstallationCompleted()).toBe(true); await request(app) - .post('/api/v1/installation/users') + .post('/internal/api/v1/installation/users') .send({ email: 'user@automatisch.io', password: 'password', diff --git a/packages/backend/src/controllers/internal/api/v1/payment/get-paddle-info.ee.js b/packages/backend/src/controllers/internal/api/v1/payment/get-paddle-info.ee.js new file mode 100644 index 00000000..257119eb --- /dev/null +++ b/packages/backend/src/controllers/internal/api/v1/payment/get-paddle-info.ee.js @@ -0,0 +1,8 @@ +import { renderObject } from '../../../../../helpers/renderer.js'; +import Billing from '../../../../../helpers/billing/index.ee.js'; + +export default async (request, response) => { + const paddleInfo = Billing.paddleInfo; + + renderObject(response, paddleInfo); +}; diff --git a/packages/backend/src/controllers/api/v1/payment/get-paddle-info.ee.test.js b/packages/backend/src/controllers/internal/api/v1/payment/get-paddle-info.ee.test.js similarity index 55% rename from packages/backend/src/controllers/api/v1/payment/get-paddle-info.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/payment/get-paddle-info.ee.test.js index 4e81f4d4..dabad71d 100644 --- a/packages/backend/src/controllers/api/v1/payment/get-paddle-info.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/payment/get-paddle-info.ee.test.js @@ -1,13 +1,13 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import getPaddleInfoMock from '../../../../../test/mocks/rest/api/v1/payment/get-paddle-info.js'; -import appConfig from '../../../../config/app.js'; -import billing from '../../../../helpers/billing/index.ee.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getPaddleInfoMock from '../../../../../../test/mocks/rest/internal/api/v1/payment/get-paddle-info.js'; +import appConfig from '../../../../../config/app.js'; +import billing from '../../../../../helpers/billing/index.ee.js'; -describe('GET /api/v1/payment/paddle-info', () => { +describe('GET /internal/api/v1/payment/paddle-info', () => { let user, token; beforeEach(async () => { @@ -22,7 +22,7 @@ describe('GET /api/v1/payment/paddle-info', () => { it('should return payment plans', async () => { const response = await request(app) - .get('/api/v1/payment/paddle-info') + .get('/internal/api/v1/payment/paddle-info') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/payment/get-plans.ee.js b/packages/backend/src/controllers/internal/api/v1/payment/get-plans.ee.js similarity index 50% rename from packages/backend/src/controllers/api/v1/payment/get-plans.ee.js rename to packages/backend/src/controllers/internal/api/v1/payment/get-plans.ee.js index 32c0bf8c..3c6798f1 100644 --- a/packages/backend/src/controllers/api/v1/payment/get-plans.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/payment/get-plans.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import Billing from '../../../../helpers/billing/index.ee.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import Billing from '../../../../../helpers/billing/index.ee.js'; export default async (request, response) => { const paymentPlans = Billing.paddlePlans; diff --git a/packages/backend/src/controllers/api/v1/payment/get-plans.ee.test.js b/packages/backend/src/controllers/internal/api/v1/payment/get-plans.ee.test.js similarity index 55% rename from packages/backend/src/controllers/api/v1/payment/get-plans.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/payment/get-plans.ee.test.js index 7d953cd4..68d7762a 100644 --- a/packages/backend/src/controllers/api/v1/payment/get-plans.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/payment/get-plans.ee.test.js @@ -1,12 +1,12 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import getPaymentPlansMock from '../../../../../test/mocks/rest/api/v1/payment/get-plans.js'; -import appConfig from '../../../../config/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getPaymentPlansMock from '../../../../../../test/mocks/rest/internal/api/v1/payment/get-plans.js'; +import appConfig from '../../../../../config/app.js'; -describe('GET /api/v1/payment/plans', () => { +describe('GET /internal/api/v1/payment/plans', () => { let user, token; beforeEach(async () => { @@ -18,7 +18,7 @@ describe('GET /api/v1/payment/plans', () => { it('should return payment plans', async () => { const response = await request(app) - .get('/api/v1/payment/plans') + .get('/internal/api/v1/payment/plans') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/saml-auth-providers/get-saml-auth-providers.ee.js b/packages/backend/src/controllers/internal/api/v1/saml-auth-providers/get-saml-auth-providers.ee.js similarity index 61% rename from packages/backend/src/controllers/api/v1/saml-auth-providers/get-saml-auth-providers.ee.js rename to packages/backend/src/controllers/internal/api/v1/saml-auth-providers/get-saml-auth-providers.ee.js index 3b066438..52bcf571 100644 --- a/packages/backend/src/controllers/api/v1/saml-auth-providers/get-saml-auth-providers.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/saml-auth-providers/get-saml-auth-providers.ee.js @@ -1,5 +1,5 @@ -import { renderObject } from '../../../../helpers/renderer.js'; -import SamlAuthProvider from '../../../../models/saml-auth-provider.ee.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; +import SamlAuthProvider from '../../../../../models/saml-auth-provider.ee.js'; export default async (request, response) => { const samlAuthProviders = await SamlAuthProvider.query() diff --git a/packages/backend/src/controllers/api/v1/saml-auth-providers/get-saml-auth-providers.ee.test.js b/packages/backend/src/controllers/internal/api/v1/saml-auth-providers/get-saml-auth-providers.ee.test.js similarity index 59% rename from packages/backend/src/controllers/api/v1/saml-auth-providers/get-saml-auth-providers.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/saml-auth-providers/get-saml-auth-providers.ee.test.js index faed4f0b..1dab0d50 100644 --- a/packages/backend/src/controllers/api/v1/saml-auth-providers/get-saml-auth-providers.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/saml-auth-providers/get-saml-auth-providers.ee.test.js @@ -1,11 +1,11 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import { createSamlAuthProvider } from '../../../../../test/factories/saml-auth-provider.ee.js'; -import getSamlAuthProvidersMock from '../../../../../test/mocks/rest/api/v1/saml-auth-providers/get-saml-auth-providers.js'; -import * as license from '../../../../helpers/license.ee.js'; +import app from '../../../../../app.js'; +import { createSamlAuthProvider } from '../../../../../../test/factories/saml-auth-provider.ee.js'; +import getSamlAuthProvidersMock from '../../../../../../test/mocks/rest/internal/api/v1/saml-auth-providers/get-saml-auth-providers.js'; +import * as license from '../../../../../helpers/license.ee.js'; -describe('GET /api/v1/saml-auth-providers', () => { +describe('GET /internal/api/v1/saml-auth-providers', () => { let samlAuthProviderOne, samlAuthProviderTwo; beforeEach(async () => { @@ -17,7 +17,7 @@ describe('GET /api/v1/saml-auth-providers', () => { vi.spyOn(license, 'hasValidLicense').mockResolvedValue(true); const response = await request(app) - .get('/api/v1/saml-auth-providers') + .get('/internal/api/v1/saml-auth-providers') .expect(200); const expectedPayload = await getSamlAuthProvidersMock([ diff --git a/packages/backend/src/controllers/api/v1/steps/create-dynamic-data.js b/packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-data.js similarity index 85% rename from packages/backend/src/controllers/api/v1/steps/create-dynamic-data.js rename to packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-data.js index 3bb2d8a0..c096ace8 100644 --- a/packages/backend/src/controllers/api/v1/steps/create-dynamic-data.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-data.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const step = await request.currentUser.authorizedSteps diff --git a/packages/backend/src/controllers/api/v1/steps/create-dynamic-data.test.js b/packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-data.test.js similarity index 83% rename from packages/backend/src/controllers/api/v1/steps/create-dynamic-data.test.js rename to packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-data.test.js index 1d05ba16..c61a5ff9 100644 --- a/packages/backend/src/controllers/api/v1/steps/create-dynamic-data.test.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-data.test.js @@ -1,17 +1,17 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createConnection } from '../../../../../test/factories/connection'; -import { createFlow } from '../../../../../test/factories/flow'; -import { createStep } from '../../../../../test/factories/step'; -import { createPermission } from '../../../../../test/factories/permission'; -import listRepos from '../../../../apps/github/dynamic-data/list-repos/index.js'; -import HttpError from '../../../../errors/http.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import listRepos from '../../../../../apps/github/dynamic-data/list-repos/index.js'; +import HttpError from '../../../../../errors/http.js'; -describe('POST /api/v1/steps/:stepId/dynamic-data', () => { +describe('POST /internal/api/v1/steps/:stepId/dynamic-data', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -70,7 +70,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-data', () => { }); const response = await request(app) - .post(`/api/v1/steps/${actionStep.id}/dynamic-data`) + .post(`/internal/api/v1/steps/${actionStep.id}/dynamic-data`) .set('Authorization', token) .send({ dynamicDataKey: 'listRepos', @@ -109,7 +109,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-data', () => { }); const response = await request(app) - .post(`/api/v1/steps/${actionStep.id}/dynamic-data`) + .post(`/internal/api/v1/steps/${actionStep.id}/dynamic-data`) .set('Authorization', token) .send({ dynamicDataKey: 'listRepos', @@ -163,7 +163,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-data', () => { }); const response = await request(app) - .post(`/api/v1/steps/${actionStep.id}/dynamic-data`) + .post(`/internal/api/v1/steps/${actionStep.id}/dynamic-data`) .set('Authorization', token) .send({ dynamicDataKey: 'listRepos', @@ -193,7 +193,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-data', () => { const notExistingStepUUID = Crypto.randomUUID(); await request(app) - .post(`/api/v1/steps/${notExistingStepUUID}/dynamic-data`) + .post(`/internal/api/v1/steps/${notExistingStepUUID}/dynamic-data`) .set('Authorization', token) .expect(404); }); @@ -216,7 +216,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-data', () => { const step = await createStep({ appKey: null }); await request(app) - .post(`/api/v1/steps/${step.id}/dynamic-data`) + .post(`/internal/api/v1/steps/${step.id}/dynamic-data`) .set('Authorization', token) .expect(404); }); @@ -237,7 +237,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-data', () => { }); await request(app) - .post('/api/v1/steps/invalidStepUUID/dynamic-fields') + .post('/internal/api/v1/steps/invalidStepUUID/dynamic-fields') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/steps/create-dynamic-fields.js b/packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-fields.js similarity index 85% rename from packages/backend/src/controllers/api/v1/steps/create-dynamic-fields.js rename to packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-fields.js index f1315dfa..71b4bbaf 100644 --- a/packages/backend/src/controllers/api/v1/steps/create-dynamic-fields.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-fields.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const step = await request.currentUser.authorizedSteps diff --git a/packages/backend/src/controllers/api/v1/steps/create-dynamic-fields.test.js b/packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-fields.test.js similarity index 89% rename from packages/backend/src/controllers/api/v1/steps/create-dynamic-fields.test.js rename to packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-fields.test.js index 0f1f6ced..e199d34c 100644 --- a/packages/backend/src/controllers/api/v1/steps/create-dynamic-fields.test.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/create-dynamic-fields.test.js @@ -1,15 +1,15 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; +import app from '../../../../../app.js'; import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; import { createUser } from '../../../../../test/factories/user'; import { createFlow } from '../../../../../test/factories/flow'; import { createStep } from '../../../../../test/factories/step'; import { createPermission } from '../../../../../test/factories/permission'; -import createDynamicFieldsMock from '../../../../../test/mocks/rest/api/v1/steps/create-dynamic-fields'; +import createDynamicFieldsMock from '../../../../../test/mocks/rest/internal/api/v1/steps/create-dynamic-fields'; -describe('POST /api/v1/steps/:stepId/dynamic-fields', () => { +describe('POST /internal/api/v1/steps/:stepId/dynamic-fields', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -44,7 +44,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-fields', () => { }); const response = await request(app) - .post(`/api/v1/steps/${actionStep.id}/dynamic-fields`) + .post(`/internal/api/v1/steps/${actionStep.id}/dynamic-fields`) .set('Authorization', token) .send({ dynamicFieldsKey: 'listFieldsAfterSendAsBot', @@ -85,7 +85,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-fields', () => { }); const response = await request(app) - .post(`/api/v1/steps/${actionStep.id}/dynamic-fields`) + .post(`/internal/api/v1/steps/${actionStep.id}/dynamic-fields`) .set('Authorization', token) .send({ dynamicFieldsKey: 'listFieldsAfterSendAsBot', @@ -118,7 +118,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-fields', () => { const notExistingStepUUID = Crypto.randomUUID(); await request(app) - .post(`/api/v1/steps/${notExistingStepUUID}/dynamic-fields`) + .post(`/internal/api/v1/steps/${notExistingStepUUID}/dynamic-fields`) .set('Authorization', token) .expect(404); }); @@ -142,7 +142,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-fields', () => { await step.$query().patch({ appKey: null }); await request(app) - .post(`/api/v1/steps/${step.id}/dynamic-fields`) + .post(`/internal/api/v1/steps/${step.id}/dynamic-fields`) .set('Authorization', token) .expect(404); }); @@ -163,7 +163,7 @@ describe('POST /api/v1/steps/:stepId/dynamic-fields', () => { }); await request(app) - .post('/api/v1/steps/invalidStepUUID/dynamic-fields') + .post('/internal/api/v1/steps/invalidStepUUID/dynamic-fields') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/steps/delete-step.js b/packages/backend/src/controllers/internal/api/v1/steps/delete-step.js similarity index 100% rename from packages/backend/src/controllers/api/v1/steps/delete-step.js rename to packages/backend/src/controllers/internal/api/v1/steps/delete-step.js diff --git a/packages/backend/src/controllers/api/v1/steps/delete-step.test.js b/packages/backend/src/controllers/internal/api/v1/steps/delete-step.test.js similarity index 78% rename from packages/backend/src/controllers/api/v1/steps/delete-step.test.js rename to packages/backend/src/controllers/internal/api/v1/steps/delete-step.test.js index a57751ca..6b949e5e 100644 --- a/packages/backend/src/controllers/api/v1/steps/delete-step.test.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/delete-step.test.js @@ -1,15 +1,15 @@ import { describe, it, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createConnection } from '../../../../../test/factories/connection'; -import { createFlow } from '../../../../../test/factories/flow'; -import { createStep } from '../../../../../test/factories/step'; -import { createPermission } from '../../../../../test/factories/permission'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; -describe('DELETE /api/v1/steps/:stepId', () => { +describe('DELETE /internal/api/v1/steps/:stepId', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -48,7 +48,7 @@ describe('DELETE /api/v1/steps/:stepId', () => { }); await request(app) - .delete(`/api/v1/steps/${actionStep.id}`) + .delete(`/internal/api/v1/steps/${actionStep.id}`) .set('Authorization', token) .expect(204); }); @@ -83,7 +83,7 @@ describe('DELETE /api/v1/steps/:stepId', () => { }); await request(app) - .delete(`/api/v1/steps/${actionStep.id}`) + .delete(`/internal/api/v1/steps/${actionStep.id}`) .set('Authorization', token) .expect(204); }); @@ -106,7 +106,7 @@ describe('DELETE /api/v1/steps/:stepId', () => { const notExistingStepUUID = Crypto.randomUUID(); await request(app) - .delete(`/api/v1/steps/${notExistingStepUUID}`) + .delete(`/internal/api/v1/steps/${notExistingStepUUID}`) .set('Authorization', token) .expect(404); }); @@ -127,7 +127,7 @@ describe('DELETE /api/v1/steps/:stepId', () => { }); await request(app) - .delete('/api/v1/steps/invalidStepUUID') + .delete('/internal/api/v1/steps/invalidStepUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/internal/api/v1/steps/execute-step.js b/packages/backend/src/controllers/internal/api/v1/steps/execute-step.js new file mode 100644 index 00000000..af510a9f --- /dev/null +++ b/packages/backend/src/controllers/internal/api/v1/steps/execute-step.js @@ -0,0 +1,36 @@ +import { processAction } from '../../../../../services/action.js'; +import { processTrigger } from '../../../../../services/trigger.js'; + +export default async (request, response) => { + const step = await request.currentUser.authorizedSteps + .findById(request.params.stepId) + .throwIfNotFound(); + + const flow = await step.$relatedQuery('flow'); + + let executionStep; + + if (step.isTrigger) { + const { executionStep: triggerExecutionStep } = await processTrigger({ + flowId: flow.id, + stepId: step.id, + testRun: true, + }); + executionStep = triggerExecutionStep; + } else { + const { executionStep: actionExecutionStep } = await processAction({ + flowId: flow.id, + stepId: step.id, + testRun: true, + }); + executionStep = actionExecutionStep; + } + + response.json({ + data: executionStep.dataOut, + step: { + id: step.id, + status: executionStep.status, + }, + }); +}; diff --git a/packages/backend/src/controllers/api/v1/steps/get-connection.js b/packages/backend/src/controllers/internal/api/v1/steps/get-connection.js similarity index 81% rename from packages/backend/src/controllers/api/v1/steps/get-connection.js rename to packages/backend/src/controllers/internal/api/v1/steps/get-connection.js index ab1a403e..90beb7d0 100644 --- a/packages/backend/src/controllers/api/v1/steps/get-connection.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/get-connection.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const step = await request.currentUser.authorizedSteps diff --git a/packages/backend/src/controllers/api/v1/steps/get-connection.test.js b/packages/backend/src/controllers/internal/api/v1/steps/get-connection.test.js similarity index 73% rename from packages/backend/src/controllers/api/v1/steps/get-connection.test.js rename to packages/backend/src/controllers/internal/api/v1/steps/get-connection.test.js index 71a49ce7..8d26b123 100644 --- a/packages/backend/src/controllers/api/v1/steps/get-connection.test.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/get-connection.test.js @@ -1,16 +1,16 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createConnection } from '../../../../../test/factories/connection'; -import { createFlow } from '../../../../../test/factories/flow'; -import { createStep } from '../../../../../test/factories/step'; -import { createPermission } from '../../../../../test/factories/permission'; -import getConnectionMock from '../../../../../test/mocks/rest/api/v1/steps/get-connection'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getConnectionMock from '../../../../../../test/mocks/rest/internal/api/v1/steps/get-connection.js'; -describe('GET /api/v1/steps/:stepId/connection', () => { +describe('GET /internal/api/v1/steps/:stepId/connection', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -37,7 +37,7 @@ describe('GET /api/v1/steps/:stepId/connection', () => { }); const response = await request(app) - .get(`/api/v1/steps/${triggerStep.id}/connection`) + .get(`/internal/api/v1/steps/${triggerStep.id}/connection`) .set('Authorization', token) .expect(200); @@ -64,7 +64,7 @@ describe('GET /api/v1/steps/:stepId/connection', () => { }); const response = await request(app) - .get(`/api/v1/steps/${triggerStep.id}/connection`) + .get(`/internal/api/v1/steps/${triggerStep.id}/connection`) .set('Authorization', token) .expect(200); @@ -84,7 +84,7 @@ describe('GET /api/v1/steps/:stepId/connection', () => { }); await request(app) - .get(`/api/v1/steps/${stepWithoutConnection.id}/connection`) + .get(`/internal/api/v1/steps/${stepWithoutConnection.id}/connection`) .set('Authorization', token) .expect(404); }); @@ -100,7 +100,7 @@ describe('GET /api/v1/steps/:stepId/connection', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .get(`/api/v1/steps/${notExistingFlowUUID}/connection`) + .get(`/internal/api/v1/steps/${notExistingFlowUUID}/connection`) .set('Authorization', token) .expect(404); }); @@ -114,7 +114,7 @@ describe('GET /api/v1/steps/:stepId/connection', () => { }); await request(app) - .get('/api/v1/steps/invalidFlowUUID/connection') + .get('/internal/api/v1/steps/invalidFlowUUID/connection') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/steps/get-previous-steps.js b/packages/backend/src/controllers/internal/api/v1/steps/get-previous-steps.js similarity index 84% rename from packages/backend/src/controllers/api/v1/steps/get-previous-steps.js rename to packages/backend/src/controllers/internal/api/v1/steps/get-previous-steps.js index e9e865a2..8d4c2069 100644 --- a/packages/backend/src/controllers/api/v1/steps/get-previous-steps.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/get-previous-steps.js @@ -1,6 +1,6 @@ import { ref } from 'objection'; -import ExecutionStep from '../../../../models/execution-step.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import ExecutionStep from '../../../../../models/execution-step.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const step = await request.currentUser.authorizedSteps diff --git a/packages/backend/src/controllers/api/v1/steps/get-previous-steps.test.js b/packages/backend/src/controllers/internal/api/v1/steps/get-previous-steps.test.js similarity index 79% rename from packages/backend/src/controllers/api/v1/steps/get-previous-steps.test.js rename to packages/backend/src/controllers/internal/api/v1/steps/get-previous-steps.test.js index 8057015c..28368797 100644 --- a/packages/backend/src/controllers/api/v1/steps/get-previous-steps.test.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/get-previous-steps.test.js @@ -1,16 +1,16 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createFlow } from '../../../../../test/factories/flow'; -import { createStep } from '../../../../../test/factories/step'; -import { createExecutionStep } from '../../../../../test/factories/execution-step.js'; -import { createPermission } from '../../../../../test/factories/permission'; -import getPreviousStepsMock from '../../../../../test/mocks/rest/api/v1/steps/get-previous-steps'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createExecutionStep } from '../../../../../../test/factories/execution-step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getPreviousStepsMock from '../../../../../../test/mocks/rest/internal/api/v1/steps/get-previous-steps.js'; -describe('GET /api/v1/steps/:stepId/previous-steps', () => { +describe('GET /internal/api/v1/steps/:stepId/previous-steps', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -61,7 +61,7 @@ describe('GET /api/v1/steps/:stepId/previous-steps', () => { }); const response = await request(app) - .get(`/api/v1/steps/${actionStepTwo.id}/previous-steps`) + .get(`/internal/api/v1/steps/${actionStepTwo.id}/previous-steps`) .set('Authorization', token) .expect(200); @@ -115,7 +115,7 @@ describe('GET /api/v1/steps/:stepId/previous-steps', () => { }); const response = await request(app) - .get(`/api/v1/steps/${actionStepTwo.id}/previous-steps`) + .get(`/internal/api/v1/steps/${actionStepTwo.id}/previous-steps`) .set('Authorization', token) .expect(200); @@ -145,7 +145,7 @@ describe('GET /api/v1/steps/:stepId/previous-steps', () => { const notExistingFlowUUID = Crypto.randomUUID(); await request(app) - .get(`/api/v1/steps/${notExistingFlowUUID}/previous-steps`) + .get(`/internal/api/v1/steps/${notExistingFlowUUID}/previous-steps`) .set('Authorization', token) .expect(404); }); @@ -166,7 +166,7 @@ describe('GET /api/v1/steps/:stepId/previous-steps', () => { }); await request(app) - .get('/api/v1/steps/invalidFlowUUID/previous-steps') + .get('/internal/api/v1/steps/invalidFlowUUID/previous-steps') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/steps/test-step.js b/packages/backend/src/controllers/internal/api/v1/steps/test-step.js similarity index 78% rename from packages/backend/src/controllers/api/v1/steps/test-step.js rename to packages/backend/src/controllers/internal/api/v1/steps/test-step.js index 3b71b979..d46af9e5 100644 --- a/packages/backend/src/controllers/api/v1/steps/test-step.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/test-step.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let step = await request.currentUser.authorizedSteps diff --git a/packages/backend/src/controllers/api/v1/steps/test-step.test.js b/packages/backend/src/controllers/internal/api/v1/steps/test-step.test.js similarity index 81% rename from packages/backend/src/controllers/api/v1/steps/test-step.test.js rename to packages/backend/src/controllers/internal/api/v1/steps/test-step.test.js index 491ada75..34ce5d77 100644 --- a/packages/backend/src/controllers/api/v1/steps/test-step.test.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/test-step.test.js @@ -1,18 +1,18 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import { createConnection } from '../../../../../test/factories/connection'; -import { createFlow } from '../../../../../test/factories/flow'; -import { createStep } from '../../../../../test/factories/step'; -import { createExecution } from '../../../../../test/factories/execution.js'; -import { createExecutionStep } from '../../../../../test/factories/execution-step.js'; -import { createPermission } from '../../../../../test/factories/permission'; -import testStepMock from '../../../../../test/mocks/rest/api/v1/steps/test-step.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createExecution } from '../../../../../../test/factories/execution.js'; +import { createExecutionStep } from '../../../../../../test/factories/execution-step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import testStepMock from '../../../../../../test/mocks/rest/internal/api/v1/steps/test-step.js'; -describe('POST /api/v1/steps/:stepId/test', () => { +describe('POST /internal/api/v1/steps/:stepId/test', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -76,7 +76,7 @@ describe('POST /api/v1/steps/:stepId/test', () => { }); const response = await request(app) - .post(`/api/v1/steps/${actionStep.id}/test`) + .post(`/internal/api/v1/steps/${actionStep.id}/test`) .set('Authorization', token) .expect(200); @@ -147,7 +147,7 @@ describe('POST /api/v1/steps/:stepId/test', () => { }); const response = await request(app) - .post(`/api/v1/steps/${actionStep.id}/test`) + .post(`/internal/api/v1/steps/${actionStep.id}/test`) .set('Authorization', token) .expect(200); @@ -181,7 +181,7 @@ describe('POST /api/v1/steps/:stepId/test', () => { const notExistingStepUUID = Crypto.randomUUID(); await request(app) - .post(`/api/v1/steps/${notExistingStepUUID}/test`) + .post(`/internal/api/v1/steps/${notExistingStepUUID}/test`) .set('Authorization', token) .expect(404); }); @@ -202,7 +202,7 @@ describe('POST /api/v1/steps/:stepId/test', () => { }); await request(app) - .post('/api/v1/steps/invalidStepUUID/test') + .post('/internal/api/v1/steps/invalidStepUUID/test') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/steps/update-step.js b/packages/backend/src/controllers/internal/api/v1/steps/update-step.js similarity index 87% rename from packages/backend/src/controllers/api/v1/steps/update-step.js rename to packages/backend/src/controllers/internal/api/v1/steps/update-step.js index 70f0b98f..e9609b45 100644 --- a/packages/backend/src/controllers/api/v1/steps/update-step.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/update-step.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { let step = await request.currentUser.authorizedSteps diff --git a/packages/backend/src/controllers/api/v1/steps/update-step.test.js b/packages/backend/src/controllers/internal/api/v1/steps/update-step.test.js similarity index 83% rename from packages/backend/src/controllers/api/v1/steps/update-step.test.js rename to packages/backend/src/controllers/internal/api/v1/steps/update-step.test.js index 22cdb15d..0df071f6 100644 --- a/packages/backend/src/controllers/api/v1/steps/update-step.test.js +++ b/packages/backend/src/controllers/internal/api/v1/steps/update-step.test.js @@ -1,16 +1,16 @@ import { describe, it, beforeEach, expect } from 'vitest'; import request from 'supertest'; import Crypto from 'crypto'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import updateStepMock from '../../../../../test/mocks/rest/api/v1/steps/update-step.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import updateStepMock from '../../../../../../test/mocks/rest/internal/api/v1/steps/update-step.js'; -describe('PATCH /api/v1/steps/:stepId', () => { +describe('PATCH /internal/api/v1/steps/:stepId', () => { let currentUser, token; beforeEach(async () => { @@ -53,7 +53,7 @@ describe('PATCH /api/v1/steps/:stepId', () => { }); const response = await request(app) - .patch(`/api/v1/steps/${actionStep.id}`) + .patch(`/internal/api/v1/steps/${actionStep.id}`) .set('Authorization', token) .send({ parameters: { @@ -103,7 +103,7 @@ describe('PATCH /api/v1/steps/:stepId', () => { }); const response = await request(app) - .patch(`/api/v1/steps/${actionStep.id}`) + .patch(`/internal/api/v1/steps/${actionStep.id}`) .set('Authorization', token) .send({ parameters: { @@ -159,7 +159,7 @@ describe('PATCH /api/v1/steps/:stepId', () => { }); await request(app) - .patch(`/api/v1/steps/${actionStep.id}`) + .patch(`/internal/api/v1/steps/${actionStep.id}`) .set('Authorization', token) .send({ connectionId: anotherUserConnection.id, @@ -185,7 +185,7 @@ describe('PATCH /api/v1/steps/:stepId', () => { const notExistingStepUUID = Crypto.randomUUID(); await request(app) - .patch(`/api/v1/steps/${notExistingStepUUID}`) + .patch(`/internal/api/v1/steps/${notExistingStepUUID}`) .set('Authorization', token) .expect(404); }); @@ -206,7 +206,7 @@ describe('PATCH /api/v1/steps/:stepId', () => { }); await request(app) - .patch('/api/v1/steps/invalidStepUUID') + .patch('/internal/api/v1/steps/invalidStepUUID') .set('Authorization', token) .expect(400); }); diff --git a/packages/backend/src/controllers/api/v1/admin/templates/get-templates.ee.js b/packages/backend/src/controllers/internal/api/v1/templates/get-templates.ee.js similarity index 89% rename from packages/backend/src/controllers/api/v1/admin/templates/get-templates.ee.js rename to packages/backend/src/controllers/internal/api/v1/templates/get-templates.ee.js index 4f5ffa54..b5d8925a 100644 --- a/packages/backend/src/controllers/api/v1/admin/templates/get-templates.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/templates/get-templates.ee.js @@ -5,6 +5,6 @@ export default async (request, response) => { const templates = await Template.query().orderBy('created_at', 'asc'); renderObject(response, templates, { - serializer: 'AdminTemplate', + serializer: 'Template', }); }; diff --git a/packages/backend/src/controllers/api/v1/templates/get-templates.ee.test.js b/packages/backend/src/controllers/internal/api/v1/templates/get-templates.ee.test.js similarity index 66% rename from packages/backend/src/controllers/api/v1/templates/get-templates.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/templates/get-templates.ee.test.js index 730c7e37..eef122f8 100644 --- a/packages/backend/src/controllers/api/v1/templates/get-templates.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/templates/get-templates.ee.test.js @@ -1,15 +1,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createTemplate } from '../../../../../test/factories/template.js'; -import { updateConfig } from '../../../../../test/factories/config.js'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import getTemplatesMock from '../../../../../test/mocks/rest/api/v1/templates/get-templates.ee.js'; -import * as license from '../../../../helpers/license.ee.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createTemplate } from '../../../../../../test/factories/template.js'; +import { updateConfig } from '../../../../../../test/factories/config.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import getTemplatesMock from '../../../../../../test/mocks/rest/internal/api/v1/templates/get-templates.ee.js'; +import * as license from '../../../../../helpers/license.ee.js'; -describe('GET /api/v1/templates', () => { +describe('GET /internal/api/v1/templates', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -34,7 +34,7 @@ describe('GET /api/v1/templates', () => { const templateTwo = await createTemplate(); const response = await request(app) - .get('/api/v1/templates') + .get('/internal/api/v1/templates') .set('Authorization', token) .expect(200); @@ -54,14 +54,14 @@ describe('GET /api/v1/templates', () => { await updateConfig({ enableTemplates: false }); await request(app) - .get('/api/v1/templates') + .get('/internal/api/v1/templates') .set('Authorization', token) .expect(403); }); it('should return 403 when user does not have create flow permission', async () => { await request(app) - .get('/api/v1/templates') + .get('/internal/api/v1/templates') .set('Authorization', token) .expect(403); }); diff --git a/packages/backend/src/controllers/api/v1/users/accept-invitation.js b/packages/backend/src/controllers/internal/api/v1/users/accept-invitation.js similarity index 89% rename from packages/backend/src/controllers/api/v1/users/accept-invitation.js rename to packages/backend/src/controllers/internal/api/v1/users/accept-invitation.js index 8c6763ac..6d31c53c 100644 --- a/packages/backend/src/controllers/api/v1/users/accept-invitation.js +++ b/packages/backend/src/controllers/internal/api/v1/users/accept-invitation.js @@ -1,4 +1,4 @@ -import User from '../../../../models/user.js'; +import User from '../../../../../models/user.js'; export default async (request, response) => { const { token, password } = request.body; diff --git a/packages/backend/src/controllers/api/v1/users/delete-current-user.js b/packages/backend/src/controllers/internal/api/v1/users/delete-current-user.js similarity index 100% rename from packages/backend/src/controllers/api/v1/users/delete-current-user.js rename to packages/backend/src/controllers/internal/api/v1/users/delete-current-user.js diff --git a/packages/backend/src/controllers/api/v1/users/delete-current-user.test.js b/packages/backend/src/controllers/internal/api/v1/users/delete-current-user.test.js similarity index 55% rename from packages/backend/src/controllers/api/v1/users/delete-current-user.test.js rename to packages/backend/src/controllers/internal/api/v1/users/delete-current-user.test.js index 45b6a1e3..87f3f8b9 100644 --- a/packages/backend/src/controllers/api/v1/users/delete-current-user.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/delete-current-user.test.js @@ -1,10 +1,10 @@ import { describe, it, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; -describe('DELETE /api/v1/users/:userId', () => { +describe('DELETE /internal/api/v1/users/:userId', () => { let currentUser, token; beforeEach(async () => { @@ -14,7 +14,7 @@ describe('DELETE /api/v1/users/:userId', () => { it('should remove user and return 204 no content', async () => { await request(app) - .delete(`/api/v1/users/${currentUser.id}`) + .delete(`/internal/api/v1/users/${currentUser.id}`) .set('Authorization', token) .expect(204); }); diff --git a/packages/backend/src/controllers/api/v1/users/forgot-password.js b/packages/backend/src/controllers/internal/api/v1/users/forgot-password.js similarity index 83% rename from packages/backend/src/controllers/api/v1/users/forgot-password.js rename to packages/backend/src/controllers/internal/api/v1/users/forgot-password.js index 900581ce..3f0fbf3a 100644 --- a/packages/backend/src/controllers/api/v1/users/forgot-password.js +++ b/packages/backend/src/controllers/internal/api/v1/users/forgot-password.js @@ -1,4 +1,4 @@ -import User from '../../../../models/user.js'; +import User from '../../../../../models/user.js'; export default async (request, response) => { const { email } = request.body; diff --git a/packages/backend/src/controllers/api/v1/users/forgot-password.test.js b/packages/backend/src/controllers/internal/api/v1/users/forgot-password.test.js similarity index 65% rename from packages/backend/src/controllers/api/v1/users/forgot-password.test.js rename to packages/backend/src/controllers/internal/api/v1/users/forgot-password.test.js index 4cb441a7..039e96e5 100644 --- a/packages/backend/src/controllers/api/v1/users/forgot-password.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/forgot-password.test.js @@ -1,9 +1,9 @@ import { describe, it, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import { createUser } from '../../../../../test/factories/user'; +import app from '../../../../../app.js'; +import { createUser } from '../../../../../../test/factories/user.js'; -describe('POST /api/v1/users/forgot-password', () => { +describe('POST /internal/api/v1/users/forgot-password', () => { let currentUser; beforeEach(async () => { @@ -12,7 +12,7 @@ describe('POST /api/v1/users/forgot-password', () => { it('should respond with no content', async () => { await request(app) - .post('/api/v1/users/forgot-password') + .post('/internal/api/v1/users/forgot-password') .send({ email: currentUser.email, }) @@ -21,7 +21,7 @@ describe('POST /api/v1/users/forgot-password', () => { it('should return not found response for not existing user UUID', async () => { await request(app) - .post('/api/v1/users/forgot-password') + .post('/internal/api/v1/users/forgot-password') .send({ email: 'nonexisting@automatisch.io', }) diff --git a/packages/backend/src/controllers/api/v1/users/get-apps.js b/packages/backend/src/controllers/internal/api/v1/users/get-apps.js similarity index 72% rename from packages/backend/src/controllers/api/v1/users/get-apps.js rename to packages/backend/src/controllers/internal/api/v1/users/get-apps.js index 94a4ddf6..1293ed44 100644 --- a/packages/backend/src/controllers/api/v1/users/get-apps.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-apps.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const apps = await request.currentUser.getApps(request.query.name); diff --git a/packages/backend/src/controllers/api/v1/users/get-apps.test.js b/packages/backend/src/controllers/internal/api/v1/users/get-apps.test.js similarity index 83% rename from packages/backend/src/controllers/api/v1/users/get-apps.test.js rename to packages/backend/src/controllers/internal/api/v1/users/get-apps.test.js index c3c7ca7d..5ffb9179 100644 --- a/packages/backend/src/controllers/api/v1/users/get-apps.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-apps.test.js @@ -1,16 +1,16 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createRole } from '../../../../../test/factories/role'; -import { createUser } from '../../../../../test/factories/user'; -import { createPermission } from '../../../../../test/factories/permission.js'; -import { createFlow } from '../../../../../test/factories/flow.js'; -import { createStep } from '../../../../../test/factories/step.js'; -import { createConnection } from '../../../../../test/factories/connection.js'; -import getAppsMock from '../../../../../test/mocks/rest/api/v1/users/get-apps.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import { createFlow } from '../../../../../../test/factories/flow.js'; +import { createStep } from '../../../../../../test/factories/step.js'; +import { createConnection } from '../../../../../../test/factories/connection.js'; +import getAppsMock from '../../../../../../test/mocks/rest/internal/api/v1/users/get-apps.js'; -describe('GET /api/v1/users/:userId/apps', () => { +describe('GET /internal/api/v1/users/:userId/apps', () => { let currentUser, currentUserRole, token; beforeEach(async () => { @@ -74,7 +74,7 @@ describe('GET /api/v1/users/:userId/apps', () => { }); const response = await request(app) - .get(`/api/v1/users/${currentUser.id}/apps`) + .get(`/internal/api/v1/users/${currentUser.id}/apps`) .set('Authorization', token) .expect(200); @@ -138,7 +138,7 @@ describe('GET /api/v1/users/:userId/apps', () => { }); const response = await request(app) - .get(`/api/v1/users/${currentUser.id}/apps`) + .get(`/internal/api/v1/users/${currentUser.id}/apps`) .set('Authorization', token) .expect(200); @@ -200,7 +200,7 @@ describe('GET /api/v1/users/:userId/apps', () => { }); const response = await request(app) - .get(`/api/v1/users/${currentUser.id}/apps?name=deepl`) + .get(`/internal/api/v1/users/${currentUser.id}/apps?name=deepl`) .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/users/get-current-user.js b/packages/backend/src/controllers/internal/api/v1/users/get-current-user.js similarity index 59% rename from packages/backend/src/controllers/api/v1/users/get-current-user.js rename to packages/backend/src/controllers/internal/api/v1/users/get-current-user.js index 70081688..fa670ac7 100644 --- a/packages/backend/src/controllers/api/v1/users/get-current-user.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-current-user.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { renderObject(response, request.currentUser); diff --git a/packages/backend/src/controllers/api/v1/users/get-current-user.test.js b/packages/backend/src/controllers/internal/api/v1/users/get-current-user.test.js similarity index 60% rename from packages/backend/src/controllers/api/v1/users/get-current-user.test.js rename to packages/backend/src/controllers/internal/api/v1/users/get-current-user.test.js index e8f29f2b..896729d2 100644 --- a/packages/backend/src/controllers/api/v1/users/get-current-user.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-current-user.test.js @@ -1,13 +1,13 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createPermission } from '../../../../../test/factories/permission'; -import { createRole } from '../../../../../test/factories/role'; -import { createUser } from '../../../../../test/factories/user'; -import getCurrentUserMock from '../../../../../test/mocks/rest/api/v1/users/get-current-user'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createPermission } from '../../../../../../test/factories/permission.js'; +import { createRole } from '../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getCurrentUserMock from '../../../../../../test/mocks/rest/internal/api/v1/users/get-current-user.js'; -describe('GET /api/v1/users/me', () => { +describe('GET /internal/api/v1/users/me', () => { let role, permissionOne, permissionTwo, currentUser, token; beforeEach(async () => { @@ -30,7 +30,7 @@ describe('GET /api/v1/users/me', () => { it('should return current user info', async () => { const response = await request(app) - .get('/api/v1/users/me') + .get('/internal/api/v1/users/me') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/users/get-invoices.ee.js b/packages/backend/src/controllers/internal/api/v1/users/get-invoices.ee.js similarity index 68% rename from packages/backend/src/controllers/api/v1/users/get-invoices.ee.js rename to packages/backend/src/controllers/internal/api/v1/users/get-invoices.ee.js index ec6e2efd..271b5232 100644 --- a/packages/backend/src/controllers/api/v1/users/get-invoices.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-invoices.ee.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const invoices = await request.currentUser.getInvoices(); diff --git a/packages/backend/src/controllers/api/v1/users/get-invoices.ee.test.js b/packages/backend/src/controllers/internal/api/v1/users/get-invoices.ee.test.js similarity index 62% rename from packages/backend/src/controllers/api/v1/users/get-invoices.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/users/get-invoices.ee.test.js index de354530..a8673eaf 100644 --- a/packages/backend/src/controllers/api/v1/users/get-invoices.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-invoices.ee.test.js @@ -1,12 +1,12 @@ import { describe, it, expect, beforeEach, vi } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createUser } from '../../../../../test/factories/user'; -import User from '../../../../models/user'; -import getInvoicesMock from '../../../../../test/mocks/rest/api/v1/users/get-invoices.ee'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import User from '../../../../../models/user.js'; +import getInvoicesMock from '../../../../../../test/mocks/rest/internal/api/v1/users/get-invoices.ee.js'; -describe('GET /api/v1/user/invoices', () => { +describe('GET /internal/api/v1/user/invoices', () => { let currentUser, token; beforeEach(async () => { @@ -23,7 +23,7 @@ describe('GET /api/v1/user/invoices', () => { vi.spyOn(User.prototype, 'getInvoices').mockResolvedValue(invoices); const response = await request(app) - .get('/api/v1/users/invoices') + .get('/internal/api/v1/users/invoices') .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/users/get-plan-and-usage.ee.js b/packages/backend/src/controllers/internal/api/v1/users/get-plan-and-usage.ee.js similarity index 70% rename from packages/backend/src/controllers/api/v1/users/get-plan-and-usage.ee.js rename to packages/backend/src/controllers/internal/api/v1/users/get-plan-and-usage.ee.js index bda4c4f1..c09f55cf 100644 --- a/packages/backend/src/controllers/api/v1/users/get-plan-and-usage.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-plan-and-usage.ee.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const planAndUsage = await request.currentUser.getPlanAndUsage(); diff --git a/packages/backend/src/controllers/api/v1/users/get-plan-and-usage.ee.test.js b/packages/backend/src/controllers/internal/api/v1/users/get-plan-and-usage.ee.test.js similarity index 69% rename from packages/backend/src/controllers/api/v1/users/get-plan-and-usage.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/users/get-plan-and-usage.ee.test.js index a08f3e00..72514a4d 100644 --- a/packages/backend/src/controllers/api/v1/users/get-plan-and-usage.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-plan-and-usage.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createSubscription } from '../../../../../test/factories/subscription.js'; -import { createUsageData } from '../../../../../test/factories/usage-data.js'; -import appConfig from '../../../../config/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createSubscription } from '../../../../../../test/factories/subscription.js'; +import { createUsageData } from '../../../../../../test/factories/usage-data.js'; +import appConfig from '../../../../../config/app.js'; import { DateTime } from 'luxon'; -describe('GET /api/v1/users/:userId/plan-and-usage', () => { +describe('GET /internal/api/v1/users/:userId/plan-and-usage', () => { let user, token; beforeEach(async () => { @@ -21,7 +21,7 @@ describe('GET /api/v1/users/:userId/plan-and-usage', () => { it('should return free trial plan and usage data', async () => { const response = await request(app) - .get(`/api/v1/users/${user.id}/plan-and-usage`) + .get(`/internal/api/v1/users/${user.id}/plan-and-usage`) .set('Authorization', token) .expect(200); @@ -48,7 +48,7 @@ describe('GET /api/v1/users/:userId/plan-and-usage', () => { }); const response = await request(app) - .get(`/api/v1/users/${user.id}/plan-and-usage`) + .get(`/internal/api/v1/users/${user.id}/plan-and-usage`) .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/users/get-subscription.ee.js b/packages/backend/src/controllers/internal/api/v1/users/get-subscription.ee.js similarity index 75% rename from packages/backend/src/controllers/api/v1/users/get-subscription.ee.js rename to packages/backend/src/controllers/internal/api/v1/users/get-subscription.ee.js index afecacc7..72dd1566 100644 --- a/packages/backend/src/controllers/api/v1/users/get-subscription.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-subscription.ee.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const subscription = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/users/get-subscription.ee.test.js b/packages/backend/src/controllers/internal/api/v1/users/get-subscription.ee.test.js similarity index 60% rename from packages/backend/src/controllers/api/v1/users/get-subscription.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/users/get-subscription.ee.test.js index ac9ace6a..aa6d17a5 100644 --- a/packages/backend/src/controllers/api/v1/users/get-subscription.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-subscription.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import appConfig from '../../../../config/app.js'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id'; -import { createRole } from '../../../../../test/factories/role'; -import { createUser } from '../../../../../test/factories/user'; -import { createSubscription } from '../../../../../test/factories/subscription.js'; -import getSubscriptionMock from '../../../../../test/mocks/rest/api/v1/users/get-subscription.js'; +import appConfig from '../../../../../config/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createRole } from '../../../../../../test/factories/role.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createSubscription } from '../../../../../../test/factories/subscription.js'; +import getSubscriptionMock from '../../../../../../test/mocks/rest/internal/api/v1/users/get-subscription.js'; -describe('GET /api/v1/users/:userId/subscription', () => { +describe('GET /internal/api/v1/users/:userId/subscription', () => { let currentUser, role, subscription, token; beforeEach(async () => { @@ -27,7 +27,7 @@ describe('GET /api/v1/users/:userId/subscription', () => { it('should return subscription info of the current user', async () => { const response = await request(app) - .get(`/api/v1/users/${currentUser.id}/subscription`) + .get(`/internal/api/v1/users/${currentUser.id}/subscription`) .set('Authorization', token) .expect(200); @@ -44,7 +44,7 @@ describe('GET /api/v1/users/:userId/subscription', () => { const token = await createAuthTokenByUserId(userWithoutSubscription.id); await request(app) - .get(`/api/v1/users/${userWithoutSubscription.id}/subscription`) + .get(`/internal/api/v1/users/${userWithoutSubscription.id}/subscription`) .set('Authorization', token) .expect(404); }); diff --git a/packages/backend/src/controllers/api/v1/users/get-user-trial.ee.js b/packages/backend/src/controllers/internal/api/v1/users/get-user-trial.ee.js similarity index 77% rename from packages/backend/src/controllers/api/v1/users/get-user-trial.ee.js rename to packages/backend/src/controllers/internal/api/v1/users/get-user-trial.ee.js index 1c4575bb..99a6940a 100644 --- a/packages/backend/src/controllers/api/v1/users/get-user-trial.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-user-trial.ee.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const inTrial = await request.currentUser.inTrial(); diff --git a/packages/backend/src/controllers/api/v1/users/get-user-trial.ee.test.js b/packages/backend/src/controllers/internal/api/v1/users/get-user-trial.ee.test.js similarity index 65% rename from packages/backend/src/controllers/api/v1/users/get-user-trial.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/users/get-user-trial.ee.test.js index 7f6f7e96..726f26cb 100644 --- a/packages/backend/src/controllers/api/v1/users/get-user-trial.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/get-user-trial.ee.test.js @@ -1,14 +1,14 @@ import { vi, describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import getUserTrialMock from '../../../../../test/mocks/rest/api/v1/users/get-user-trial.js'; -import appConfig from '../../../../config/app.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import getUserTrialMock from '../../../../../../test/mocks/rest/internal/api/v1/users/get-user-trial.js'; +import appConfig from '../../../../../config/app.js'; import { DateTime } from 'luxon'; -import User from '../../../../models/user.js'; +import User from '../../../../../models/user.js'; -describe('GET /api/v1/users/:userId/trial', () => { +describe('GET /internal/api/v1/users/:userId/trial', () => { let user, token; beforeEach(async () => { @@ -27,7 +27,7 @@ describe('GET /api/v1/users/:userId/trial', () => { it('should return null', async () => { const response = await request(app) - .get(`/api/v1/users/${user.id}/trial`) + .get(`/internal/api/v1/users/${user.id}/trial`) .set('Authorization', token) .expect(200); diff --git a/packages/backend/src/controllers/api/v1/users/register-user.ee.js b/packages/backend/src/controllers/internal/api/v1/users/register-user.ee.js similarity index 72% rename from packages/backend/src/controllers/api/v1/users/register-user.ee.js rename to packages/backend/src/controllers/internal/api/v1/users/register-user.ee.js index 6ab54021..588d622c 100644 --- a/packages/backend/src/controllers/api/v1/users/register-user.ee.js +++ b/packages/backend/src/controllers/internal/api/v1/users/register-user.ee.js @@ -1,5 +1,5 @@ -import User from '../../../../models/user.js'; -import { renderObject } from '../../../../helpers/renderer.js'; +import User from '../../../../../models/user.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const user = await User.registerUser(userParams(request)); diff --git a/packages/backend/src/controllers/api/v1/users/register-user.ee.test.js b/packages/backend/src/controllers/internal/api/v1/users/register-user.ee.test.js similarity index 77% rename from packages/backend/src/controllers/api/v1/users/register-user.ee.test.js rename to packages/backend/src/controllers/internal/api/v1/users/register-user.ee.test.js index 5220efde..0da4ae18 100644 --- a/packages/backend/src/controllers/api/v1/users/register-user.ee.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/register-user.ee.test.js @@ -1,13 +1,13 @@ import { beforeEach, describe, it, expect, vi } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import User from '../../../../models/user.js'; -import appConfig from '../../../../config/app.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import { createRole } from '../../../../../test/factories/role.js'; -import registerUserMock from '../../../../../test/mocks/rest/api/v1/users/register-user.ee.js'; +import app from '../../../../../app.js'; +import User from '../../../../../models/user.js'; +import appConfig from '../../../../../config/app.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import { createRole } from '../../../../../../test/factories/role.js'; +import registerUserMock from '../../../../../../test/mocks/rest/internal/api/v1/users/register-user.ee.js'; -describe('POST /api/v1/users/register', () => { +describe('POST /internal/api/v1/users/register', () => { beforeEach(async () => { vi.spyOn(appConfig, 'isCloud', 'get').mockReturnValue(true); }); @@ -22,7 +22,7 @@ describe('POST /api/v1/users/register', () => { }; const response = await request(app) - .post('/api/v1/users/register') + .post('/internal/api/v1/users/register') .send(userData) .expect(201); @@ -43,7 +43,7 @@ describe('POST /api/v1/users/register', () => { }; await request(app) - .post('/api/v1/users/register') + .post('/internal/api/v1/users/register') .send(userData) .expect(404); }); @@ -61,7 +61,7 @@ describe('POST /api/v1/users/register', () => { }; const response = await request(app) - .post('/api/v1/users/register') + .post('/internal/api/v1/users/register') .send(userData) .expect(422); @@ -83,7 +83,7 @@ describe('POST /api/v1/users/register', () => { }; const response = await request(app) - .post('/api/v1/users/register') + .post('/internal/api/v1/users/register') .send(userData) .expect(422); diff --git a/packages/backend/src/controllers/api/v1/users/reset-password.js b/packages/backend/src/controllers/internal/api/v1/users/reset-password.js similarity index 81% rename from packages/backend/src/controllers/api/v1/users/reset-password.js rename to packages/backend/src/controllers/internal/api/v1/users/reset-password.js index 3044e7b0..e6e79e88 100644 --- a/packages/backend/src/controllers/api/v1/users/reset-password.js +++ b/packages/backend/src/controllers/internal/api/v1/users/reset-password.js @@ -1,5 +1,5 @@ -import User from '../../../../models/user.js'; -import { renderError } from '../../../../helpers/renderer.js'; +import User from '../../../../../models/user.js'; +import { renderError } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const { token, password } = request.body; diff --git a/packages/backend/src/controllers/api/v1/users/reset-password.test.js b/packages/backend/src/controllers/internal/api/v1/users/reset-password.test.js similarity index 77% rename from packages/backend/src/controllers/api/v1/users/reset-password.test.js rename to packages/backend/src/controllers/internal/api/v1/users/reset-password.test.js index e36342df..130e5ece 100644 --- a/packages/backend/src/controllers/api/v1/users/reset-password.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/reset-password.test.js @@ -1,10 +1,10 @@ import { describe, it, beforeEach } from 'vitest'; import request from 'supertest'; import { DateTime } from 'luxon'; -import app from '../../../../app.js'; -import { createUser } from '../../../../../test/factories/user'; +import app from '../../../../../app.js'; +import { createUser } from '../../../../../../test/factories/user.js'; -describe('POST /api/v1/users/reset-password', () => { +describe('POST /internal/api/v1/users/reset-password', () => { let currentUser; beforeEach(async () => { @@ -16,7 +16,7 @@ describe('POST /api/v1/users/reset-password', () => { it('should respond with no content', async () => { await request(app) - .post('/api/v1/users/reset-password') + .post('/internal/api/v1/users/reset-password') .send({ token: currentUser.resetPasswordToken, password: 'newPassword', @@ -26,7 +26,7 @@ describe('POST /api/v1/users/reset-password', () => { it('should return not found response for not existing user', async () => { await request(app) - .post('/api/v1/users/reset-password') + .post('/internal/api/v1/users/reset-password') .send({ token: 'nonExistingResetPasswordToken', }) @@ -40,7 +40,7 @@ describe('POST /api/v1/users/reset-password', () => { }); await request(app) - .post('/api/v1/users/reset-password') + .post('/internal/api/v1/users/reset-password') .send({ token: user.resetPasswordToken, }) diff --git a/packages/backend/src/controllers/api/v1/users/update-current-user-password.js b/packages/backend/src/controllers/internal/api/v1/users/update-current-user-password.js similarity index 81% rename from packages/backend/src/controllers/api/v1/users/update-current-user-password.js rename to packages/backend/src/controllers/internal/api/v1/users/update-current-user-password.js index 982fe899..de25d712 100644 --- a/packages/backend/src/controllers/api/v1/users/update-current-user-password.js +++ b/packages/backend/src/controllers/internal/api/v1/users/update-current-user-password.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const user = await request.currentUser.updatePassword(userParams(request)); diff --git a/packages/backend/src/controllers/api/v1/users/update-current-user-password.test.js b/packages/backend/src/controllers/internal/api/v1/users/update-current-user-password.test.js similarity index 69% rename from packages/backend/src/controllers/api/v1/users/update-current-user-password.test.js rename to packages/backend/src/controllers/internal/api/v1/users/update-current-user-password.test.js index ddb4a0da..153f583e 100644 --- a/packages/backend/src/controllers/api/v1/users/update-current-user-password.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/update-current-user-password.test.js @@ -1,11 +1,11 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import updateCurrentUserPasswordMock from '../../../../../test/mocks/rest/api/v1/users/update-current-user-password.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import updateCurrentUserPasswordMock from '../../../../../../test/mocks/rest/internal/api/v1/users/update-current-user-password.js'; -describe('PATCH /api/v1/users/:userId/password', () => { +describe('PATCH /internal/api/v1/users/:userId/password', () => { let currentUser, token; beforeEach(async () => { @@ -20,7 +20,7 @@ describe('PATCH /api/v1/users/:userId/password', () => { }; const response = await request(app) - .patch(`/api/v1/users/${currentUser.id}/password`) + .patch(`/internal/api/v1/users/${currentUser.id}/password`) .set('Authorization', token) .send(userData) .expect(200); @@ -38,7 +38,7 @@ describe('PATCH /api/v1/users/:userId/password', () => { }; const response = await request(app) - .patch(`/api/v1/users/${currentUser.id}/password`) + .patch(`/internal/api/v1/users/${currentUser.id}/password`) .set('Authorization', token) .send(userData) .expect(422); diff --git a/packages/backend/src/controllers/api/v1/users/update-current-user.js b/packages/backend/src/controllers/internal/api/v1/users/update-current-user.js similarity index 81% rename from packages/backend/src/controllers/api/v1/users/update-current-user.js rename to packages/backend/src/controllers/internal/api/v1/users/update-current-user.js index 8ff5a5f1..d75457e7 100644 --- a/packages/backend/src/controllers/api/v1/users/update-current-user.js +++ b/packages/backend/src/controllers/internal/api/v1/users/update-current-user.js @@ -1,4 +1,4 @@ -import { renderObject } from '../../../../helpers/renderer.js'; +import { renderObject } from '../../../../../helpers/renderer.js'; export default async (request, response) => { const user = await request.currentUser diff --git a/packages/backend/src/controllers/api/v1/users/update-current-user.test.js b/packages/backend/src/controllers/internal/api/v1/users/update-current-user.test.js similarity index 71% rename from packages/backend/src/controllers/api/v1/users/update-current-user.test.js rename to packages/backend/src/controllers/internal/api/v1/users/update-current-user.test.js index 38a56a8a..b6daee20 100644 --- a/packages/backend/src/controllers/api/v1/users/update-current-user.test.js +++ b/packages/backend/src/controllers/internal/api/v1/users/update-current-user.test.js @@ -1,11 +1,11 @@ import { describe, it, expect, beforeEach } from 'vitest'; import request from 'supertest'; -import app from '../../../../app.js'; -import createAuthTokenByUserId from '../../../../helpers/create-auth-token-by-user-id.js'; -import { createUser } from '../../../../../test/factories/user.js'; -import updateCurrentUserMock from '../../../../../test/mocks/rest/api/v1/users/update-current-user.js'; +import app from '../../../../../app.js'; +import createAuthTokenByUserId from '../../../../../helpers/create-auth-token-by-user-id.js'; +import { createUser } from '../../../../../../test/factories/user.js'; +import updateCurrentUserMock from '../../../../../../test/mocks/rest/internal/api/v1/users/update-current-user.js'; -describe('PATCH /api/v1/users/:userId', () => { +describe('PATCH /internal/api/v1/users/:userId', () => { let currentUser, token; beforeEach(async () => { @@ -20,7 +20,7 @@ describe('PATCH /api/v1/users/:userId', () => { }; const response = await request(app) - .patch(`/api/v1/users/${currentUser.id}`) + .patch(`/internal/api/v1/users/${currentUser.id}`) .set('Authorization', token) .send(userData) .expect(200); @@ -42,7 +42,7 @@ describe('PATCH /api/v1/users/:userId', () => { }; const response = await request(app) - .patch(`/api/v1/users/${currentUser.id}`) + .patch(`/internal/api/v1/users/${currentUser.id}`) .set('Authorization', token) .send(userData) .expect(422); diff --git a/packages/backend/src/helpers/authorization.js b/packages/backend/src/helpers/authorization.js index 505f67b0..cbfa8a31 100644 --- a/packages/backend/src/helpers/authorization.js +++ b/packages/backend/src/helpers/authorization.js @@ -1,163 +1,163 @@ import NotAuthorizedError from '../errors/not-authorized.js'; const authorizationList = { - 'GET /api/v1/users/:userId': { + 'GET /internal/api/v1/users/:userId': { action: 'read', subject: 'User', }, - 'GET /api/v1/users/': { + 'GET /internal/api/v1/users/': { action: 'read', subject: 'User', }, - 'GET /api/v1/users/:userId/apps': { + 'GET /internal/api/v1/users/:userId/apps': { action: 'read', subject: 'Connection', }, - 'GET /api/v1/flows/:flowId': { + 'GET /internal/api/v1/flows/:flowId': { action: 'read', subject: 'Flow', }, - 'GET /api/v1/flows/': { + 'GET /internal/api/v1/flows/': { action: 'read', subject: 'Flow', }, - 'POST /api/v1/flows/': { + 'POST /internal/api/v1/flows/': { action: 'manage', subject: 'Flow', }, - 'PATCH /api/v1/flows/:flowId': { + 'PATCH /internal/api/v1/flows/:flowId': { action: 'manage', subject: 'Flow', }, - 'DELETE /api/v1/flows/:flowId': { + 'DELETE /internal/api/v1/flows/:flowId': { action: 'manage', subject: 'Flow', }, - 'GET /api/v1/templates/': { + 'GET /internal/api/v1/templates/': { action: 'manage', subject: 'Flow', }, - 'GET /api/v1/steps/:stepId/connection': { + 'GET /internal/api/v1/steps/:stepId/connection': { action: 'read', subject: 'Flow', }, - 'PATCH /api/v1/steps/:stepId': { + 'PATCH /internal/api/v1/steps/:stepId': { action: 'manage', subject: 'Flow', }, - 'POST /api/v1/steps/:stepId/test': { + 'POST /internal/api/v1/steps/:stepId/test': { action: 'manage', subject: 'Flow', }, - 'GET /api/v1/steps/:stepId/previous-steps': { + 'GET /internal/api/v1/steps/:stepId/previous-steps': { action: 'manage', subject: 'Flow', }, - 'POST /api/v1/steps/:stepId/dynamic-fields': { + 'POST /internal/api/v1/steps/:stepId/dynamic-fields': { action: 'manage', subject: 'Flow', }, - 'POST /api/v1/steps/:stepId/dynamic-data': { + 'POST /internal/api/v1/steps/:stepId/dynamic-data': { action: 'manage', subject: 'Flow', }, - 'GET /api/v1/connections/:connectionId/flows': { + 'GET /internal/api/v1/connections/:connectionId/flows': { action: 'read', subject: 'Flow', }, - 'POST /api/v1/connections/:connectionId/test': { + 'POST /internal/api/v1/connections/:connectionId/test': { action: 'manage', subject: 'Connection', }, - 'POST /api/v1/connections/:connectionId/verify': { + 'POST /internal/api/v1/connections/:connectionId/verify': { action: 'manage', subject: 'Connection', }, - 'GET /api/v1/apps/:appKey/flows': { + 'GET /internal/api/v1/apps/:appKey/flows': { action: 'read', subject: 'Flow', }, - 'GET /api/v1/apps/:appKey/connections': { + 'GET /internal/api/v1/apps/:appKey/connections': { action: 'read', subject: 'Connection', }, - 'GET /api/v1/executions/:executionId': { + 'GET /internal/api/v1/executions/:executionId': { action: 'read', subject: 'Execution', }, - 'GET /api/v1/executions/': { + 'GET /internal/api/v1/executions/': { action: 'read', subject: 'Execution', }, - 'GET /api/v1/executions/:executionId/execution-steps': { + 'GET /internal/api/v1/executions/:executionId/execution-steps': { action: 'read', subject: 'Execution', }, - 'DELETE /api/v1/steps/:stepId': { + 'DELETE /internal/api/v1/steps/:stepId': { action: 'manage', subject: 'Flow', }, - 'PATCH /api/v1/connections/:connectionId': { + 'PATCH /internal/api/v1/connections/:connectionId': { action: 'manage', subject: 'Connection', }, - 'DELETE /api/v1/connections/:connectionId': { + 'DELETE /internal/api/v1/connections/:connectionId': { action: 'manage', subject: 'Connection', }, - 'POST /api/v1/connections/:connectionId/reset': { + 'POST /internal/api/v1/connections/:connectionId/reset': { action: 'manage', subject: 'Connection', }, - 'PATCH /api/v1/flows/:flowId/status': { + 'PATCH /internal/api/v1/flows/:flowId/status': { action: 'manage', subject: 'Flow', }, - 'POST /api/v1/flows/:flowId/duplicate': { + 'POST /internal/api/v1/flows/:flowId/duplicate': { action: 'manage', subject: 'Flow', }, - 'POST /api/v1/flows/:flowId/export': { + 'POST /internal/api/v1/flows/:flowId/export': { + action: 'manage', + subject: 'Flow', + }, + 'POST /internal/api/v1/flows/import': { + action: 'manage', + subject: 'Flow', + }, + 'POST /internal/api/v1/flows/:flowId/steps': { + action: 'manage', + subject: 'Flow', + }, + 'POST /internal/api/v1/apps/:appKey/connections': { + action: 'manage', + subject: 'Connection', + }, + 'POST /internal/api/v1/connections/:connectionId/auth-url': { + action: 'manage', + subject: 'Connection', + }, + 'POST /internal/api/v1/folders/': { + action: 'manage', + subject: 'Flow', + }, + 'PATCH /internal/api/v1/folders/:folderId': { + action: 'manage', + subject: 'Flow', + }, + 'DELETE /internal/api/v1/folders/:folderId': { + action: 'manage', + subject: 'Flow', + }, + 'GET /internal/api/v1/folders/': { action: 'read', subject: 'Flow', }, - 'POST /api/v1/flows/import': { + 'PATCH /internal/api/v1/flows/:flowId/folder': { action: 'manage', subject: 'Flow', }, - 'POST /api/v1/flows/:flowId/steps': { - action: 'manage', - subject: 'Flow', - }, - 'POST /api/v1/apps/:appKey/connections': { - action: 'manage', - subject: 'Connection', - }, - 'POST /api/v1/connections/:connectionId/auth-url': { - action: 'manage', - subject: 'Connection', - }, - 'POST /api/v1/folders/': { - action: 'manage', - subject: 'Flow', - }, - 'PATCH /api/v1/folders/:folderId': { - action: 'manage', - subject: 'Flow', - }, - 'DELETE /api/v1/folders/:folderId': { - action: 'manage', - subject: 'Flow', - }, - 'GET /api/v1/folders/': { - action: 'read', - subject: 'Flow', - }, - 'PATCH /api/v1/flows/:flowId/folder': { - action: 'manage', - subject: 'Flow', - }, - 'GET /api/v1/flows/:flowId/folder': { + 'GET /internal/api/v1/flows/:flowId/folder': { action: 'read', subject: 'Flow', }, diff --git a/packages/backend/src/helpers/license.ee.js b/packages/backend/src/helpers/license.ee.js index d3ae30c0..1813f405 100644 --- a/packages/backend/src/helpers/license.ee.js +++ b/packages/backend/src/helpers/license.ee.js @@ -17,7 +17,7 @@ const getLicense = async () => { return false; } - const url = 'https://license.automatisch.io/api/v1/licenses/verify'; + const url = 'https://license.automatisch.io/internal/api/v1/licenses/verify'; const cachedResponse = memoryCache.get(url); if (cachedResponse) { diff --git a/packages/backend/src/routes/api/v1/access-tokens.js b/packages/backend/src/routes/api/v1/access-tokens.js deleted file mode 100644 index 95dff384..00000000 --- a/packages/backend/src/routes/api/v1/access-tokens.js +++ /dev/null @@ -1,11 +0,0 @@ -import { Router } from 'express'; -import createAccessTokenAction from '../../../controllers/api/v1/access-tokens/create-access-token.js'; -import revokeAccessTokenAction from '../../../controllers/api/v1/access-tokens/revoke-access-token.js'; -import { authenticateUser } from '../../../helpers/authentication.js'; -const router = Router(); - -router.post('/', createAccessTokenAction); - -router.delete('/:token', authenticateUser, revokeAccessTokenAction); - -export default router; diff --git a/packages/backend/src/routes/api/v1/admin/api-tokens.ee.js b/packages/backend/src/routes/api/v1/admin/api-tokens.ee.js deleted file mode 100644 index 3ff163ad..00000000 --- a/packages/backend/src/routes/api/v1/admin/api-tokens.ee.js +++ /dev/null @@ -1,35 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../../helpers/authentication.js'; -import { authorizeAdmin } from '../../../../helpers/authorization.js'; -import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; -import createApiTokenAction from '../../../../controllers/api/v1/admin/api-tokens/create-api-token.ee.js'; -import getApiTokensAction from '../../../../controllers/api/v1/admin/api-tokens/get-api-tokens.ee.js'; -import deleteApiTokenAction from '../../../../controllers/api/v1/admin/api-tokens/delete-api-token.ee.js'; - -const router = Router(); - -router.post( - '/', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - createApiTokenAction -); - -router.get( - '/', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getApiTokensAction -); - -router.delete( - '/:id', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - deleteApiTokenAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/admin/apps.ee.js b/packages/backend/src/routes/api/v1/admin/apps.ee.js deleted file mode 100644 index 6a0eb9a6..00000000 --- a/packages/backend/src/routes/api/v1/admin/apps.ee.js +++ /dev/null @@ -1,62 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../../helpers/authentication.js'; -import { authorizeAdmin } from '../../../../helpers/authorization.js'; -import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; -import createConfigAction from '../../../../controllers/api/v1/admin/apps/create-config.ee.js'; -import updateConfigAction from '../../../../controllers/api/v1/admin/apps/update-config.ee.js'; -import getOAuthClientsAction from '../../../../controllers/api/v1/admin/apps/get-oauth-clients.ee.js'; -import getOAuthClientAction from '../../../../controllers/api/v1/admin/apps/get-oauth-client.ee.js'; -import createOAuthClientAction from '../../../../controllers/api/v1/admin/apps/create-oauth-client.ee.js'; -import updateOAuthClientAction from '../../../../controllers/api/v1/admin/apps/update-oauth-client.ee.js'; - -const router = Router(); - -router.post( - '/:appKey/config', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - createConfigAction -); - -router.patch( - '/:appKey/config', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - updateConfigAction -); - -router.get( - '/:appKey/oauth-clients', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getOAuthClientsAction -); - -router.post( - '/:appKey/oauth-clients', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - createOAuthClientAction -); - -router.get( - '/:appKey/oauth-clients/:oauthClientId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getOAuthClientAction -); - -router.patch( - '/:appKey/oauth-clients/:oauthClientId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - updateOAuthClientAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/admin/config.ee.js b/packages/backend/src/routes/api/v1/admin/config.ee.js deleted file mode 100644 index 51b4f254..00000000 --- a/packages/backend/src/routes/api/v1/admin/config.ee.js +++ /dev/null @@ -1,17 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../../helpers/authentication.js'; -import { authorizeAdmin } from '../../../../helpers/authorization.js'; -import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; -import updateConfigAction from '../../../../controllers/api/v1/admin/config/update.ee.js'; - -const router = Router(); - -router.patch( - '/', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - updateConfigAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/admin/permissions.ee.js b/packages/backend/src/routes/api/v1/admin/permissions.ee.js deleted file mode 100644 index 91a8486c..00000000 --- a/packages/backend/src/routes/api/v1/admin/permissions.ee.js +++ /dev/null @@ -1,17 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../../helpers/authentication.js'; -import { authorizeAdmin } from '../../../../helpers/authorization.js'; -import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; -import getPermissionsCatalogAction from '../../../../controllers/api/v1/admin/permissions/get-permissions-catalog.ee.js'; - -const router = Router(); - -router.get( - '/catalog', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getPermissionsCatalogAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/admin/roles.ee.js b/packages/backend/src/routes/api/v1/admin/roles.ee.js deleted file mode 100644 index 9715d705..00000000 --- a/packages/backend/src/routes/api/v1/admin/roles.ee.js +++ /dev/null @@ -1,53 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../../helpers/authentication.js'; -import { authorizeAdmin } from '../../../../helpers/authorization.js'; -import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; -import createRoleAction from '../../../../controllers/api/v1/admin/roles/create-role.ee.js'; -import getRolesAction from '../../../../controllers/api/v1/admin/roles/get-roles.ee.js'; -import getRoleAction from '../../../../controllers/api/v1/admin/roles/get-role.ee.js'; -import updateRoleAction from '../../../../controllers/api/v1/admin/roles/update-role.ee.js'; -import deleteRoleAction from '../../../../controllers/api/v1/admin/roles/delete-role.ee.js'; - -const router = Router(); - -router.post( - '/', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - createRoleAction -); - -router.get( - '/', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getRolesAction -); - -router.get( - '/:roleId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getRoleAction -); - -router.patch( - '/:roleId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - updateRoleAction -); - -router.delete( - '/:roleId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - deleteRoleAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/admin/saml-auth-providers.ee.js b/packages/backend/src/routes/api/v1/admin/saml-auth-providers.ee.js deleted file mode 100644 index eb243b82..00000000 --- a/packages/backend/src/routes/api/v1/admin/saml-auth-providers.ee.js +++ /dev/null @@ -1,62 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../../helpers/authentication.js'; -import { authorizeAdmin } from '../../../../helpers/authorization.js'; -import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; -import createSamlAuthProviderAction from '../../../../controllers/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js'; -import updateSamlAuthProviderAction from '../../../../controllers/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.js'; -import getSamlAuthProvidersAction from '../../../../controllers/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js'; -import getSamlAuthProviderAction from '../../../../controllers/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js'; -import getRoleMappingsAction from '../../../../controllers/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js'; -import updateRoleMappingsAction from '../../../../controllers/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js'; - -const router = Router(); - -router.get( - '/', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getSamlAuthProvidersAction -); - -router.post( - '/', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - createSamlAuthProviderAction -); - -router.get( - '/:samlAuthProviderId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getSamlAuthProviderAction -); - -router.get( - '/:samlAuthProviderId/role-mappings', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getRoleMappingsAction -); - -router.patch( - '/:samlAuthProviderId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - updateSamlAuthProviderAction -); - -router.patch( - '/:samlAuthProviderId/role-mappings', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - updateRoleMappingsAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/admin/templates.ee.js b/packages/backend/src/routes/api/v1/admin/templates.ee.js deleted file mode 100644 index 13874595..00000000 --- a/packages/backend/src/routes/api/v1/admin/templates.ee.js +++ /dev/null @@ -1,54 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../../helpers/authentication.js'; -import { authorizeAdmin } from '../../../../helpers/authorization.js'; -import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; - -import createTemplateAction from '../../../../controllers/api/v1/admin/templates/create-template.ee.js'; -import getTemplatesAction from '../../../../controllers/api/v1/admin/templates/get-templates.ee.js'; -import getTemplateAction from '../../../../controllers/api/v1/admin/templates/get-template.ee.js'; -import updateTemplateAction from '../../../../controllers/api/v1/admin/templates/update-template.ee.js'; -import deleteTemplateAction from '../../../../controllers/api/v1/admin/templates/delete-template.ee.js'; - -const router = Router(); - -router.get( - '/', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getTemplatesAction -); - -router.get( - '/:templateId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - getTemplateAction -); - -router.post( - '/', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - createTemplateAction -); - -router.patch( - '/:templateId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - updateTemplateAction -); - -router.delete( - '/:templateId', - authenticateUser, - authorizeAdmin, - checkIsEnterprise, - deleteTemplateAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/admin/users.ee.js b/packages/backend/src/routes/api/v1/admin/users.ee.js deleted file mode 100644 index b42685fe..00000000 --- a/packages/backend/src/routes/api/v1/admin/users.ee.js +++ /dev/null @@ -1,18 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../../helpers/authentication.js'; -import { authorizeAdmin } from '../../../../helpers/authorization.js'; -import getUsersAction from '../../../../controllers/api/v1/admin/users/get-users.ee.js'; -import createUserAction from '../../../../controllers/api/v1/admin/users/create-user.js'; -import getUserAction from '../../../../controllers/api/v1/admin/users/get-user.ee.js'; -import updateUserAction from '../../../../controllers/api/v1/admin/users/update-user.ee.js'; -import deleteUserAction from '../../../../controllers/api/v1/admin/users/delete-user.js'; - -const router = Router(); - -router.get('/', authenticateUser, authorizeAdmin, getUsersAction); -router.post('/', authenticateUser, authorizeAdmin, createUserAction); -router.get('/:userId', authenticateUser, authorizeAdmin, getUserAction); -router.patch('/:userId', authenticateUser, authorizeAdmin, updateUserAction); -router.delete('/:userId', authenticateUser, authorizeAdmin, deleteUserAction); - -export default router; diff --git a/packages/backend/src/routes/api/v1/apps.js b/packages/backend/src/routes/api/v1/apps.js deleted file mode 100644 index c92fc552..00000000 --- a/packages/backend/src/routes/api/v1/apps.js +++ /dev/null @@ -1,78 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../helpers/authentication.js'; -import { authorizeUser } from '../../../helpers/authorization.js'; -import { checkIsEnterprise } from '../../../helpers/check-is-enterprise.js'; -import getAppAction from '../../../controllers/api/v1/apps/get-app.js'; -import getAppsAction from '../../../controllers/api/v1/apps/get-apps.js'; -import getAuthAction from '../../../controllers/api/v1/apps/get-auth.js'; -import getConnectionsAction from '../../../controllers/api/v1/apps/get-connections.js'; -import getConfigAction from '../../../controllers/api/v1/apps/get-config.ee.js'; -import getOAuthClientsAction from '../../../controllers/api/v1/apps/get-oauth-clients.ee.js'; -import getOAuthClientAction from '../../../controllers/api/v1/apps/get-oauth-client.ee.js'; -import getTriggersAction from '../../../controllers/api/v1/apps/get-triggers.js'; -import getTriggerSubstepsAction from '../../../controllers/api/v1/apps/get-trigger-substeps.js'; -import getActionsAction from '../../../controllers/api/v1/apps/get-actions.js'; -import getActionSubstepsAction from '../../../controllers/api/v1/apps/get-action-substeps.js'; -import getFlowsAction from '../../../controllers/api/v1/apps/get-flows.js'; -import createConnectionAction from '../../../controllers/api/v1/apps/create-connection.js'; - -const router = Router(); - -router.get('/', authenticateUser, getAppsAction); -router.get('/:appKey', authenticateUser, getAppAction); -router.get('/:appKey/auth', authenticateUser, getAuthAction); - -router.get( - '/:appKey/connections', - authenticateUser, - authorizeUser, - getConnectionsAction -); - -router.post( - '/:appKey/connections', - authenticateUser, - authorizeUser, - createConnectionAction -); - -router.get( - '/:appKey/config', - authenticateUser, - checkIsEnterprise, - getConfigAction -); - -router.get( - '/:appKey/oauth-clients', - authenticateUser, - checkIsEnterprise, - getOAuthClientsAction -); - -router.get( - '/:appKey/oauth-clients/:oauthClientId', - authenticateUser, - checkIsEnterprise, - getOAuthClientAction -); - -router.get('/:appKey/triggers', authenticateUser, getTriggersAction); - -router.get( - '/:appKey/triggers/:triggerKey/substeps', - authenticateUser, - getTriggerSubstepsAction -); - -router.get('/:appKey/actions', authenticateUser, getActionsAction); - -router.get( - '/:appKey/actions/:actionKey/substeps', - authenticateUser, - getActionSubstepsAction -); - -router.get('/:appKey/flows', authenticateUser, authorizeUser, getFlowsAction); - -export default router; diff --git a/packages/backend/src/routes/api/v1/automatisch.js b/packages/backend/src/routes/api/v1/automatisch.js deleted file mode 100644 index ddab8317..00000000 --- a/packages/backend/src/routes/api/v1/automatisch.js +++ /dev/null @@ -1,17 +0,0 @@ -import { Router } from 'express'; -import { checkIsEnterprise } from '../../../helpers/check-is-enterprise.js'; -import versionAction from '../../../controllers/api/v1/automatisch/version.js'; -import notificationsAction from '../../../controllers/api/v1/automatisch/notifications.js'; -import infoAction from '../../../controllers/api/v1/automatisch/info.js'; -import licenseAction from '../../../controllers/api/v1/automatisch/license.js'; -import configAction from '../../../controllers/api/v1/automatisch/config.ee.js'; - -const router = Router(); - -router.get('/version', versionAction); -router.get('/notifications', notificationsAction); -router.get('/info', infoAction); -router.get('/license', licenseAction); -router.get('/config', checkIsEnterprise, configAction); - -export default router; diff --git a/packages/backend/src/routes/api/v1/connections.js b/packages/backend/src/routes/api/v1/connections.js deleted file mode 100644 index 16e7f738..00000000 --- a/packages/backend/src/routes/api/v1/connections.js +++ /dev/null @@ -1,63 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../helpers/authentication.js'; -import { authorizeUser } from '../../../helpers/authorization.js'; -import getFlowsAction from '../../../controllers/api/v1/connections/get-flows.js'; -import testConnectionAction from '../../../controllers/api/v1/connections/test-connection.js'; -import verifyConnectionAction from '../../../controllers/api/v1/connections/verify-connection.js'; -import deleteConnectionAction from '../../../controllers/api/v1/connections/delete-connection.js'; -import updateConnectionAction from '../../../controllers/api/v1/connections/update-connection.js'; -import generateAuthUrlAction from '../../../controllers/api/v1/connections/generate-auth-url.js'; -import resetConnectionAction from '../../../controllers/api/v1/connections/reset-connection.js'; - -const router = Router(); - -router.delete( - '/:connectionId', - authenticateUser, - authorizeUser, - deleteConnectionAction -); - -router.patch( - '/:connectionId', - authenticateUser, - authorizeUser, - updateConnectionAction -); - -router.get( - '/:connectionId/flows', - authenticateUser, - authorizeUser, - getFlowsAction -); - -router.post( - '/:connectionId/test', - authenticateUser, - authorizeUser, - testConnectionAction -); - -router.post( - '/:connectionId/reset', - authenticateUser, - authorizeUser, - resetConnectionAction -); - -router.post( - '/:connectionId/auth-url', - authenticateUser, - authorizeUser, - generateAuthUrlAction -); - -router.post( - '/:connectionId/verify', - authenticateUser, - authorizeUser, - verifyConnectionAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/executions.js b/packages/backend/src/routes/api/v1/executions.js deleted file mode 100644 index fdc9871f..00000000 --- a/packages/backend/src/routes/api/v1/executions.js +++ /dev/null @@ -1,26 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../helpers/authentication.js'; -import { authorizeUser } from '../../../helpers/authorization.js'; -import getExecutionsAction from '../../../controllers/api/v1/executions/get-executions.js'; -import getExecutionAction from '../../../controllers/api/v1/executions/get-execution.js'; -import getExecutionStepsAction from '../../../controllers/api/v1/executions/get-execution-steps.js'; - -const router = Router(); - -router.get('/', authenticateUser, authorizeUser, getExecutionsAction); - -router.get( - '/:executionId', - authenticateUser, - authorizeUser, - getExecutionAction -); - -router.get( - '/:executionId/execution-steps', - authenticateUser, - authorizeUser, - getExecutionStepsAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/flows.js b/packages/backend/src/routes/api/v1/flows.js deleted file mode 100644 index 0218878b..00000000 --- a/packages/backend/src/routes/api/v1/flows.js +++ /dev/null @@ -1,64 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../helpers/authentication.js'; -import { authorizeUser } from '../../../helpers/authorization.js'; -import getFlowsAction from '../../../controllers/api/v1/flows/get-flows.js'; -import getFlowAction from '../../../controllers/api/v1/flows/get-flow.js'; -import getFolderAction from '../../../controllers/api/v1/flows/get-folder.js'; -import updateFlowAction from '../../../controllers/api/v1/flows/update-flow.js'; -import updateFlowStatusAction from '../../../controllers/api/v1/flows/update-flow-status.js'; -import updateFlowFolderAction from '../../../controllers/api/v1/flows/update-flow-folder.js'; -import createFlowAction from '../../../controllers/api/v1/flows/create-flow.js'; -import createStepAction from '../../../controllers/api/v1/flows/create-step.js'; -import deleteFlowAction from '../../../controllers/api/v1/flows/delete-flow.js'; -import duplicateFlowAction from '../../../controllers/api/v1/flows/duplicate-flow.js'; -import exportFlowAction from '../../../controllers/api/v1/flows/export-flow.js'; -import importFlowAction from '../../../controllers/api/v1/flows/import-flow.js'; - -const router = Router(); - -router.get('/', authenticateUser, authorizeUser, getFlowsAction); -router.get('/:flowId', authenticateUser, authorizeUser, getFlowAction); -router.get('/:flowId/folder', authenticateUser, authorizeUser, getFolderAction); -router.post('/', authenticateUser, authorizeUser, createFlowAction); -router.patch('/:flowId', authenticateUser, authorizeUser, updateFlowAction); - -router.patch( - '/:flowId/status', - authenticateUser, - authorizeUser, - updateFlowStatusAction -); - -router.patch( - '/:flowId/folder', - authenticateUser, - authorizeUser, - updateFlowFolderAction -); - -router.post( - '/:flowId/export', - authenticateUser, - authorizeUser, - exportFlowAction -); - -router.post('/import', authenticateUser, authorizeUser, importFlowAction); - -router.post( - '/:flowId/steps', - authenticateUser, - authorizeUser, - createStepAction -); - -router.post( - '/:flowId/duplicate', - authenticateUser, - authorizeUser, - duplicateFlowAction -); - -router.delete('/:flowId', authenticateUser, authorizeUser, deleteFlowAction); - -export default router; diff --git a/packages/backend/src/routes/api/v1/folders.js b/packages/backend/src/routes/api/v1/folders.js deleted file mode 100644 index 5cc232c4..00000000 --- a/packages/backend/src/routes/api/v1/folders.js +++ /dev/null @@ -1,22 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../helpers/authentication.js'; -import { authorizeUser } from '../../../helpers/authorization.js'; -import getFoldersAction from '../../../controllers/api/v1/folders/get-folders.js'; -import createFolderAction from '../../../controllers/api/v1/folders/create-folder.js'; -import updateFolderAction from '../../../controllers/api/v1/folders/update-folder.js'; -import deleteFolderAction from '../../../controllers/api/v1/folders/delete-folder.js'; - -const router = Router(); - -router.get('/', authenticateUser, authorizeUser, getFoldersAction); -router.post('/', authenticateUser, authorizeUser, createFolderAction); -router.patch('/:folderId', authenticateUser, authorizeUser, updateFolderAction); - -router.delete( - '/:folderId', - authenticateUser, - authorizeUser, - deleteFolderAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/installation/users.js b/packages/backend/src/routes/api/v1/installation/users.js deleted file mode 100644 index 5118b4f5..00000000 --- a/packages/backend/src/routes/api/v1/installation/users.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Router } from 'express'; -import { allowInstallation } from '../../../../helpers/allow-installation.js'; -import createUserAction from '../../../../controllers/api/v1/installation/users/create-user.js'; - -const router = Router(); - -router.post('/', allowInstallation, createUserAction); - -export default router; diff --git a/packages/backend/src/routes/api/v1/payment.ee.js b/packages/backend/src/routes/api/v1/payment.ee.js deleted file mode 100644 index 8f6e42e9..00000000 --- a/packages/backend/src/routes/api/v1/payment.ee.js +++ /dev/null @@ -1,12 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../helpers/authentication.js'; -import checkIsCloud from '../../../helpers/check-is-cloud.js'; -import getPlansAction from '../../../controllers/api/v1/payment/get-plans.ee.js'; -import getPaddleInfoAction from '../../../controllers/api/v1/payment/get-paddle-info.ee.js'; - -const router = Router(); - -router.get('/plans', authenticateUser, checkIsCloud, getPlansAction); -router.get('/paddle-info', authenticateUser, checkIsCloud, getPaddleInfoAction); - -export default router; diff --git a/packages/backend/src/routes/api/v1/saml-auth-providers.ee.js b/packages/backend/src/routes/api/v1/saml-auth-providers.ee.js deleted file mode 100644 index 5cf3fd6b..00000000 --- a/packages/backend/src/routes/api/v1/saml-auth-providers.ee.js +++ /dev/null @@ -1,9 +0,0 @@ -import { Router } from 'express'; -import { checkIsEnterprise } from '../../../helpers/check-is-enterprise.js'; -import getSamlAuthProvidersAction from '../../../controllers/api/v1/saml-auth-providers/get-saml-auth-providers.ee.js'; - -const router = Router(); - -router.get('/', checkIsEnterprise, getSamlAuthProvidersAction); - -export default router; diff --git a/packages/backend/src/routes/api/v1/steps.js b/packages/backend/src/routes/api/v1/steps.js deleted file mode 100644 index bcfc8074..00000000 --- a/packages/backend/src/routes/api/v1/steps.js +++ /dev/null @@ -1,47 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../helpers/authentication.js'; -import { authorizeUser } from '../../../helpers/authorization.js'; -import getConnectionAction from '../../../controllers/api/v1/steps/get-connection.js'; -import testStepAction from '../../../controllers/api/v1/steps/test-step.js'; -import getPreviousStepsAction from '../../../controllers/api/v1/steps/get-previous-steps.js'; -import createDynamicFieldsAction from '../../../controllers/api/v1/steps/create-dynamic-fields.js'; -import createDynamicDataAction from '../../../controllers/api/v1/steps/create-dynamic-data.js'; -import deleteStepAction from '../../../controllers/api/v1/steps/delete-step.js'; -import updateStepAction from '../../../controllers/api/v1/steps/update-step.js'; - -const router = Router(); - -router.get( - '/:stepId/connection', - authenticateUser, - authorizeUser, - getConnectionAction -); - -router.post('/:stepId/test', authenticateUser, authorizeUser, testStepAction); - -router.get( - '/:stepId/previous-steps', - authenticateUser, - authorizeUser, - getPreviousStepsAction -); - -router.post( - '/:stepId/dynamic-fields', - authenticateUser, - authorizeUser, - createDynamicFieldsAction -); - -router.post( - '/:stepId/dynamic-data', - authenticateUser, - authorizeUser, - createDynamicDataAction -); - -router.patch('/:stepId', authenticateUser, authorizeUser, updateStepAction); -router.delete('/:stepId', authenticateUser, authorizeUser, deleteStepAction); - -export default router; diff --git a/packages/backend/src/routes/api/v1/templates.ee.js b/packages/backend/src/routes/api/v1/templates.ee.js deleted file mode 100644 index ccee826f..00000000 --- a/packages/backend/src/routes/api/v1/templates.ee.js +++ /dev/null @@ -1,20 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../helpers/authentication.js'; -import { authorizeUser } from '../../../helpers/authorization.js'; -import { checkIsEnterprise } from '../../../helpers/check-is-enterprise.js'; -import { checkTemplatesEnabled } from '../../../helpers/check-templates-enabled.js'; - -import getTemplatesAction from '../../../controllers/api/v1/templates/get-templates.ee.js'; - -const router = Router(); - -router.get( - '/', - authenticateUser, - authorizeUser, - checkIsEnterprise, - checkTemplatesEnabled, - getTemplatesAction -); - -export default router; diff --git a/packages/backend/src/routes/api/v1/users.js b/packages/backend/src/routes/api/v1/users.js deleted file mode 100644 index 3619a96c..00000000 --- a/packages/backend/src/routes/api/v1/users.js +++ /dev/null @@ -1,60 +0,0 @@ -import { Router } from 'express'; -import { authenticateUser } from '../../../helpers/authentication.js'; -import { authorizeUser } from '../../../helpers/authorization.js'; -import checkIsCloud from '../../../helpers/check-is-cloud.js'; -import getCurrentUserAction from '../../../controllers/api/v1/users/get-current-user.js'; -import updateCurrentUserAction from '../../../controllers/api/v1/users/update-current-user.js'; -import updateCurrentUserPasswordAction from '../../../controllers/api/v1/users/update-current-user-password.js'; -import deleteCurrentUserAction from '../../../controllers/api/v1/users/delete-current-user.js'; -import getUserTrialAction from '../../../controllers/api/v1/users/get-user-trial.ee.js'; -import getAppsAction from '../../../controllers/api/v1/users/get-apps.js'; -import getInvoicesAction from '../../../controllers/api/v1/users/get-invoices.ee.js'; -import getSubscriptionAction from '../../../controllers/api/v1/users/get-subscription.ee.js'; -import getPlanAndUsageAction from '../../../controllers/api/v1/users/get-plan-and-usage.ee.js'; -import acceptInvitationAction from '../../../controllers/api/v1/users/accept-invitation.js'; -import forgotPasswordAction from '../../../controllers/api/v1/users/forgot-password.js'; -import resetPasswordAction from '../../../controllers/api/v1/users/reset-password.js'; -import registerUserAction from '../../../controllers/api/v1/users/register-user.ee.js'; - -const router = Router(); - -router.get('/me', authenticateUser, getCurrentUserAction); -router.patch('/:userId', authenticateUser, updateCurrentUserAction); - -router.patch( - '/:userId/password', - authenticateUser, - updateCurrentUserPasswordAction -); - -router.get('/:userId/apps', authenticateUser, authorizeUser, getAppsAction); -router.get('/invoices', authenticateUser, checkIsCloud, getInvoicesAction); -router.delete('/:userId', authenticateUser, deleteCurrentUserAction); - -router.get( - '/:userId/trial', - authenticateUser, - checkIsCloud, - getUserTrialAction -); - -router.get( - '/:userId/subscription', - authenticateUser, - checkIsCloud, - getSubscriptionAction -); - -router.get( - '/:userId/plan-and-usage', - authenticateUser, - checkIsCloud, - getPlanAndUsageAction -); - -router.post('/invitation', acceptInvitationAction); -router.post('/forgot-password', forgotPasswordAction); -router.post('/reset-password', resetPasswordAction); -router.post('/register', checkIsCloud, registerUserAction); - -export default router; diff --git a/packages/backend/src/routes/index.js b/packages/backend/src/routes/index.js index 5cfa3b6e..74cf5301 100644 --- a/packages/backend/src/routes/index.js +++ b/packages/backend/src/routes/index.js @@ -2,53 +2,57 @@ import { Router } from 'express'; import webhooksRouter from './webhooks.js'; import paddleRouter from './paddle.ee.js'; import healthcheckRouter from './healthcheck.js'; -import automatischRouter from './api/v1/automatisch.js'; -import accessTokensRouter from './api/v1/access-tokens.js'; -import usersRouter from './api/v1/users.js'; -import paymentRouter from './api/v1/payment.ee.js'; -import flowsRouter from './api/v1/flows.js'; -import stepsRouter from './api/v1/steps.js'; -import appsRouter from './api/v1/apps.js'; -import connectionsRouter from './api/v1/connections.js'; -import executionsRouter from './api/v1/executions.js'; -import samlAuthProvidersRouter from './api/v1/saml-auth-providers.ee.js'; -import adminAppsRouter from './api/v1/admin/apps.ee.js'; -import adminConfigRouter from './api/v1/admin/config.ee.js'; -import adminSamlAuthProvidersRouter from './api/v1/admin/saml-auth-providers.ee.js'; -import adminTemplatesRouter from './api/v1/admin/templates.ee.js'; -import adminApiTokensRouter from './api/v1/admin/api-tokens.ee.js'; -import templatesRouter from './api/v1/templates.ee.js'; -import rolesRouter from './api/v1/admin/roles.ee.js'; -import permissionsRouter from './api/v1/admin/permissions.ee.js'; -import adminUsersRouter from './api/v1/admin/users.ee.js'; -import installationUsersRouter from './api/v1/installation/users.js'; -import foldersRouter from './api/v1/folders.js'; +import automatischRouter from './internal/api/v1/automatisch.js'; +import accessTokensRouter from './internal/api/v1/access-tokens.js'; +import usersRouter from './internal/api/v1/users.js'; +import paymentRouter from './internal/api/v1/payment.ee.js'; +import flowsRouter from './internal/api/v1/flows.js'; +import stepsRouter from './internal/api/v1/steps.js'; +import appsRouter from './internal/api/v1/apps.js'; +import connectionsRouter from './internal/api/v1/connections.js'; +import executionsRouter from './internal/api/v1/executions.js'; +import samlAuthProvidersRouter from './internal/api/v1/saml-auth-providers.ee.js'; +import adminAppsRouter from './internal/api/v1/admin/apps.ee.js'; +import adminConfigRouter from './internal/api/v1/admin/config.ee.js'; +import adminSamlAuthProvidersRouter from './internal/api/v1/admin/saml-auth-providers.ee.js'; +import adminTemplatesRouter from './internal/api/v1/admin/templates.ee.js'; +import adminApiTokensRouter from './internal/api/v1/admin/api-tokens.ee.js'; +import templatesRouter from './internal/api/v1/templates.ee.js'; +import rolesRouter from './internal/api/v1/admin/roles.ee.js'; +import permissionsRouter from './internal/api/v1/admin/permissions.ee.js'; +import adminUsersRouter from './internal/api/v1/admin/users.ee.js'; +import installationUsersRouter from './internal/api/v1/installation/users.js'; +import foldersRouter from './internal/api/v1/folders.js'; const router = Router(); router.use('/webhooks', webhooksRouter); router.use('/paddle', paddleRouter); router.use('/healthcheck', healthcheckRouter); -router.use('/api/v1/automatisch', automatischRouter); -router.use('/api/v1/access-tokens', accessTokensRouter); -router.use('/api/v1/users', usersRouter); -router.use('/api/v1/payment', paymentRouter); -router.use('/api/v1/apps', appsRouter); -router.use('/api/v1/connections', connectionsRouter); -router.use('/api/v1/flows', flowsRouter); -router.use('/api/v1/steps', stepsRouter); -router.use('/api/v1/executions', executionsRouter); -router.use('/api/v1/saml-auth-providers', samlAuthProvidersRouter); -router.use('/api/v1/admin/apps', adminAppsRouter); -router.use('/api/v1/admin/config', adminConfigRouter); -router.use('/api/v1/admin/users', adminUsersRouter); -router.use('/api/v1/admin/roles', rolesRouter); -router.use('/api/v1/admin/permissions', permissionsRouter); -router.use('/api/v1/admin/saml-auth-providers', adminSamlAuthProvidersRouter); -router.use('/api/v1/admin/templates', adminTemplatesRouter); -router.use('/api/v1/admin/api-tokens', adminApiTokensRouter); -router.use('/api/v1/templates', templatesRouter); -router.use('/api/v1/installation/users', installationUsersRouter); -router.use('/api/v1/folders', foldersRouter); + +router.use('/internal/api/v1/automatisch', automatischRouter); +router.use('/internal/api/v1/access-tokens', accessTokensRouter); +router.use('/internal/api/v1/users', usersRouter); +router.use('/internal/api/v1/payment', paymentRouter); +router.use('/internal/api/v1/apps', appsRouter); +router.use('/internal/api/v1/connections', connectionsRouter); +router.use('/internal/api/v1/flows', flowsRouter); +router.use('/internal/api/v1/steps', stepsRouter); +router.use('/internal/api/v1/executions', executionsRouter); +router.use('/internal/api/v1/saml-auth-providers', samlAuthProvidersRouter); +router.use('/internal/api/v1/admin/apps', adminAppsRouter); +router.use('/internal/api/v1/admin/config', adminConfigRouter); +router.use('/internal/api/v1/admin/users', adminUsersRouter); +router.use('/internal/api/v1/admin/roles', rolesRouter); +router.use('/internal/api/v1/admin/permissions', permissionsRouter); +router.use( + '/internal/api/v1/admin/saml-auth-providers', + adminSamlAuthProvidersRouter +); +router.use('/internal/api/v1/admin/templates', adminTemplatesRouter); +router.use('/internal/api/v1/admin/api-tokens', adminApiTokensRouter); +router.use('/internal/api/v1/templates', templatesRouter); +router.use('/internal/api/v1/installation/users', installationUsersRouter); +router.use('/internal/api/v1/folders', foldersRouter); export default router; diff --git a/packages/backend/src/routes/internal/api/v1/access-tokens.js b/packages/backend/src/routes/internal/api/v1/access-tokens.js new file mode 100644 index 00000000..61b34299 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/access-tokens.js @@ -0,0 +1,11 @@ +import { Router } from 'express'; +import createAccessTokenAction from '../../../../controllers/internal/api/v1/access-tokens/create-access-token.js'; +import revokeAccessTokenAction from '../../../../controllers/internal/api/v1/access-tokens/revoke-access-token.js'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +const router = Router(); + +router.post('/', createAccessTokenAction); + +router.delete('/:token', authenticateUser, revokeAccessTokenAction); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/admin/api-tokens.ee.js b/packages/backend/src/routes/internal/api/v1/admin/api-tokens.ee.js new file mode 100644 index 00000000..6564ad2f --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/admin/api-tokens.ee.js @@ -0,0 +1,35 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../../helpers/authentication.js'; +import { authorizeAdmin } from '../../../../../helpers/authorization.js'; +import { checkIsEnterprise } from '../../../../../helpers/check-is-enterprise.js'; +import createApiTokenAction from '../../../../../controllers/internal/api/v1/admin/api-tokens/create-api-token.ee.js'; +import getApiTokensAction from '../../../../../controllers/internal/api/v1/admin/api-tokens/get-api-tokens.ee.js'; +import deleteApiTokenAction from '../../../../../controllers/internal/api/v1/admin/api-tokens/delete-api-token.ee.js'; + +const router = Router(); + +router.post( + '/', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + createApiTokenAction +); + +router.get( + '/', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getApiTokensAction +); + +router.delete( + '/:id', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + deleteApiTokenAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/admin/apps.ee.js b/packages/backend/src/routes/internal/api/v1/admin/apps.ee.js new file mode 100644 index 00000000..ac946a3e --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/admin/apps.ee.js @@ -0,0 +1,62 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../../helpers/authentication.js'; +import { authorizeAdmin } from '../../../../../helpers/authorization.js'; +import { checkIsEnterprise } from '../../../../../helpers/check-is-enterprise.js'; +import createConfigAction from '../../../../../controllers/internal/api/v1/admin/apps/create-config.ee.js'; +import updateConfigAction from '../../../../../controllers/internal/api/v1/admin/apps/update-config.ee.js'; +import getOAuthClientsAction from '../../../../../controllers/internal/api/v1/admin/apps/get-oauth-clients.ee.js'; +import getOAuthClientAction from '../../../../../controllers/internal/api/v1/admin/apps/get-oauth-client.ee.js'; +import createOAuthClientAction from '../../../../../controllers/internal/api/v1/admin/apps/create-oauth-client.ee.js'; +import updateOAuthClientAction from '../../../../../controllers/internal/api/v1/admin/apps/update-oauth-client.ee.js'; + +const router = Router(); + +router.post( + '/:appKey/config', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + createConfigAction +); + +router.patch( + '/:appKey/config', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + updateConfigAction +); + +router.get( + '/:appKey/oauth-clients', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getOAuthClientsAction +); + +router.post( + '/:appKey/oauth-clients', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + createOAuthClientAction +); + +router.get( + '/:appKey/oauth-clients/:oauthClientId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getOAuthClientAction +); + +router.patch( + '/:appKey/oauth-clients/:oauthClientId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + updateOAuthClientAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/admin/config.ee.js b/packages/backend/src/routes/internal/api/v1/admin/config.ee.js new file mode 100644 index 00000000..ce0ea9c6 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/admin/config.ee.js @@ -0,0 +1,17 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../../helpers/authentication.js'; +import { authorizeAdmin } from '../../../../../helpers/authorization.js'; +import { checkIsEnterprise } from '../../../../../helpers/check-is-enterprise.js'; +import updateConfigAction from '../../../../../controllers/internal/api/v1/admin/config/update.ee.js'; + +const router = Router(); + +router.patch( + '/', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + updateConfigAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/admin/permissions.ee.js b/packages/backend/src/routes/internal/api/v1/admin/permissions.ee.js new file mode 100644 index 00000000..764d6b01 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/admin/permissions.ee.js @@ -0,0 +1,17 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../../helpers/authentication.js'; +import { authorizeAdmin } from '../../../../../helpers/authorization.js'; +import { checkIsEnterprise } from '../../../../../helpers/check-is-enterprise.js'; +import getPermissionsCatalogAction from '../../../../../controllers/internal/api/v1/admin/permissions/get-permissions-catalog.ee.js'; + +const router = Router(); + +router.get( + '/catalog', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getPermissionsCatalogAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/admin/roles.ee.js b/packages/backend/src/routes/internal/api/v1/admin/roles.ee.js new file mode 100644 index 00000000..ebc26133 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/admin/roles.ee.js @@ -0,0 +1,53 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../../helpers/authentication.js'; +import { authorizeAdmin } from '../../../../../helpers/authorization.js'; +import { checkIsEnterprise } from '../../../../../helpers/check-is-enterprise.js'; +import createRoleAction from '../../../../../controllers/internal/api/v1/admin/roles/create-role.ee.js'; +import getRolesAction from '../../../../../controllers/internal/api/v1/admin/roles/get-roles.ee.js'; +import getRoleAction from '../../../../../controllers/internal/api/v1/admin/roles/get-role.ee.js'; +import updateRoleAction from '../../../../../controllers/internal/api/v1/admin/roles/update-role.ee.js'; +import deleteRoleAction from '../../../../../controllers/internal/api/v1/admin/roles/delete-role.ee.js'; + +const router = Router(); + +router.post( + '/', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + createRoleAction +); + +router.get( + '/', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getRolesAction +); + +router.get( + '/:roleId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getRoleAction +); + +router.patch( + '/:roleId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + updateRoleAction +); + +router.delete( + '/:roleId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + deleteRoleAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/admin/saml-auth-providers.ee.js b/packages/backend/src/routes/internal/api/v1/admin/saml-auth-providers.ee.js new file mode 100644 index 00000000..fc2a08ab --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/admin/saml-auth-providers.ee.js @@ -0,0 +1,62 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../../helpers/authentication.js'; +import { authorizeAdmin } from '../../../../../helpers/authorization.js'; +import { checkIsEnterprise } from '../../../../../helpers/check-is-enterprise.js'; +import createSamlAuthProviderAction from '../../../../../controllers/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js'; +import updateSamlAuthProviderAction from '../../../../../controllers/internal/api/v1/admin/saml-auth-providers/update-saml-auth-provider.ee.js'; +import getSamlAuthProvidersAction from '../../../../../controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js'; +import getSamlAuthProviderAction from '../../../../../controllers/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js'; +import getRoleMappingsAction from '../../../../../controllers/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js'; +import updateRoleMappingsAction from '../../../../../controllers/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js'; + +const router = Router(); + +router.get( + '/', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getSamlAuthProvidersAction +); + +router.post( + '/', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + createSamlAuthProviderAction +); + +router.get( + '/:samlAuthProviderId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getSamlAuthProviderAction +); + +router.get( + '/:samlAuthProviderId/role-mappings', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getRoleMappingsAction +); + +router.patch( + '/:samlAuthProviderId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + updateSamlAuthProviderAction +); + +router.patch( + '/:samlAuthProviderId/role-mappings', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + updateRoleMappingsAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/admin/templates.ee.js b/packages/backend/src/routes/internal/api/v1/admin/templates.ee.js new file mode 100644 index 00000000..b0c98351 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/admin/templates.ee.js @@ -0,0 +1,54 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../../helpers/authentication.js'; +import { authorizeAdmin } from '../../../../../helpers/authorization.js'; +import { checkIsEnterprise } from '../../../../../helpers/check-is-enterprise.js'; + +import createTemplateAction from '../../../../../controllers/internal/api/v1/admin/templates/create-template.ee.js'; +import getTemplatesAction from '../../../../../controllers/internal/api/v1/admin/templates/get-templates.ee.js'; +import getTemplateAction from '../../../../../controllers/internal/api/v1/admin/templates/get-template.ee.js'; +import updateTemplateAction from '../../../../../controllers/internal/api/v1/admin/templates/update-template.ee.js'; +import deleteTemplateAction from '../../../../../controllers/internal/api/v1/admin/templates/delete-template.ee.js'; + +const router = Router(); + +router.get( + '/', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getTemplatesAction +); + +router.get( + '/:templateId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + getTemplateAction +); + +router.post( + '/', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + createTemplateAction +); + +router.patch( + '/:templateId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + updateTemplateAction +); + +router.delete( + '/:templateId', + authenticateUser, + authorizeAdmin, + checkIsEnterprise, + deleteTemplateAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/admin/users.ee.js b/packages/backend/src/routes/internal/api/v1/admin/users.ee.js new file mode 100644 index 00000000..bef5028a --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/admin/users.ee.js @@ -0,0 +1,18 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../../helpers/authentication.js'; +import { authorizeAdmin } from '../../../../../helpers/authorization.js'; +import getUsersAction from '../../../../../controllers/internal/api/v1/admin/users/get-users.ee.js'; +import createUserAction from '../../../../../controllers/internal/api/v1/admin/users/create-user.js'; +import getUserAction from '../../../../../controllers/internal/api/v1/admin/users/get-user.ee.js'; +import updateUserAction from '../../../../../controllers/internal/api/v1/admin/users/update-user.ee.js'; +import deleteUserAction from '../../../../../controllers/internal/api/v1/admin/users/delete-user.js'; + +const router = Router(); + +router.get('/', authenticateUser, authorizeAdmin, getUsersAction); +router.post('/', authenticateUser, authorizeAdmin, createUserAction); +router.get('/:userId', authenticateUser, authorizeAdmin, getUserAction); +router.patch('/:userId', authenticateUser, authorizeAdmin, updateUserAction); +router.delete('/:userId', authenticateUser, authorizeAdmin, deleteUserAction); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/apps.js b/packages/backend/src/routes/internal/api/v1/apps.js new file mode 100644 index 00000000..918f90f3 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/apps.js @@ -0,0 +1,78 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +import { authorizeUser } from '../../../../helpers/authorization.js'; +import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; +import getAppAction from '../../../../controllers/internal/api/v1/apps/get-app.js'; +import getAppsAction from '../../../../controllers/internal/api/v1/apps/get-apps.js'; +import getAuthAction from '../../../../controllers/internal/api/v1/apps/get-auth.js'; +import getConnectionsAction from '../../../../controllers/internal/api/v1/apps/get-connections.js'; +import getConfigAction from '../../../../controllers/internal/api/v1/apps/get-config.ee.js'; +import getOAuthClientsAction from '../../../../controllers/internal/api/v1/apps/get-oauth-clients.ee.js'; +import getOAuthClientAction from '../../../../controllers/internal/api/v1/apps/get-oauth-client.ee.js'; +import getTriggersAction from '../../../../controllers/internal/api/v1/apps/get-triggers.js'; +import getTriggerSubstepsAction from '../../../../controllers/internal/api/v1/apps/get-trigger-substeps.js'; +import getActionsAction from '../../../../controllers/internal/api/v1/apps/get-actions.js'; +import getActionSubstepsAction from '../../../../controllers/internal/api/v1/apps/get-action-substeps.js'; +import getFlowsAction from '../../../../controllers/internal/api/v1/apps/get-flows.js'; +import createConnectionAction from '../../../../controllers/internal/api/v1/apps/create-connection.js'; + +const router = Router(); + +router.get('/', authenticateUser, getAppsAction); +router.get('/:appKey', authenticateUser, getAppAction); +router.get('/:appKey/auth', authenticateUser, getAuthAction); + +router.get( + '/:appKey/connections', + authenticateUser, + authorizeUser, + getConnectionsAction +); + +router.post( + '/:appKey/connections', + authenticateUser, + authorizeUser, + createConnectionAction +); + +router.get( + '/:appKey/config', + authenticateUser, + checkIsEnterprise, + getConfigAction +); + +router.get( + '/:appKey/oauth-clients', + authenticateUser, + checkIsEnterprise, + getOAuthClientsAction +); + +router.get( + '/:appKey/oauth-clients/:oauthClientId', + authenticateUser, + checkIsEnterprise, + getOAuthClientAction +); + +router.get('/:appKey/triggers', authenticateUser, getTriggersAction); + +router.get( + '/:appKey/triggers/:triggerKey/substeps', + authenticateUser, + getTriggerSubstepsAction +); + +router.get('/:appKey/actions', authenticateUser, getActionsAction); + +router.get( + '/:appKey/actions/:actionKey/substeps', + authenticateUser, + getActionSubstepsAction +); + +router.get('/:appKey/flows', authenticateUser, authorizeUser, getFlowsAction); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/automatisch.js b/packages/backend/src/routes/internal/api/v1/automatisch.js new file mode 100644 index 00000000..201c6ead --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/automatisch.js @@ -0,0 +1,17 @@ +import { Router } from 'express'; +import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; +import versionAction from '../../../../controllers/internal/api/v1/automatisch/version.js'; +import notificationsAction from '../../../../controllers/internal/api/v1/automatisch/notifications.js'; +import infoAction from '../../../../controllers/internal/api/v1/automatisch/info.js'; +import licenseAction from '../../../../controllers/internal/api/v1/automatisch/license.js'; +import configAction from '../../../../controllers/internal/api/v1/automatisch/config.ee.js'; + +const router = Router(); + +router.get('/version', versionAction); +router.get('/notifications', notificationsAction); +router.get('/info', infoAction); +router.get('/license', licenseAction); +router.get('/config', checkIsEnterprise, configAction); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/connections.js b/packages/backend/src/routes/internal/api/v1/connections.js new file mode 100644 index 00000000..47823e51 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/connections.js @@ -0,0 +1,63 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +import { authorizeUser } from '../../../../helpers/authorization.js'; +import getFlowsAction from '../../../../controllers/internal/api/v1/connections/get-flows.js'; +import testConnectionAction from '../../../../controllers/internal/api/v1/connections/test-connection.js'; +import verifyConnectionAction from '../../../../controllers/internal/api/v1/connections/verify-connection.js'; +import deleteConnectionAction from '../../../../controllers/internal/api/v1/connections/delete-connection.js'; +import updateConnectionAction from '../../../../controllers/internal/api/v1/connections/update-connection.js'; +import generateAuthUrlAction from '../../../../controllers/internal/api/v1/connections/generate-auth-url.js'; +import resetConnectionAction from '../../../../controllers/internal/api/v1/connections/reset-connection.js'; + +const router = Router(); + +router.delete( + '/:connectionId', + authenticateUser, + authorizeUser, + deleteConnectionAction +); + +router.patch( + '/:connectionId', + authenticateUser, + authorizeUser, + updateConnectionAction +); + +router.get( + '/:connectionId/flows', + authenticateUser, + authorizeUser, + getFlowsAction +); + +router.post( + '/:connectionId/test', + authenticateUser, + authorizeUser, + testConnectionAction +); + +router.post( + '/:connectionId/reset', + authenticateUser, + authorizeUser, + resetConnectionAction +); + +router.post( + '/:connectionId/auth-url', + authenticateUser, + authorizeUser, + generateAuthUrlAction +); + +router.post( + '/:connectionId/verify', + authenticateUser, + authorizeUser, + verifyConnectionAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/executions.js b/packages/backend/src/routes/internal/api/v1/executions.js new file mode 100644 index 00000000..f6a38b1f --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/executions.js @@ -0,0 +1,26 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +import { authorizeUser } from '../../../../helpers/authorization.js'; +import getExecutionsAction from '../../../../controllers/internal/api/v1/executions/get-executions.js'; +import getExecutionAction from '../../../../controllers/internal/api/v1/executions/get-execution.js'; +import getExecutionStepsAction from '../../../../controllers/internal/api/v1/executions/get-execution-steps.js'; + +const router = Router(); + +router.get('/', authenticateUser, authorizeUser, getExecutionsAction); + +router.get( + '/:executionId', + authenticateUser, + authorizeUser, + getExecutionAction +); + +router.get( + '/:executionId/execution-steps', + authenticateUser, + authorizeUser, + getExecutionStepsAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/flows.js b/packages/backend/src/routes/internal/api/v1/flows.js new file mode 100644 index 00000000..64291909 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/flows.js @@ -0,0 +1,64 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +import { authorizeUser } from '../../../../helpers/authorization.js'; +import getFlowsAction from '../../../../controllers/internal/api/v1/flows/get-flows.js'; +import getFlowAction from '../../../../controllers/internal/api/v1/flows/get-flow.js'; +import getFolderAction from '../../../../controllers/internal/api/v1/flows/get-folder.js'; +import updateFlowAction from '../../../../controllers/internal/api/v1/flows/update-flow.js'; +import updateFlowStatusAction from '../../../../controllers/internal/api/v1/flows/update-flow-status.js'; +import updateFlowFolderAction from '../../../../controllers/internal/api/v1/flows/update-flow-folder.js'; +import createFlowAction from '../../../../controllers/internal/api/v1/flows/create-flow.js'; +import createStepAction from '../../../../controllers/internal/api/v1/flows/create-step.js'; +import deleteFlowAction from '../../../../controllers/internal/api/v1/flows/delete-flow.js'; +import duplicateFlowAction from '../../../../controllers/internal/api/v1/flows/duplicate-flow.js'; +import exportFlowAction from '../../../../controllers/internal/api/v1/flows/export-flow.js'; +import importFlowAction from '../../../../controllers/internal/api/v1/flows/import-flow.js'; + +const router = Router(); + +router.get('/', authenticateUser, authorizeUser, getFlowsAction); +router.get('/:flowId', authenticateUser, authorizeUser, getFlowAction); +router.get('/:flowId/folder', authenticateUser, authorizeUser, getFolderAction); +router.post('/', authenticateUser, authorizeUser, createFlowAction); +router.patch('/:flowId', authenticateUser, authorizeUser, updateFlowAction); + +router.patch( + '/:flowId/status', + authenticateUser, + authorizeUser, + updateFlowStatusAction +); + +router.patch( + '/:flowId/folder', + authenticateUser, + authorizeUser, + updateFlowFolderAction +); + +router.post( + '/:flowId/export', + authenticateUser, + authorizeUser, + exportFlowAction +); + +router.post('/import', authenticateUser, authorizeUser, importFlowAction); + +router.post( + '/:flowId/steps', + authenticateUser, + authorizeUser, + createStepAction +); + +router.post( + '/:flowId/duplicate', + authenticateUser, + authorizeUser, + duplicateFlowAction +); + +router.delete('/:flowId', authenticateUser, authorizeUser, deleteFlowAction); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/folders.js b/packages/backend/src/routes/internal/api/v1/folders.js new file mode 100644 index 00000000..1276c542 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/folders.js @@ -0,0 +1,22 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +import { authorizeUser } from '../../../../helpers/authorization.js'; +import getFoldersAction from '../../../../controllers/internal/api/v1/folders/get-folders.js'; +import createFolderAction from '../../../../controllers/internal/api/v1/folders/create-folder.js'; +import updateFolderAction from '../../../../controllers/internal/api/v1/folders/update-folder.js'; +import deleteFolderAction from '../../../../controllers/internal/api/v1/folders/delete-folder.js'; + +const router = Router(); + +router.get('/', authenticateUser, authorizeUser, getFoldersAction); +router.post('/', authenticateUser, authorizeUser, createFolderAction); +router.patch('/:folderId', authenticateUser, authorizeUser, updateFolderAction); + +router.delete( + '/:folderId', + authenticateUser, + authorizeUser, + deleteFolderAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/installation/users.js b/packages/backend/src/routes/internal/api/v1/installation/users.js new file mode 100644 index 00000000..2492a290 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/installation/users.js @@ -0,0 +1,9 @@ +import { Router } from 'express'; +import { allowInstallation } from '../../../../../helpers/allow-installation.js'; +import createUserAction from '../../../../../controllers/internal/api/v1/installation/users/create-user.js'; + +const router = Router(); + +router.post('/', allowInstallation, createUserAction); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/payment.ee.js b/packages/backend/src/routes/internal/api/v1/payment.ee.js new file mode 100644 index 00000000..a3344a46 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/payment.ee.js @@ -0,0 +1,12 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +import checkIsCloud from '../../../../helpers/check-is-cloud.js'; +import getPlansAction from '../../../../controllers/internal/api/v1/payment/get-plans.ee.js'; +import getPaddleInfoAction from '../../../../controllers/internal/api/v1/payment/get-paddle-info.ee.js'; + +const router = Router(); + +router.get('/plans', authenticateUser, checkIsCloud, getPlansAction); +router.get('/paddle-info', authenticateUser, checkIsCloud, getPaddleInfoAction); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/saml-auth-providers.ee.js b/packages/backend/src/routes/internal/api/v1/saml-auth-providers.ee.js new file mode 100644 index 00000000..158622ff --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/saml-auth-providers.ee.js @@ -0,0 +1,9 @@ +import { Router } from 'express'; +import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; +import getSamlAuthProvidersAction from '../../../../controllers/internal/api/v1/saml-auth-providers/get-saml-auth-providers.ee.js'; + +const router = Router(); + +router.get('/', checkIsEnterprise, getSamlAuthProvidersAction); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/steps.js b/packages/backend/src/routes/internal/api/v1/steps.js new file mode 100644 index 00000000..4a78b3aa --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/steps.js @@ -0,0 +1,55 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +import { authorizeUser } from '../../../../helpers/authorization.js'; +import getConnectionAction from '../../../../controllers/internal/api/v1/steps/get-connection.js'; +import testStepAction from '../../../../controllers/internal/api/v1/steps/test-step.js'; +import getPreviousStepsAction from '../../../../controllers/internal/api/v1/steps/get-previous-steps.js'; +import createDynamicFieldsAction from '../../../../controllers/internal/api/v1/steps/create-dynamic-fields.js'; +import createDynamicDataAction from '../../../../controllers/internal/api/v1/steps/create-dynamic-data.js'; +import deleteStepAction from '../../../../controllers/internal/api/v1/steps/delete-step.js'; +import updateStepAction from '../../../../controllers/internal/api/v1/steps/update-step.js'; +import executeStepAction from '../../../../controllers/internal/api/v1/steps/execute-step.js'; + +const router = Router(); + +router.get( + '/:stepId/connection', + authenticateUser, + authorizeUser, + getConnectionAction +); + +router.post('/:stepId/test', authenticateUser, authorizeUser, testStepAction); + +router.get( + '/:stepId/previous-steps', + authenticateUser, + authorizeUser, + getPreviousStepsAction +); + +router.post( + '/:stepId/dynamic-fields', + authenticateUser, + authorizeUser, + createDynamicFieldsAction +); + +router.post( + '/:stepId/dynamic-data', + authenticateUser, + authorizeUser, + createDynamicDataAction +); + +router.post( + '/:stepId/execute', + authenticateUser, + authorizeUser, + executeStepAction +); + +router.patch('/:stepId', authenticateUser, authorizeUser, updateStepAction); +router.delete('/:stepId', authenticateUser, authorizeUser, deleteStepAction); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/templates.ee.js b/packages/backend/src/routes/internal/api/v1/templates.ee.js new file mode 100644 index 00000000..a063de7a --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/templates.ee.js @@ -0,0 +1,20 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +import { authorizeUser } from '../../../../helpers/authorization.js'; +import { checkIsEnterprise } from '../../../../helpers/check-is-enterprise.js'; +import { checkTemplatesEnabled } from '../../../../helpers/check-templates-enabled.js'; + +import getTemplatesAction from '../../../../controllers/internal/api/v1/templates/get-templates.ee.js'; + +const router = Router(); + +router.get( + '/', + authenticateUser, + authorizeUser, + checkIsEnterprise, + checkTemplatesEnabled, + getTemplatesAction +); + +export default router; diff --git a/packages/backend/src/routes/internal/api/v1/users.js b/packages/backend/src/routes/internal/api/v1/users.js new file mode 100644 index 00000000..a7583068 --- /dev/null +++ b/packages/backend/src/routes/internal/api/v1/users.js @@ -0,0 +1,60 @@ +import { Router } from 'express'; +import { authenticateUser } from '../../../../helpers/authentication.js'; +import { authorizeUser } from '../../../../helpers/authorization.js'; +import checkIsCloud from '../../../../helpers/check-is-cloud.js'; +import getCurrentUserAction from '../../../../controllers/internal/api/v1/users/get-current-user.js'; +import updateCurrentUserAction from '../../../../controllers/internal/api/v1/users/update-current-user.js'; +import updateCurrentUserPasswordAction from '../../../../controllers/internal/api/v1/users/update-current-user-password.js'; +import deleteCurrentUserAction from '../../../../controllers/internal/api/v1/users/delete-current-user.js'; +import getUserTrialAction from '../../../../controllers/internal/api/v1/users/get-user-trial.ee.js'; +import getAppsAction from '../../../../controllers/internal/api/v1/users/get-apps.js'; +import getInvoicesAction from '../../../../controllers/internal/api/v1/users/get-invoices.ee.js'; +import getSubscriptionAction from '../../../../controllers/internal/api/v1/users/get-subscription.ee.js'; +import getPlanAndUsageAction from '../../../../controllers/internal/api/v1/users/get-plan-and-usage.ee.js'; +import acceptInvitationAction from '../../../../controllers/internal/api/v1/users/accept-invitation.js'; +import forgotPasswordAction from '../../../../controllers/internal/api/v1/users/forgot-password.js'; +import resetPasswordAction from '../../../../controllers/internal/api/v1/users/reset-password.js'; +import registerUserAction from '../../../../controllers/internal/api/v1/users/register-user.ee.js'; + +const router = Router(); + +router.get('/me', authenticateUser, getCurrentUserAction); +router.patch('/:userId', authenticateUser, updateCurrentUserAction); + +router.patch( + '/:userId/password', + authenticateUser, + updateCurrentUserPasswordAction +); + +router.get('/:userId/apps', authenticateUser, authorizeUser, getAppsAction); +router.get('/invoices', authenticateUser, checkIsCloud, getInvoicesAction); +router.delete('/:userId', authenticateUser, deleteCurrentUserAction); + +router.get( + '/:userId/trial', + authenticateUser, + checkIsCloud, + getUserTrialAction +); + +router.get( + '/:userId/subscription', + authenticateUser, + checkIsCloud, + getSubscriptionAction +); + +router.get( + '/:userId/plan-and-usage', + authenticateUser, + checkIsCloud, + getPlanAndUsageAction +); + +router.post('/invitation', acceptInvitationAction); +router.post('/forgot-password', forgotPasswordAction); +router.post('/reset-password', resetPasswordAction); +router.post('/register', checkIsCloud, registerUserAction); + +export default router; diff --git a/packages/backend/test/factories/app.js b/packages/backend/test/factories/app.js index 2869c430..292a1476 100644 --- a/packages/backend/test/factories/app.js +++ b/packages/backend/test/factories/app.js @@ -62,7 +62,7 @@ export const createDynamicArgument = (params = {}) => { key: 'value', required: true, variables: true, - } + }, ], ...params, type: 'dynamic', diff --git a/packages/backend/test/factories/connection.js b/packages/backend/test/factories/connection.js index 9692a3ab..797a16d5 100644 --- a/packages/backend/test/factories/connection.js +++ b/packages/backend/test/factories/connection.js @@ -1,6 +1,6 @@ -import appConfig from '../../src/config/app'; +import appConfig from '../../src/config/app.js'; import { AES } from 'crypto-js'; -import Connection from '../../src/models/connection'; +import Connection from '../../src/models/connection.js'; export const createConnection = async (params = {}) => { params.key = params?.key || 'deepl'; diff --git a/packages/backend/test/factories/execution-step.js b/packages/backend/test/factories/execution-step.js index 842e3a9f..f05ebdf1 100644 --- a/packages/backend/test/factories/execution-step.js +++ b/packages/backend/test/factories/execution-step.js @@ -1,6 +1,6 @@ -import ExecutionStep from '../../src/models/execution-step'; -import { createExecution } from './execution'; -import { createStep } from './step'; +import ExecutionStep from '../../src/models/execution-step.js'; +import { createExecution } from './execution.js'; +import { createStep } from './step.js'; export const createExecutionStep = async (params = {}) => { params.executionId = params?.executionId || (await createExecution()).id; diff --git a/packages/backend/test/factories/execution.js b/packages/backend/test/factories/execution.js index 2d84009a..702c476d 100644 --- a/packages/backend/test/factories/execution.js +++ b/packages/backend/test/factories/execution.js @@ -1,5 +1,5 @@ -import Execution from '../../src/models/execution'; -import { createFlow } from './flow'; +import Execution from '../../src/models/execution.js'; +import { createFlow } from './flow.js'; export const createExecution = async (params = {}) => { params.flowId = params?.flowId || (await createFlow()).id; diff --git a/packages/backend/test/factories/flow.js b/packages/backend/test/factories/flow.js index c23d4e0e..8fc2fd1c 100644 --- a/packages/backend/test/factories/flow.js +++ b/packages/backend/test/factories/flow.js @@ -1,5 +1,5 @@ -import Flow from '../../src/models/flow'; -import { createUser } from './user'; +import Flow from '../../src/models/flow.js'; +import { createUser } from './user.js'; export const createFlow = async (params = {}) => { params.userId = params?.userId || (await createUser()).id; diff --git a/packages/backend/test/factories/folder.js b/packages/backend/test/factories/folder.js index 62ca48bd..e1d731db 100644 --- a/packages/backend/test/factories/folder.js +++ b/packages/backend/test/factories/folder.js @@ -1,6 +1,6 @@ import Folder from '../../src/models/folder.js'; import { faker } from '@faker-js/faker'; -import { createUser } from './user'; +import { createUser } from './user.js'; export const createFolder = async (params = {}) => { params.userId = params?.userId || (await createUser()).id; diff --git a/packages/backend/test/factories/oauth-client.js b/packages/backend/test/factories/oauth-client.js index 0b0f6b9b..9c08b0e6 100644 --- a/packages/backend/test/factories/oauth-client.js +++ b/packages/backend/test/factories/oauth-client.js @@ -1,5 +1,5 @@ import { faker } from '@faker-js/faker'; -import OAuthClient from '../../src/models/oauth-client'; +import OAuthClient from '../../src/models/oauth-client.js'; const formattedAuthDefaults = { oAuthRedirectUrl: faker.internet.url(), diff --git a/packages/backend/test/factories/permission.js b/packages/backend/test/factories/permission.js index d5434971..d7cc6dae 100644 --- a/packages/backend/test/factories/permission.js +++ b/packages/backend/test/factories/permission.js @@ -1,5 +1,5 @@ -import Permission from '../../src/models/permission'; -import { createRole } from './role'; +import Permission from '../../src/models/permission.js'; +import { createRole } from './role.js'; export const createPermission = async (params = {}) => { params.roleId = params?.roleId || (await createRole()).id; diff --git a/packages/backend/test/factories/saml-auth-provider.ee.js b/packages/backend/test/factories/saml-auth-provider.ee.js index f205eda1..111e78ee 100644 --- a/packages/backend/test/factories/saml-auth-provider.ee.js +++ b/packages/backend/test/factories/saml-auth-provider.ee.js @@ -1,4 +1,4 @@ -import { createRole } from './role'; +import { createRole } from './role.js'; import SamlAuthProvider from '../../src/models/saml-auth-provider.ee.js'; export const createSamlAuthProvider = async (params = {}) => { diff --git a/packages/backend/test/factories/step.js b/packages/backend/test/factories/step.js index a52c9d49..999b5e4e 100644 --- a/packages/backend/test/factories/step.js +++ b/packages/backend/test/factories/step.js @@ -1,5 +1,5 @@ -import Step from '../../src/models/step'; -import { createFlow } from './flow'; +import Step from '../../src/models/step.js'; +import { createFlow } from './flow.js'; export const createStep = async (params = {}) => { params.flowId = params?.flowId || (await createFlow()).id; diff --git a/packages/backend/test/factories/subscription.js b/packages/backend/test/factories/subscription.js index f63bcc96..6dad6eca 100644 --- a/packages/backend/test/factories/subscription.js +++ b/packages/backend/test/factories/subscription.js @@ -1,5 +1,5 @@ import { DateTime } from 'luxon'; -import { createUser } from './user'; +import { createUser } from './user.js'; import Subscription from '../../src/models/subscription.ee.js'; export const createSubscription = async (params = {}) => { diff --git a/packages/backend/test/factories/template.js b/packages/backend/test/factories/template.js index b8dbc4bb..3fb9e700 100644 --- a/packages/backend/test/factories/template.js +++ b/packages/backend/test/factories/template.js @@ -1,6 +1,6 @@ -import Template from '../../src/models/template.ee'; -import { createFlow } from './flow'; -import { createStep } from './step'; +import Template from '../../src/models/template.ee.js'; +import { createFlow } from './flow.js'; +import { createStep } from './step.js'; export const createTemplate = async (params = {}) => { params.name = params?.name || 'Sample template name!'; diff --git a/packages/backend/test/factories/user.js b/packages/backend/test/factories/user.js index fe4719f2..117939d9 100644 --- a/packages/backend/test/factories/user.js +++ b/packages/backend/test/factories/user.js @@ -1,6 +1,6 @@ -import { createRole } from './role'; +import { createRole } from './role.js'; import { faker } from '@faker-js/faker'; -import User from '../../src/models/user'; +import User from '../../src/models/user.js'; export const createUser = async (params = {}) => { params.roleId = params?.roleId || (await createRole()).id; diff --git a/packages/backend/test/mocks/rest/api/v1/admin/api-tokens/create-api-token.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/api-tokens/create-api-token.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/api-tokens/create-api-token.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/api-tokens/create-api-token.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/api-tokens/get-api-tokens.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/api-tokens/get-api-tokens.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/api-tokens/get-api-tokens.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/api-tokens/get-api-tokens.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/apps/create-config.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/apps/create-config.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/apps/create-config.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/apps/create-config.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/apps/create-oauth-client.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/apps/create-oauth-client.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/apps/create-oauth-client.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/apps/create-oauth-client.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/apps/get-oauth-client.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/apps/get-oauth-client.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/apps/get-oauth-client.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/apps/get-oauth-client.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/apps/get-oauth-clients.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/apps/get-oauth-clients.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/apps/get-oauth-clients.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/apps/get-oauth-clients.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/apps/update-oauth-client.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/apps/update-oauth-client.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/apps/update-oauth-client.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/apps/update-oauth-client.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/config/update.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/config/update.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/config/update.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/config/update.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/permissions/get-permissions-catalog.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/permissions/get-permissions-catalog.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/permissions/get-permissions-catalog.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/permissions/get-permissions-catalog.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/roles/create-role.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/roles/create-role.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/roles/create-role.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/roles/create-role.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/roles/get-role.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/roles/get-role.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/roles/get-role.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/roles/get-role.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/roles/get-roles.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/roles/get-roles.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/roles/get-roles.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/roles/get-roles.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/roles/update-role.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/roles/update-role.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/roles/update-role.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/roles/update-role.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/create-saml-auth-provider.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-role-mappings.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-saml-auth-provider.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/get-saml-auth-providers.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/saml-auth-providers/update-role-mappings.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/templates/create-template.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/templates/create-template.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/templates/create-template.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/templates/create-template.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/templates/get-template.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/templates/get-template.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/templates/get-template.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/templates/get-template.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/templates/get-templates.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/templates/get-templates.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/templates/get-templates.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/templates/get-templates.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/templates/update-template.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/templates/update-template.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/templates/update-template.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/templates/update-template.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/users/create-user.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/users/create-user.js similarity index 90% rename from packages/backend/test/mocks/rest/api/v1/admin/users/create-user.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/users/create-user.js index 30aaef28..d0a2c0c4 100644 --- a/packages/backend/test/mocks/rest/api/v1/admin/users/create-user.js +++ b/packages/backend/test/mocks/rest/internal/api/v1/admin/users/create-user.js @@ -1,4 +1,4 @@ -import appConfig from '../../../../../../../src/config/app.js'; +import appConfig from '../../../../../../../../src/config/app.js'; const createUserMock = (user) => { const userData = { diff --git a/packages/backend/test/mocks/rest/api/v1/admin/users/get-user.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/users/get-user.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/users/get-user.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/users/get-user.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/users/get-users.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/users/get-users.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/users/get-users.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/users/get-users.js diff --git a/packages/backend/test/mocks/rest/api/v1/admin/users/update-user.js b/packages/backend/test/mocks/rest/internal/api/v1/admin/users/update-user.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/admin/users/update-user.js rename to packages/backend/test/mocks/rest/internal/api/v1/admin/users/update-user.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/create-connection.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/create-connection.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/create-connection.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/create-connection.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-action-substeps.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-action-substeps.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-action-substeps.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-action-substeps.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-actions.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-actions.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-actions.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-actions.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-app.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-app.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-app.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-app.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-apps.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-apps.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-apps.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-apps.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-auth.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-auth.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-auth.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-auth.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-config.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-config.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-config.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-config.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-connections.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-connections.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-connections.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-connections.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-flows.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-flows.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-flows.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-flows.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-oauth-client.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-oauth-client.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-oauth-client.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-oauth-client.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-oauth-clients.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-oauth-clients.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-oauth-clients.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-oauth-clients.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-trigger-substeps.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-trigger-substeps.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-trigger-substeps.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-trigger-substeps.js diff --git a/packages/backend/test/mocks/rest/api/v1/apps/get-triggers.js b/packages/backend/test/mocks/rest/internal/api/v1/apps/get-triggers.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/apps/get-triggers.js rename to packages/backend/test/mocks/rest/internal/api/v1/apps/get-triggers.js diff --git a/packages/backend/test/mocks/rest/api/v1/automatisch/config.js b/packages/backend/test/mocks/rest/internal/api/v1/automatisch/config.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/automatisch/config.js rename to packages/backend/test/mocks/rest/internal/api/v1/automatisch/config.js diff --git a/packages/backend/test/mocks/rest/api/v1/automatisch/info.js b/packages/backend/test/mocks/rest/internal/api/v1/automatisch/info.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/automatisch/info.js rename to packages/backend/test/mocks/rest/internal/api/v1/automatisch/info.js diff --git a/packages/backend/test/mocks/rest/api/v1/automatisch/license.js b/packages/backend/test/mocks/rest/internal/api/v1/automatisch/license.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/automatisch/license.js rename to packages/backend/test/mocks/rest/internal/api/v1/automatisch/license.js diff --git a/packages/backend/test/mocks/rest/api/v1/connections/get-flows.js b/packages/backend/test/mocks/rest/internal/api/v1/connections/get-flows.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/connections/get-flows.js rename to packages/backend/test/mocks/rest/internal/api/v1/connections/get-flows.js diff --git a/packages/backend/test/mocks/rest/api/v1/connections/reset-connection.js b/packages/backend/test/mocks/rest/internal/api/v1/connections/reset-connection.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/connections/reset-connection.js rename to packages/backend/test/mocks/rest/internal/api/v1/connections/reset-connection.js diff --git a/packages/backend/test/mocks/rest/api/v1/connections/update-connection.js b/packages/backend/test/mocks/rest/internal/api/v1/connections/update-connection.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/connections/update-connection.js rename to packages/backend/test/mocks/rest/internal/api/v1/connections/update-connection.js diff --git a/packages/backend/test/mocks/rest/api/v1/executions/get-execution-steps.js b/packages/backend/test/mocks/rest/internal/api/v1/executions/get-execution-steps.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/executions/get-execution-steps.js rename to packages/backend/test/mocks/rest/internal/api/v1/executions/get-execution-steps.js diff --git a/packages/backend/test/mocks/rest/api/v1/executions/get-execution.js b/packages/backend/test/mocks/rest/internal/api/v1/executions/get-execution.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/executions/get-execution.js rename to packages/backend/test/mocks/rest/internal/api/v1/executions/get-execution.js diff --git a/packages/backend/test/mocks/rest/api/v1/executions/get-executions.js b/packages/backend/test/mocks/rest/internal/api/v1/executions/get-executions.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/executions/get-executions.js rename to packages/backend/test/mocks/rest/internal/api/v1/executions/get-executions.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/create-flow.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/create-flow.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/create-flow.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/create-flow.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/create-step.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/create-step.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/create-step.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/create-step.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/duplicate-flow.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/duplicate-flow.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/duplicate-flow.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/duplicate-flow.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/export-flow.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/export-flow.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/export-flow.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/export-flow.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/get-flow.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/get-flow.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/get-flow.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/get-flow.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/get-flows.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/get-flows.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/get-flows.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/get-flows.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/get-folder.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/get-folder.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/get-folder.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/get-folder.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/import-flow.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/import-flow.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/import-flow.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/import-flow.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/update-flow-folder.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/update-flow-folder.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/update-flow-folder.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/update-flow-folder.js diff --git a/packages/backend/test/mocks/rest/api/v1/flows/update-flow-status.js b/packages/backend/test/mocks/rest/internal/api/v1/flows/update-flow-status.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/flows/update-flow-status.js rename to packages/backend/test/mocks/rest/internal/api/v1/flows/update-flow-status.js diff --git a/packages/backend/test/mocks/rest/api/v1/folders/create-folder.js b/packages/backend/test/mocks/rest/internal/api/v1/folders/create-folder.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/folders/create-folder.js rename to packages/backend/test/mocks/rest/internal/api/v1/folders/create-folder.js diff --git a/packages/backend/test/mocks/rest/api/v1/folders/get-folders.js b/packages/backend/test/mocks/rest/internal/api/v1/folders/get-folders.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/folders/get-folders.js rename to packages/backend/test/mocks/rest/internal/api/v1/folders/get-folders.js diff --git a/packages/backend/test/mocks/rest/api/v1/folders/update-folder.js b/packages/backend/test/mocks/rest/internal/api/v1/folders/update-folder.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/folders/update-folder.js rename to packages/backend/test/mocks/rest/internal/api/v1/folders/update-folder.js diff --git a/packages/backend/test/mocks/rest/api/v1/payment/get-paddle-info.js b/packages/backend/test/mocks/rest/internal/api/v1/payment/get-paddle-info.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/payment/get-paddle-info.js rename to packages/backend/test/mocks/rest/internal/api/v1/payment/get-paddle-info.js diff --git a/packages/backend/test/mocks/rest/api/v1/payment/get-plans.js b/packages/backend/test/mocks/rest/internal/api/v1/payment/get-plans.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/payment/get-plans.js rename to packages/backend/test/mocks/rest/internal/api/v1/payment/get-plans.js diff --git a/packages/backend/test/mocks/rest/api/v1/saml-auth-providers/get-saml-auth-providers.js b/packages/backend/test/mocks/rest/internal/api/v1/saml-auth-providers/get-saml-auth-providers.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/saml-auth-providers/get-saml-auth-providers.js rename to packages/backend/test/mocks/rest/internal/api/v1/saml-auth-providers/get-saml-auth-providers.js diff --git a/packages/backend/test/mocks/rest/api/v1/steps/create-dynamic-fields.js b/packages/backend/test/mocks/rest/internal/api/v1/steps/create-dynamic-fields.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/steps/create-dynamic-fields.js rename to packages/backend/test/mocks/rest/internal/api/v1/steps/create-dynamic-fields.js diff --git a/packages/backend/test/mocks/rest/api/v1/steps/get-connection.js b/packages/backend/test/mocks/rest/internal/api/v1/steps/get-connection.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/steps/get-connection.js rename to packages/backend/test/mocks/rest/internal/api/v1/steps/get-connection.js diff --git a/packages/backend/test/mocks/rest/api/v1/steps/get-previous-steps.js b/packages/backend/test/mocks/rest/internal/api/v1/steps/get-previous-steps.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/steps/get-previous-steps.js rename to packages/backend/test/mocks/rest/internal/api/v1/steps/get-previous-steps.js diff --git a/packages/backend/test/mocks/rest/api/v1/steps/test-step.js b/packages/backend/test/mocks/rest/internal/api/v1/steps/test-step.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/steps/test-step.js rename to packages/backend/test/mocks/rest/internal/api/v1/steps/test-step.js diff --git a/packages/backend/test/mocks/rest/api/v1/steps/update-step.js b/packages/backend/test/mocks/rest/internal/api/v1/steps/update-step.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/steps/update-step.js rename to packages/backend/test/mocks/rest/internal/api/v1/steps/update-step.js diff --git a/packages/backend/test/mocks/rest/api/v1/templates/get-templates.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/templates/get-templates.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/templates/get-templates.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/templates/get-templates.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/users/create-user.js b/packages/backend/test/mocks/rest/internal/api/v1/users/create-user.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/users/create-user.js rename to packages/backend/test/mocks/rest/internal/api/v1/users/create-user.js diff --git a/packages/backend/test/mocks/rest/api/v1/users/get-apps.js b/packages/backend/test/mocks/rest/internal/api/v1/users/get-apps.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/users/get-apps.js rename to packages/backend/test/mocks/rest/internal/api/v1/users/get-apps.js diff --git a/packages/backend/test/mocks/rest/api/v1/users/get-current-user.js b/packages/backend/test/mocks/rest/internal/api/v1/users/get-current-user.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/users/get-current-user.js rename to packages/backend/test/mocks/rest/internal/api/v1/users/get-current-user.js diff --git a/packages/backend/test/mocks/rest/api/v1/users/get-invoices.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/users/get-invoices.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/users/get-invoices.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/users/get-invoices.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/users/get-subscription.js b/packages/backend/test/mocks/rest/internal/api/v1/users/get-subscription.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/users/get-subscription.js rename to packages/backend/test/mocks/rest/internal/api/v1/users/get-subscription.js diff --git a/packages/backend/test/mocks/rest/api/v1/users/get-user-trial.js b/packages/backend/test/mocks/rest/internal/api/v1/users/get-user-trial.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/users/get-user-trial.js rename to packages/backend/test/mocks/rest/internal/api/v1/users/get-user-trial.js diff --git a/packages/backend/test/mocks/rest/api/v1/users/register-user.ee.js b/packages/backend/test/mocks/rest/internal/api/v1/users/register-user.ee.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/users/register-user.ee.js rename to packages/backend/test/mocks/rest/internal/api/v1/users/register-user.ee.js diff --git a/packages/backend/test/mocks/rest/api/v1/users/update-current-user-password.js b/packages/backend/test/mocks/rest/internal/api/v1/users/update-current-user-password.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/users/update-current-user-password.js rename to packages/backend/test/mocks/rest/internal/api/v1/users/update-current-user-password.js diff --git a/packages/backend/test/mocks/rest/api/v1/users/update-current-user.js b/packages/backend/test/mocks/rest/internal/api/v1/users/update-current-user.js similarity index 100% rename from packages/backend/test/mocks/rest/api/v1/users/update-current-user.js rename to packages/backend/test/mocks/rest/internal/api/v1/users/update-current-user.js diff --git a/packages/e2e-tests/helpers/auth-api-helper.js b/packages/e2e-tests/helpers/auth-api-helper.js index f8067ede..a5401e85 100644 --- a/packages/e2e-tests/helpers/auth-api-helper.js +++ b/packages/e2e-tests/helpers/auth-api-helper.js @@ -2,7 +2,7 @@ const { expect } = require('../fixtures/index'); export const getToken = async (apiRequest) => { const tokenResponse = await apiRequest.post( - `${process.env.BACKEND_APP_URL}/api/v1/access-tokens`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/access-tokens`, { data: { email: process.env.LOGIN_EMAIL, diff --git a/packages/e2e-tests/helpers/flow-api-helper.js b/packages/e2e-tests/helpers/flow-api-helper.js index 4933bfd2..6b76ca7c 100644 --- a/packages/e2e-tests/helpers/flow-api-helper.js +++ b/packages/e2e-tests/helpers/flow-api-helper.js @@ -2,7 +2,7 @@ const { expect } = require('../fixtures/index'); export const createFlow = async (request, token) => { const response = await request.post( - `${process.env.BACKEND_APP_URL}/api/v1/flows`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/flows`, { headers: { Authorization: token } } ); await expect(response.status()).toBe(201); @@ -12,7 +12,7 @@ export const createFlow = async (request, token) => { export const getFlow = async (request, token, flowId) => { const response = await request.get( - `${process.env.BACKEND_APP_URL}/api/v1/flows/${flowId}`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/flows/${flowId}`, { headers: { Authorization: token } } ); await expect(response.status()).toBe(200); @@ -22,7 +22,7 @@ export const getFlow = async (request, token, flowId) => { export const updateFlowName = async (request, token, flowId) => { const updateFlowNameResponse = await request.patch( - `${process.env.BACKEND_APP_URL}/api/v1/flows/${flowId}`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/flows/${flowId}`, { headers: { Authorization: token }, data: { name: flowId }, @@ -33,7 +33,7 @@ export const updateFlowName = async (request, token, flowId) => { export const updateFlowStep = async (request, token, stepId, requestBody) => { const updateTriggerStepResponse = await request.patch( - `${process.env.BACKEND_APP_URL}/api/v1/steps/${stepId}`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/steps/${stepId}`, { headers: { Authorization: token }, data: requestBody, @@ -46,7 +46,7 @@ export const updateFlowStep = async (request, token, stepId, requestBody) => { export const testStep = async (request, token, stepId) => { const testTriggerStepResponse = await request.post( - `${process.env.BACKEND_APP_URL}/api/v1/steps/${stepId}/test`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/steps/${stepId}/test`, { headers: { Authorization: token }, } @@ -56,7 +56,7 @@ export const testStep = async (request, token, stepId) => { export const publishFlow = async (request, token, flowId) => { const publishFlowResponse = await request.patch( - `${process.env.BACKEND_APP_URL}/api/v1/flows/${flowId}/status`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/flows/${flowId}/status`, { headers: { Authorization: token }, data: { active: true }, @@ -120,7 +120,7 @@ export const createConnection = async ( requestBody ) => { const response = await request.post( - `${process.env.BACKEND_APP_URL}/api/v1/apps/${appName}/connections`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/apps/${appName}/connections`, { headers: { Authorization: token }, data: requestBody } ); await expect(response.status()).toBe(201); @@ -130,7 +130,7 @@ export const createConnection = async ( export const verifyConnection = async (request, token, connectionId) => { const response = await request.post( - `${process.env.BACKEND_APP_URL}/api/v1/connections/${connectionId}/verify`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/connections/${connectionId}/verify`, { headers: { Authorization: token } } ); await expect(response.status()).toBe(200); diff --git a/packages/e2e-tests/helpers/user-api-helper.js b/packages/e2e-tests/helpers/user-api-helper.js index 57d96e75..9c846729 100644 --- a/packages/e2e-tests/helpers/user-api-helper.js +++ b/packages/e2e-tests/helpers/user-api-helper.js @@ -2,7 +2,7 @@ const { expect } = require('../fixtures/index'); export const addUser = async (apiRequest, token, request) => { const addUserResponse = await apiRequest.post( - `${process.env.BACKEND_APP_URL}/api/v1/admin/users`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/admin/users`, { headers: { Authorization: token }, data: request, @@ -15,7 +15,7 @@ export const addUser = async (apiRequest, token, request) => { export const acceptInvitation = async (apiRequest, request) => { const acceptInvitationResponse = await apiRequest.post( - `${process.env.BACKEND_APP_URL}/api/v1/users/invitation`, + `${process.env.BACKEND_APP_URL}/internal/api/v1/users/invitation`, { data: request, } diff --git a/packages/web/src/config/app.js b/packages/web/src/config/app.js index 1cb2466c..a553252d 100644 --- a/packages/web/src/config/app.js +++ b/packages/web/src/config/app.js @@ -16,7 +16,7 @@ const computeUrl = (url, backendUrl) => { const config = { baseUrl: process.env.REACT_APP_BASE_URL, - restApiUrl: computeUrl('/api', backendUrl), + restApiUrl: computeUrl('/internal/api', backendUrl), supportEmailAddress: 'support@automatisch.io', };