@mongez/gnz
Version:
Generator Z, the next generation of scaffolding tools.
42 lines (36 loc) • 1.43 kB
JavaScript
;var converters=require('../../../utils/converters.js');require('os');var prettifier=require('../../../utils/prettifier.js');async function gnWarlockRepository(options) {
//
const { className, model: modelName, modelPath, exportName: objectName, filters = {}, } = options;
const imports = [
`import {
type FilterByOptions,
RepositoryManager,
type RepositoryOptions,
} from "@warlock.js/core";`,
`import { ${modelName} } from "${modelPath}";`,
];
const content = `
${imports.join("\n")}
export class ${className} extends RepositoryManager<${modelName}> {
/**
* {@inheritDoc}
*/
public model = ${modelName};
/**
* Simple columns selections
* Set the columns that need to be selected when passing 'simple' option with 'true'
*/
public simpleSelectColumns = ["id"];
/**
* List default options
*/
protected defaultOptions: RepositoryOptions = this.withDefaultOptions({});
/**
* Filter By options
*/
protected filterBy: FilterByOptions = this.withDefaultFilters(${converters.toJson(filters)});
}
export const ${objectName} = new ${className}();
`;
return await prettifier.format.typescript(content);
}exports.gnWarlockRepository=gnWarlockRepository;//# sourceMappingURL=template.js.map