import { init, getServiceMetaData } from './index';
import mongoose, { Schema } from 'mongoose';

const TestSchema = new Schema({
    name: { type: String, required: true },
    sku: { type: Number, default: null },
    referenceField: { type: Schema.Types.ObjectId, ref: 'test1'},
    nested: {
        nameNested: { type: String, required: true },
        nameNested2: { type: String, required: true },
        nested2: {
            nameNested3: { type: String, required: true },
            nameNested4: { type: String, required: true }
        }
    },
    listField1: [{ type: String, required: true }],
    listField: [{
        listnameNested: { type: Boolean, required: true },
        nameNested2: { type: Date, required: true },
    }]
});

mongoose.model<any, any>('test', TestSchema);

const Test1Schema = new Schema({
    name: { type: String, required: true },
    sku: { type: Number, default: null },
    reference: { type: Schema.Types.ObjectId, ref: 'test'}
});

mongoose.model<any, any>('test1', Test1Schema);

init(mongoose);

console.log(JSON.stringify(getServiceMetaData(), null, 4));