Browse Source

chore(nocodb): fix:prettier

pull/4072/head
Wing-Kam Wong 2 years ago
parent
commit
d05982f408
  1. 1
      packages/nocodb/src/__tests__/graphql.test.ts
  2. 12
      packages/nocodb/src/lib/db/sql-client/lib/sqlite/SqliteClient.ts
  3. 8
      packages/nocodb/src/lib/db/sql-data-mapper/lib/BaseModel.ts
  4. 58
      packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/sortV2.ts
  5. 1
      packages/nocodb/src/lib/meta/NcMetaIOImpl.ts
  6. 4
      packages/nocodb/src/lib/meta/api/dataApis/dataAliasExportApis.ts
  7. 18
      packages/nocodb/src/lib/meta/api/dataApis/helpers.ts
  8. 4
      packages/nocodb/src/lib/meta/api/sync/helpers/job.ts
  9. 8
      packages/nocodb/src/lib/meta/helpers/extractProps.ts
  10. 4
      packages/nocodb/src/lib/migrations/v2/nc_020_kanban_view.ts
  11. 22
      packages/nocodb/src/lib/models/SelectOption.ts
  12. 4
      packages/nocodb/src/lib/utils/NcConfigFactory.ts
  13. 2
      packages/nocodb/src/lib/utils/common/NcConnectionMgrv2.ts

1
packages/nocodb/src/__tests__/graphql.test.ts

@ -65,7 +65,6 @@ describe('{Auth, CRUD, HasMany, Belongs} Tests', () => {
const server = express();
server.enable('trust proxy');
server.use(await Noco.init({}));
app = server;
})()

12
packages/nocodb/src/lib/db/sql-client/lib/sqlite/SqliteClient.ts

@ -1965,13 +1965,21 @@ class SqliteClient extends KnexClient {
query = existingQuery ? ',' : '';
query += this.genQuery(`?? ${n.dt}`, [n.cn], shouldSanitize);
query += n.dtxp && n.dt !== 'text' ? `(${n.dtxp})` : '';
query += n.cdf ? (n.cdf.includes(',') ? ` DEFAULT ('${n.cdf}')` : ` DEFAULT ${n.cdf}`) : ' ';
query += n.cdf
? n.cdf.includes(',')
? ` DEFAULT ('${n.cdf}')`
: ` DEFAULT ${n.cdf}`
: ' ';
query += n.rqd ? ` NOT NULL` : ' ';
} else if (change === 1) {
shouldSanitize = true;
query += this.genQuery(` ADD ?? ${n.dt}`, [n.cn], shouldSanitize);
query += n.dtxp && n.dt !== 'text' ? `(${n.dtxp})` : '';
query += n.cdf ? (n.cdf.includes(',') ? ` DEFAULT ('${n.cdf}')` : ` DEFAULT ${n.cdf}`) : ' ';
query += n.cdf
? n.cdf.includes(',')
? ` DEFAULT ('${n.cdf}')`
: ` DEFAULT ${n.cdf}`
: ' ';
query += n.rqd ? ` NOT NULL` : ' ';
query = this.genQuery(`ALTER TABLE ?? ${query};`, [t], shouldSanitize);
} else {

8
packages/nocodb/src/lib/db/sql-data-mapper/lib/BaseModel.ts

@ -1,7 +1,7 @@
/* eslint-disable @typescript-eslint/ban-types,prefer-const */
import Knex from 'knex';
import Filter from '../../../models/Filter'
import Sort from '../../../models/Sort'
import Filter from '../../../models/Filter';
import Sort from '../../../models/Sort';
const autoBind = require('auto-bind');
const _ = require('lodash');
@ -1517,8 +1517,8 @@ export interface XcFilter {
offset?: string | number;
sort?: string;
fields?: string;
filterArr?: Filter[]
sortArr?: Sort[]
filterArr?: Filter[];
sortArr?: Sort[];
}
export interface XcFilterWithAlias extends XcFilter {

58
packages/nocodb/src/lib/db/sql-data-mapper/lib/sql/sortV2.ts

@ -207,30 +207,44 @@ export default async function sortV2(
qb.orderBy(selectQb, sort.direction || 'asc');
}
break;
case UITypes.SingleSelect:
{
const clientType = knex.clientType();
if (clientType === 'mysql' || clientType === 'mysql2') {
qb.orderBy(sanitize(knex.raw('CONCAT(??)', [column.column_name])), sort.direction || 'asc');
} else if (clientType === 'mssql') {
qb.orderBy(sanitize(knex.raw('CAST(?? AS VARCHAR(MAX))', [column.column_name])), sort.direction || 'asc');
} else {
qb.orderBy(sanitize(column.column_name), sort.direction || 'asc');
}
break;
case UITypes.SingleSelect: {
const clientType = knex.clientType();
if (clientType === 'mysql' || clientType === 'mysql2') {
qb.orderBy(
sanitize(knex.raw('CONCAT(??)', [column.column_name])),
sort.direction || 'asc'
);
} else if (clientType === 'mssql') {
qb.orderBy(
sanitize(
knex.raw('CAST(?? AS VARCHAR(MAX))', [column.column_name])
),
sort.direction || 'asc'
);
} else {
qb.orderBy(sanitize(column.column_name), sort.direction || 'asc');
}
case UITypes.MultiSelect:
{
const clientType = knex.clientType();
if (clientType === 'mysql' || clientType === 'mysql2') {
qb.orderBy(sanitize(knex.raw('CONCAT(??)', [column.column_name])), sort.direction || 'asc');
} else if (clientType === 'mssql') {
qb.orderBy(sanitize(knex.raw('CAST(?? AS VARCHAR(MAX))', [column.column_name])), sort.direction || 'asc');
} else {
qb.orderBy(sanitize(column.column_name), sort.direction || 'asc');
}
break;
break;
}
case UITypes.MultiSelect: {
const clientType = knex.clientType();
if (clientType === 'mysql' || clientType === 'mysql2') {
qb.orderBy(
sanitize(knex.raw('CONCAT(??)', [column.column_name])),
sort.direction || 'asc'
);
} else if (clientType === 'mssql') {
qb.orderBy(
sanitize(
knex.raw('CAST(?? AS VARCHAR(MAX))', [column.column_name])
),
sort.direction || 'asc'
);
} else {
qb.orderBy(sanitize(column.column_name), sort.direction || 'asc');
}
break;
}
default:
qb.orderBy(sanitize(column.column_name), sort.direction || 'asc');
break;

1
packages/nocodb/src/lib/meta/NcMetaIOImpl.ts

@ -366,7 +366,6 @@ export default class NcMetaIOImpl extends NcMetaIO {
return query;
}
public async metaCount(
project_id: string,
dbAlias: string,

4
packages/nocodb/src/lib/meta/api/dataApis/dataAliasExportApis.ts

@ -10,7 +10,7 @@ import apiMetrics from '../../helpers/apiMetrics';
import View from '../../../models/View';
async function excelDataExport(req: Request, res: Response) {
const {model, view} = await getViewAndModelFromRequestByAliasOrId(req);
const { model, view } = await getViewAndModelFromRequestByAliasOrId(req);
let targetView = view;
if (!targetView) {
targetView = await View.getDefaultView(model.id);
@ -18,7 +18,7 @@ async function excelDataExport(req: Request, res: Response) {
const { offset, elapsed, data } = await extractXlsxData(targetView, req);
const wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, data, targetView.title);
const buf = XLSX.write(wb, { type: "base64", bookType: "xlsx" });
const buf = XLSX.write(wb, { type: 'base64', bookType: 'xlsx' });
res.set({
'Access-Control-Expose-Headers': 'nc-export-offset',
'nc-export-offset': offset,

18
packages/nocodb/src/lib/meta/api/dataApis/helpers.ts

@ -119,12 +119,12 @@ async function getDbRows(baseModel, view: View, req: Request) {
let elapsed, temp;
const listArgs: any = { ...req.query };
try {
listArgs.filterArr = JSON.parse(listArgs.filterArrJson);
} catch (e) {}
try {
listArgs.sortArr = JSON.parse(listArgs.sortArrJson);
} catch (e) {}
try {
listArgs.filterArr = JSON.parse(listArgs.filterArrJson);
} catch (e) {}
try {
listArgs.sortArr = JSON.parse(listArgs.sortArrJson);
} catch (e) {}
for (
elapsed = 0;
@ -230,8 +230,10 @@ export async function serializeCellValue({
}
}
export async function getColumnByIdOrName(columnNameOrId: string, model: Model) {
export async function getColumnByIdOrName(
columnNameOrId: string,
model: Model
) {
const column = (await model.getColumns()).find(
(c) =>
c.title === columnNameOrId ||

4
packages/nocodb/src/lib/meta/api/sync/helpers/job.ts

@ -579,7 +579,9 @@ export default async (
};
// if options are empty, configure '' as default option
ncCol.dtxp =
colOptions.data.map((el) => `'${el.title.replace(/'/gi, "''")}'`).join(',') || "''";
colOptions.data
.map((el) => `'${el.title.replace(/'/gi, "''")}'`)
.join(',') || "''";
break;
case undefined:
break;

8
packages/nocodb/src/lib/meta/helpers/extractProps.ts

@ -8,10 +8,14 @@ export function extractProps<T>(body: T, props: string[]): Partial<T> {
}, {});
}
export function extractPropsAndSanitize<T>(body: T, props: string[]): Partial<T> {
export function extractPropsAndSanitize<T>(
body: T,
props: string[]
): Partial<T> {
// todo: throw error if no props found
return props.reduce((o, key) => {
if (key in body) o[key] = body[key] === '' ? null : DOMPurify.sanitize(body[key]);
if (key in body)
o[key] = body[key] === '' ? null : DOMPurify.sanitize(body[key]);
return o;
}, {});
}

4
packages/nocodb/src/lib/migrations/v2/nc_020_kanban_view.ts

@ -4,9 +4,7 @@ import { MetaTable } from '../../utils/globals';
const up = async (knex: Knex) => {
await knex.schema.alterTable(MetaTable.KANBAN_VIEW, (table) => {
table.string('fk_grp_col_id', 20);
table
.foreign('fk_grp_col_id')
.references(`${MetaTable.COLUMNS}.id`);
table.foreign('fk_grp_col_id').references(`${MetaTable.COLUMNS}.id`);
table.string('fk_cover_image_col_id', 20);
table

22
packages/nocodb/src/lib/models/SelectOption.ts

@ -59,7 +59,7 @@ export default class SelectOption {
public static async read(fk_column_id: string, ncMeta = Noco.ncMeta) {
let options = await NocoCache.getList(CacheScope.COL_SELECT_OPTION, [
fk_column_id
fk_column_id,
]);
if (!options.length) {
options = await ncMeta.metaList2(
@ -71,13 +71,15 @@ export default class SelectOption {
await NocoCache.setList(
CacheScope.COL_SELECT_OPTION,
[fk_column_id],
options.map(({created_at, updated_at, ...others}) => others)
options.map(({ created_at, updated_at, ...others }) => others)
);
}
return options?.length
? {
options: options.map(({created_at, updated_at, ...c}) => new SelectOption(c))
options: options.map(
({ created_at, updated_at, ...c }) => new SelectOption(c)
),
}
: null;
}
@ -87,16 +89,10 @@ export default class SelectOption {
title: string,
ncMeta = Noco.ncMeta
): Promise<SelectOption> {
let data = await ncMeta.metaGet2(
null,
null,
MetaTable.COL_SELECT_OPTIONS,
{
fk_column_id,
title
}
);
let data = await ncMeta.metaGet2(null, null, MetaTable.COL_SELECT_OPTIONS, {
fk_column_id,
title,
});
return data && new SelectOption(data);
}

4
packages/nocodb/src/lib/utils/NcConfigFactory.ts

@ -45,8 +45,8 @@ const defaultConnectionConfig: any = {
const defaultConnectionOptions = {
pool: {
min: 0,
max: 10
}
max: 10,
},
};
const knownQueryParams = [

2
packages/nocodb/src/lib/utils/common/NcConnectionMgrv2.ts

@ -7,7 +7,7 @@ import { XKnex } from '../../db/sql-data-mapper';
// import NcMetaIO from '../meta/NcMetaIO';
import {
defaultConnectionConfig,
defaultConnectionOptions
defaultConnectionOptions,
} from '../NcConfigFactory';
import Base from '../../models/Base';
import Noco from '../../Noco';

Loading…
Cancel
Save