tamim-cli
Version:
A CLI tool for generating module boilerplate code including routes, controllers, services, and more
33 lines (30 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.serviceLogicHelper = void 0;
const filterIncluded = (capitalizedModuleName, generateSearchFields, fields) => {
return `const getAll${capitalizedModuleName}s = async (queryFields: Record<string, any>): Promise<I${capitalizedModuleName}[]> => {
const { search, page, limit } = queryFields;
const query = search ? { $or: [${generateSearchFields(fields)}] } : {};
let queryBuilder = ${capitalizedModuleName}.find(query);
if (page && limit) {
queryBuilder = queryBuilder.skip((page - 1) * limit).limit(limit);
}else{
queryBuilder = queryBuilder.skip(0).limit(10);
}
delete queryFields.search;
delete queryFields.page;
delete queryFields.limit;
queryBuilder.find(queryFields);
return await queryBuilder;
};`;
};
const filterNotIncluded = (capitalizedModuleName) => {
return `const getAll${capitalizedModuleName}s = async (): Promise<I${capitalizedModuleName}[]> => {
const result = await ${capitalizedModuleName}.find();
return result;
};`;
};
exports.serviceLogicHelper = {
filterIncluded,
filterNotIncluded,
};