gerard2p/koaton

View on GitHub

Showing 48 of 48 total issues

Avoid deeply nested control flow statements.
Open

if (res.id) {
modelRelations[related].push(id);
}
Severity: Major
Found in src/support/RestModel.js - About 45 mins to fix

Function buildFilterSet has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

async function buildFilterSet (query, model, database) {
let filterset = query.filterset || [];
if (query.filterset) {
delete query.filterset;
}
Severity: Minor
Found in src/support/toMongooseStringQuery.js - About 45 mins to fix

Avoid deeply nested control flow statements.
Open

if (typeof related === 'object') {
related[foreignKey] = foreignValue;
modelRelations[relation].push((await child.create(related)).id);
} else {
let data = {};
Severity: Major
Found in src/support/RestModel.js - About 45 mins to fix

Function rest has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

rest (url, model) {
if (model === undefined) {
model = url;
url = undefined;
}
Severity: Minor
Found in src/support/KoatonRouter.js - About 45 mins to fix

Function toMongooseStringQuery has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

export default async function toMongooseStringQuery (queryBody, model, database) {
let filterset = await buildFilterSet(queryBody, model, database);
let query = [];
for (let index in filterset) {
let filtergroup = filterset[index];
Severity: Minor
Found in src/support/toMongooseStringQuery.js - About 45 mins to fix

Function prepareQuery has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
Open

async function prepareQuery (database, model, query, item) {
let [modelname, property] = item.split('.');
let prequery = {};
let value = (query.value ? query.value : query[item]);
value = query.condition === '===' ? value : (property === 'id' ? value : new RegExp(`.*${value}.*`));
Severity: Minor
Found in src/support/toMongooseStringQuery.js - About 35 mins to fix

TODO found
Open

// TODO: camintejs does not allow me to do this;
Severity: Minor
Found in src/support/toMongooseStringQuery.js by fixme

TODO found
Open

// TODO: Create your own ORM, caminte worked but is not enough, remember LORM?
Severity: Minor
Found in src/middleware/orm.js by fixme
Severity
Category
Status
Source
Language