mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-23 00:48:25 +00:00
Get permissions data with queries on initial app load
This commit is contained in:
parent
c2fc4fe60f
commit
5d35806349
3 changed files with 35 additions and 1 deletions
|
|
@ -1 +1 @@
|
|||
Subproject commit f26bc4fc5e9fb9e0986a59b7cca7b84f7950cc08
|
||||
Subproject commit 525507d4728d55752ad975cf2ddede203fcec740
|
||||
|
|
@ -50,6 +50,25 @@ export class DataQueryRepository extends Repository<DataQuery> {
|
|||
});
|
||||
}
|
||||
|
||||
getAllWithPermissions(appVersionId: string): Promise<DataQuery[]> {
|
||||
return dbTransactionWrap((manager: EntityManager) => {
|
||||
return manager
|
||||
.createQueryBuilder(DataQuery, 'data_query')
|
||||
.innerJoinAndSelect('data_query.dataSource', 'data_source')
|
||||
.leftJoinAndSelect('data_query.plugins', 'plugins')
|
||||
.leftJoinAndSelect('plugins.iconFile', 'iconFile')
|
||||
.leftJoinAndSelect('plugins.manifestFile', 'manifestFile')
|
||||
.leftJoinAndSelect('data_query.permissions', 'permission')
|
||||
.leftJoinAndSelect('permission.users', 'queryUser')
|
||||
.leftJoinAndSelect('queryUser.user', 'user')
|
||||
.leftJoinAndSelect('queryUser.permissionGroup', 'group')
|
||||
.where('data_source.appVersionId = :appVersionId', { appVersionId })
|
||||
.where('data_query.app_version_id = :appVersionId', { appVersionId })
|
||||
.orderBy('data_query.updatedAt', 'DESC')
|
||||
.getMany();
|
||||
});
|
||||
}
|
||||
|
||||
async createOne(data: Partial<DataQuery>, manager?: EntityManager): Promise<DataQuery> {
|
||||
return dbTransactionWrap((manager: EntityManager) => {
|
||||
const newDataQuery = manager.create(DataQuery, {
|
||||
|
|
|
|||
|
|
@ -107,6 +107,21 @@ export class VersionRepository extends Repository<AppVersion> {
|
|||
}, manager || this.manager);
|
||||
}
|
||||
|
||||
async findDataQueriesForVersionWithPermissions(appVersionId: string, manager?: EntityManager): Promise<DataQuery[]> {
|
||||
return dbTransactionWrap((manager: EntityManager) => {
|
||||
return manager
|
||||
.createQueryBuilder(DataQuery, 'query')
|
||||
.where('query.appVersionId = :appVersionId', { appVersionId })
|
||||
.leftJoinAndSelect('query.dataSource', 'dataSource')
|
||||
.leftJoinAndSelect('query.permissions', 'permission')
|
||||
.leftJoinAndSelect('permission.users', 'queryUser')
|
||||
.leftJoinAndSelect('queryUser.user', 'user')
|
||||
.leftJoinAndSelect('queryUser.permissionGroup', 'group')
|
||||
.select(['query', 'dataSource.kind', 'permission', 'queryUser', 'user', 'group'])
|
||||
.getMany();
|
||||
}, manager || this.manager);
|
||||
}
|
||||
|
||||
async findVersion(id: string, manager?: EntityManager): Promise<AppVersion> {
|
||||
return await dbTransactionWrap(async (manager: EntityManager) => {
|
||||
const appVersion = await manager.findOneOrFail(AppVersion, {
|
||||
|
|
|
|||
Loading…
Reference in a new issue