Remove duplicates

This commit is contained in:
Adria Navarro 2024-07-26 14:36:41 +02:00
parent 3a095c5071
commit ee74a84339
4 changed files with 9 additions and 23 deletions

View File

@ -1,8 +1,7 @@
// need to handle table name + field or just field, depending on if relationships used // need to handle table name + field or just field, depending on if relationships used
import { FieldType, Row, Table } from "@budibase/types" import { FieldType, Row, Table } from "@budibase/types"
import { helpers } from "@budibase/shared-core" import { helpers, PROTECTED_INTERNAL_COLUMNS } from "@budibase/shared-core"
import { generateRowIdField } from "../../../../integrations/utils" import { generateRowIdField } from "../../../../integrations/utils"
import { CONSTANT_INTERNAL_ROW_COLS } from "../../../../db/utils"
function extractFieldValue({ function extractFieldValue({
row, row,
@ -94,7 +93,7 @@ export function basicProcessing({
thisRow._rev = "rev" thisRow._rev = "rev"
} else { } else {
const columns = Object.keys(table.schema) const columns = Object.keys(table.schema)
for (let internalColumn of [...CONSTANT_INTERNAL_ROW_COLS, ...columns]) { for (let internalColumn of [...PROTECTED_INTERNAL_COLUMNS, ...columns]) {
thisRow[internalColumn] = extractFieldValue({ thisRow[internalColumn] = extractFieldValue({
row, row,
tableName: table._id!, tableName: table._id!,

View File

@ -57,14 +57,6 @@ export const getUserMetadataParams = dbCore.getUserMetadataParams
export const generateUserMetadataID = dbCore.generateUserMetadataID export const generateUserMetadataID = dbCore.generateUserMetadataID
export const getGlobalIDFromUserMetadataID = export const getGlobalIDFromUserMetadataID =
dbCore.getGlobalIDFromUserMetadataID dbCore.getGlobalIDFromUserMetadataID
export const CONSTANT_INTERNAL_ROW_COLS = [
"_id",
"_rev",
"type",
"createdAt",
"updatedAt",
"tableId",
]
/** /**
* Gets parameters for retrieving tables, this is a utility function for the getDocParams function. * Gets parameters for retrieving tables, this is a utility function for the getDocParams function.

View File

@ -31,10 +31,7 @@ import {
SQLITE_DESIGN_DOC_ID, SQLITE_DESIGN_DOC_ID,
SQS_DATASOURCE_INTERNAL, SQS_DATASOURCE_INTERNAL,
} from "@budibase/backend-core" } from "@budibase/backend-core"
import { import { generateJunctionTableID } from "../../../../db/utils"
CONSTANT_INTERNAL_ROW_COLS,
generateJunctionTableID,
} from "../../../../db/utils"
import AliasTables from "../sqlAlias" import AliasTables from "../sqlAlias"
import { outputProcessing } from "../../../../utilities/rowProcessor" import { outputProcessing } from "../../../../utilities/rowProcessor"
import pick from "lodash/pick" import pick from "lodash/pick"
@ -44,7 +41,7 @@ import {
getRelationshipColumns, getRelationshipColumns,
getTableIDList, getTableIDList,
} from "./filters" } from "./filters"
import { dataFilters } from "@budibase/shared-core" import { dataFilters, PROTECTED_INTERNAL_COLUMNS } from "@budibase/shared-core"
const builder = new sql.Sql(SqlClient.SQL_LITE) const builder = new sql.Sql(SqlClient.SQL_LITE)
const MISSING_COLUMN_REGEX = new RegExp(`no such column: .+`) const MISSING_COLUMN_REGEX = new RegExp(`no such column: .+`)
@ -65,7 +62,7 @@ function buildInternalFieldList(
}) })
} }
fieldList = fieldList.concat( fieldList = fieldList.concat(
CONSTANT_INTERNAL_ROW_COLS.map(col => `${table._id}.${col}`) PROTECTED_INTERNAL_COLUMNS.map(col => `${table._id}.${col}`)
) )
for (let col of Object.values(table.schema)) { for (let col of Object.values(table.schema)) {
const isRelationship = col.type === FieldType.LINK const isRelationship = col.type === FieldType.LINK
@ -355,7 +352,7 @@ export async function search(
// check if we need to pick specific rows out // check if we need to pick specific rows out
if (options.fields) { if (options.fields) {
const fields = [...options.fields, ...CONSTANT_INTERNAL_ROW_COLS] const fields = [...options.fields, ...PROTECTED_INTERNAL_COLUMNS]
finalRows = finalRows.map((r: any) => pick(r, fields)) finalRows = finalRows.map((r: any) => pick(r, fields))
} }

View File

@ -10,12 +10,10 @@ import {
Table, Table,
} from "@budibase/types" } from "@budibase/types"
import tablesSdk from "../" import tablesSdk from "../"
import { import { generateJunctionTableID } from "../../../../db/utils"
CONSTANT_INTERNAL_ROW_COLS,
generateJunctionTableID,
} from "../../../../db/utils"
import { isEqual } from "lodash" import { isEqual } from "lodash"
import { DEFAULT_TABLES } from "../../../../db/defaultData/datasource_bb_default" import { DEFAULT_TABLES } from "../../../../db/defaultData/datasource_bb_default"
import { PROTECTED_INTERNAL_COLUMNS } from "@budibase/shared-core"
const FieldTypeMap: Record<FieldType, SQLiteType> = { const FieldTypeMap: Record<FieldType, SQLiteType> = {
[FieldType.BOOLEAN]: SQLiteType.NUMERIC, [FieldType.BOOLEAN]: SQLiteType.NUMERIC,
@ -122,7 +120,7 @@ function mapTable(table: Table): SQLiteTables {
} }
// there are some extra columns to map - add these in // there are some extra columns to map - add these in
const constantMap: Record<string, SQLiteType> = {} const constantMap: Record<string, SQLiteType> = {}
CONSTANT_INTERNAL_ROW_COLS.forEach(col => { PROTECTED_INTERNAL_COLUMNS.forEach(col => {
constantMap[col] = SQLiteType.TEXT constantMap[col] = SQLiteType.TEXT
}) })
const thisTable: SQLiteTable = { const thisTable: SQLiteTable = {