INNER CODE UNIT · TypeScript
generateSchemas
afteracademy/wimm-apis · .templates/feature.generator.ts:105
async function generateSchemas(featureDir: string, featureName: string) {
const schemasDirPath = join(featureDir, 'schemas');
await mkdir(schemasDirPath);
const featureLower = featureName.toLowerCase();
const featureCaps = capitalizeFirstLetter(featureName);
const schemaPath = join(featureDir, `schemas/${featureLower}.schema.ts`);
const template = `import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import mongoose, { HydratedDocument, Types } from 'mongoose';
import { User } from '../../user/schemas/user.schema';
export type ${featureCaps}Document = HydratedDocument<${featureCaps}>;
@Schema({ collection: '${featureLower}s', versionKey: false, timestamps: true })
export class ${featureCaps} {
readonly _id: Types.ObjectId;