From 68b0bea705f7e115abcc14a1c46647ab45bddabc Mon Sep 17 00:00:00 2001 From: Pranav C Date: Thu, 4 Jan 2024 13:19:18 +0000 Subject: [PATCH] feat: `CreateTime` or `LastModifiedTime` - select query --- packages/nocodb/src/db/BaseModelSqlv2.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/nocodb/src/db/BaseModelSqlv2.ts b/packages/nocodb/src/db/BaseModelSqlv2.ts index 09878264b1..dce64eb5dd 100644 --- a/packages/nocodb/src/db/BaseModelSqlv2.ts +++ b/packages/nocodb/src/db/BaseModelSqlv2.ts @@ -101,6 +101,17 @@ function checkColumnRequired( return !fields || fields.includes(column.title); } +export function getColumnName(column: Column) { + switch (column.uidt) { + case UITypes.CreateTime: + return 'created_at'; + case UITypes.LastModifiedTime: + return 'updated_at'; + default: + return column.column_name; + } +} + /** * Base class for models * @@ -2113,7 +2124,10 @@ class BaseModelSqlv2 { if (!checkColumnRequired(column, fields, extractPkAndPv)) continue; switch (column.uidt) { - case UITypes.DateTime: + case UITypes.CreateTime: + case UITypes.LastModifiedTime: + case UITypes.DateTime: { + const columnName = getColumnName(column) ; if (this.isMySQL) { // MySQL stores timestamp in UTC but display in timezone // To verify the timezone, run `SELECT @@global.time_zone, @@session.time_zone;` @@ -2160,6 +2174,7 @@ class BaseModelSqlv2 { res[sanitize(column.id || column.column_name)] = sanitize( `${alias || this.tnPath}.${column.column_name}`, ); + } break; case UITypes.LinkToAnotherRecord: case UITypes.Lookup: