Linting and updating csv parser test case to match new functionality.

This commit is contained in:
mike12345567 2021-11-12 19:39:12 +00:00
parent d9d5391a40
commit 1d7fe369c6
6 changed files with 16 additions and 17 deletions

View File

@ -601,7 +601,10 @@ module External {
throw `Unable to process query, table "${tableName}" not defined.` throw `Unable to process query, table "${tableName}" not defined.`
} }
// look for specific components of config which may not be considered acceptable // look for specific components of config which may not be considered acceptable
let { id, row, filters, sort, paginate, rows } = cleanupConfig(config, table) let { id, row, filters, sort, paginate, rows } = cleanupConfig(
config,
table
)
filters = buildFilters(id, filters || {}, table) filters = buildFilters(id, filters || {}, table)
const relationships = this.buildRelationships(table) const relationships = this.buildRelationships(table)
// clean up row on ingress using schema // clean up row on ingress using schema

View File

@ -29,10 +29,7 @@ function generateSchema(
for (let [key, column] of Object.entries(table.schema)) { for (let [key, column] of Object.entries(table.schema)) {
// skip things that are already correct // skip things that are already correct
const oldColumn = oldTable ? oldTable.schema[key] : null const oldColumn = oldTable ? oldTable.schema[key] : null
if ( if ((oldColumn && oldColumn.type) || (primaryKey === key && !isJunction)) {
(oldColumn && oldColumn.type) ||
(primaryKey === key && !isJunction)
) {
continue continue
} }
switch (column.type) { switch (column.type) {

View File

@ -130,7 +130,7 @@ module PostgresModule {
public tables: Record<string, Table> = {} public tables: Record<string, Table> = {}
public schemaErrors: Record<string, string> = {} public schemaErrors: Record<string, string> = {}
COLUMNS_SQL!: string COLUMNS_SQL!: string
PRIMARY_KEYS_SQL = ` PRIMARY_KEYS_SQL = `
select tc.table_schema, tc.table_name, kc.column_name as primary_key select tc.table_schema, tc.table_name, kc.column_name as primary_key
@ -165,11 +165,11 @@ module PostgresModule {
setSchema() { setSchema() {
if (!this.config.schema) { if (!this.config.schema) {
this.config.schema = 'public' this.config.schema = "public"
} }
this.client.on('connect', (client: any) => { this.client.on("connect", (client: any) => {
client.query(`SET search_path TO ${this.config.schema}`); client.query(`SET search_path TO ${this.config.schema}`)
}); })
this.COLUMNS_SQL = `select * from information_schema.columns where table_schema = '${this.config.schema}'` this.COLUMNS_SQL = `select * from information_schema.columns where table_schema = '${this.config.schema}'`
} }

View File

@ -95,7 +95,9 @@ async function transform({ schema, csvString, existingTable }) {
const colParser = {} const colParser = {}
// make sure the table has all the columns required for import // make sure the table has all the columns required for import
schema = updateSchema({ schema, existingTable }) if (existingTable) {
schema = updateSchema({ schema, existingTable })
}
for (let key of Object.keys(schema)) { for (let key of Object.keys(schema)) {
colParser[key] = PARSERS[schema[key].type] || schema[key].type colParser[key] = PARSERS[schema[key].type] || schema[key].type

View File

@ -3,19 +3,13 @@
exports[`CSV Parser transformation transforms a CSV file into JSON 1`] = ` exports[`CSV Parser transformation transforms a CSV file into JSON 1`] = `
Array [ Array [
Object { Object {
"Address": "5 Sesame Street",
"Age": 4324, "Age": 4324,
"Name": "Bertå",
}, },
Object { Object {
"Address": "1 World Trade Center",
"Age": 34, "Age": 34,
"Name": "Ernie",
}, },
Object { Object {
"Address": "44 Second Avenue",
"Age": 23423, "Age": 23423,
"Name": "Big Bird",
}, },
] ]
`; `;

View File

@ -24,6 +24,9 @@ const SCHEMAS = {
Age: { Age: {
type: "omit", type: "omit",
}, },
Name: {
type: "string",
},
}, },
BROKEN: { BROKEN: {
Address: { Address: {