diff --git a/frontend/src/AppBuilder/_hooks/useAppData.js b/frontend/src/AppBuilder/_hooks/useAppData.js index 433a677dc7..7b74639870 100644 --- a/frontend/src/AppBuilder/_hooks/useAppData.js +++ b/frontend/src/AppBuilder/_hooks/useAppData.js @@ -374,7 +374,7 @@ const useAppData = (appId, moduleId, darkMode, mode = 'edit', { environmentId, v const queryData = isPublicAccess || (mode !== 'edit' && appData.is_public) ? appData - : await dataqueryService.getAll(appData.editing_version?.id || appData.current_version_id); + : await dataqueryService.getAll(appData.editing_version?.id || appData.current_version_id, mode); const dataQueries = queryData.data_queries || queryData?.editing_version?.data_queries; dataQueries.forEach((query) => normalizeQueryTransformationOptions(query)); setQueries(dataQueries); @@ -547,7 +547,7 @@ const useAppData = (appId, moduleId, darkMode, mode = 'edit', { environmentId, v setSecrets(orgSecrets); } - const queryData = await dataqueryService.getAll(currentVersionId); + const queryData = await dataqueryService.getAll(currentVersionId, mode); const dataQueries = queryData.data_queries; dataQueries.forEach((query) => normalizeQueryTransformationOptions(query)); setQueries(dataQueries); diff --git a/frontend/src/_services/dataquery.service.js b/frontend/src/_services/dataquery.service.js index 3919a6b0f3..36de55b907 100644 --- a/frontend/src/_services/dataquery.service.js +++ b/frontend/src/_services/dataquery.service.js @@ -13,9 +13,9 @@ export const dataqueryService = { bulkUpdateQueryOptions, }; -function getAll(appVersionId) { +function getAll(appVersionId, mode) { const requestOptions = { method: 'GET', headers: authHeader(), credentials: 'include' }; - return fetch(`${config.apiUrl}/data-queries/${appVersionId}`, requestOptions).then(handleResponse); + return fetch(`${config.apiUrl}/data-queries/${appVersionId}?mode=${mode}`, requestOptions).then(handleResponse); } function create(app_id, app_version_id, name, kind, options, data_source_id, plugin_id) { diff --git a/server/ee b/server/ee index e9288fca3a..4f421094fe 160000 --- a/server/ee +++ b/server/ee @@ -1 +1 @@ -Subproject commit e9288fca3afc0d9064300e30dc5279b3c851be82 +Subproject commit 4f421094fe70a51b964d5d664029e08c9eccb5be diff --git a/server/src/modules/data-queries/controller.ts b/server/src/modules/data-queries/controller.ts index 831834ef8a..21f8df688f 100644 --- a/server/src/modules/data-queries/controller.ts +++ b/server/src/modules/data-queries/controller.ts @@ -1,4 +1,4 @@ -import { Controller, Get, Param, Body, Post, Patch, Delete, UseGuards, Put, Res } from '@nestjs/common'; +import { Controller, Get, Param, Body, Post, Patch, Delete, UseGuards, Put, Res, Query } from '@nestjs/common'; import { JwtAuthGuard } from '@modules/session/guards/jwt-auth.guard'; import { DataQueriesService } from './service'; import { User, UserEntity } from '@modules/app/decorators/user.decorator'; @@ -30,8 +30,8 @@ export class DataQueriesController implements IDataQueriesController { @InitFeature(FEATURE_KEY.GET) @UseGuards(JwtAuthGuard, ValidateAppVersionGuard, ValidateQueryAppGuard, AppFeatureAbilityGuard) @Get(':versionId') - index(@Param('versionId') versionId: string) { - return this.dataQueriesService.getAll(versionId); + index(@User() user: UserEntity, @Param('versionId') versionId: string, @Query('mode') mode?: string) { + return this.dataQueriesService.getAll(user, versionId, mode); } @InitFeature(FEATURE_KEY.CREATE) diff --git a/server/src/modules/data-queries/interfaces/IController.ts b/server/src/modules/data-queries/interfaces/IController.ts index d68f28b382..93024bca3e 100644 --- a/server/src/modules/data-queries/interfaces/IController.ts +++ b/server/src/modules/data-queries/interfaces/IController.ts @@ -7,7 +7,7 @@ import { App } from '@entities/app.entity'; import { UpdateSourceDto } from '../dto'; import { Response } from 'express'; export interface IDataQueriesController { - index(versionId: string): Promise; + index(user: UserEntity, versionId: string, mode?: string): Promise; create( user: UserEntity, diff --git a/server/src/modules/data-queries/interfaces/IService.ts b/server/src/modules/data-queries/interfaces/IService.ts index 14848e6a45..a51ce642d2 100644 --- a/server/src/modules/data-queries/interfaces/IService.ts +++ b/server/src/modules/data-queries/interfaces/IService.ts @@ -5,7 +5,7 @@ import { CreateDataQueryDto, IUpdatingReferencesOptions, UpdateDataQueryDto } fr import { DataQuery } from '@entities/data_query.entity'; export interface IDataQueriesService { - getAll(versionId: string): Promise<{ data_queries: object[] }>; + getAll(user: User, versionId: string, mode?: string): Promise<{ data_queries: object[] }>; create(user: User, dataSource: DataSource, dataQueryDto: CreateDataQueryDto): Promise; diff --git a/server/src/modules/data-queries/module.ts b/server/src/modules/data-queries/module.ts index 5ec6b2c1a8..11f15d3994 100644 --- a/server/src/modules/data-queries/module.ts +++ b/server/src/modules/data-queries/module.ts @@ -9,6 +9,8 @@ import { FeatureAbilityFactory as AppFeatureAbilityFactory } from './ability/app import { FeatureAbilityFactory as DataSourceFeatureAbilityFactory } from './ability/data-source'; import { AppsRepository } from '@modules/apps/repository'; import { OrganizationRepository } from '@modules/organizations/repository'; +import { LicenseModule } from '@modules/licensing/module'; +import { AppPermissionsModule } from '@modules/app-permissions/module'; export class DataQueriesModule { static async register(configs?: { IS_GET_CONTEXT: boolean }): Promise { @@ -19,7 +21,12 @@ export class DataQueriesModule { return { module: DataQueriesModule, - imports: [await AppEnvironmentsModule.register(configs), await DataSourcesModule.register(configs)], + imports: [ + await AppEnvironmentsModule.register(configs), + await DataSourcesModule.register(configs), + await LicenseModule.forRoot(configs), + await AppPermissionsModule.register(configs), + ], providers: [ DataQueryRepository, VersionRepository, diff --git a/server/src/modules/data-queries/service.ts b/server/src/modules/data-queries/service.ts index 5337c6739a..64bdd66c68 100644 --- a/server/src/modules/data-queries/service.ts +++ b/server/src/modules/data-queries/service.ts @@ -24,7 +24,7 @@ export class DataQueriesService implements IDataQueriesService { protected readonly dataSourceRepository: DataSourcesRepository ) { } - async getAll(versionId: string) { + async getAll(user: User, versionId: string, mode?: string) { const queries = await this.dataQueryRepository.getAll(versionId); const serializedQueries = [];