From ff5369973445df6551e9ea1b854e40a107056629 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Tue, 11 Apr 2023 13:28:18 +0800 Subject: [PATCH] feat: OldDatasService - dataRead --- .../datas/old-datas/old-datas.service.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/packages/nocodb-nest/src/modules/datas/old-datas/old-datas.service.ts b/packages/nocodb-nest/src/modules/datas/old-datas/old-datas.service.ts index e0d2640d62..f919c5a68d 100644 --- a/packages/nocodb-nest/src/modules/datas/old-datas/old-datas.service.ts +++ b/packages/nocodb-nest/src/modules/datas/old-datas/old-datas.service.ts @@ -75,6 +75,31 @@ export class OldDatasService { return await baseModel.insert(param.body, null, param); } + async dataRead(param: PathParams & { query: any; rowId: string }) { + const { model, view } = await this.getViewAndModelFromRequest(param); + + const base = await Base.get(model.base_id); + + const baseModel = await Model.getBaseModelSQL({ + id: model.id, + viewId: view?.id, + dbDriver: await NcConnectionMgrv2.get(base), + }); + + const { ast } = await getAst({ + query: param.query, + model, + view, + }); + + return await nocoExecute( + ast, + await baseModel.readByPk(param.params.rowId), + {}, + {}, + ); + } + async getViewAndModelFromRequest(req) { const project = await Project.getWithInfo(req.params.projectId); const model = await Model.getByAliasOrId({