как смоделировать связывание между сущностями в вашей схеме json и генерировать данные с помощью фейера - PullRequest
0 голосов
/ 02 мая 2020

Я разрабатываю интерфейсное приложение с angular 9, и я хочу, чтобы макет моего API содержал сущности с отношениями один ко многим или многие ко многим, и я спрашиваю, как указать эти отношения в моей схеме. js генерировать данные с помощью "фейкер"? и как запустить этот файл, я попытался npm run schema.js, и он упомянул, что missing script: также node schema.js, но, похоже, не работает также, он показывает ReferenceError: jsf is not defined.

здесь это моя схема. js

 jsf.option({
 resolveJsonPath: true,
 alwaysFakeOptionals: true,
});
const {resolve, extend} = require('json-schema-faker');
const fs = require('fs');
extend('faker', () => require('faker'));
const schema = {
type: "object",
required: ["sessions", "prescreeneds", "tests"],
properties: {
    sessions: {
        type: "array",
        minItems: 30,
        items: { "$ref": "#/definitions/sessions" }
    },
    prescreened: {
        type: "array",
        minItems: 30,
        items: { "$ref": "#/definitions/prescreeneds" }
    },
    tests: {
        type: "array",
        minItems: 30,
        items: { "$ref": "#/definitions/tests" }
    },
    prescreened: {
        type: "object",
        required: [ "id", "title", "description"],
        properties: {
            id: {
                $ref: '#/definitions/positiveInt'
            },
            title: {
                type: "string",
                faker: "lorem.word"
            },
            description: {
                type: "string",
                faker: "lorem.sentence"
            },
            idSession: {
                type: "number",
            }
        }
    }, tests: {
        type: "object",
        required: [ "id", "title" ],
        properties: {
            id: {
                $ref: '#/definitions/positiveInt'
            },
            title: {
                type: "string",
                faker: "lorem.word"
            }, idPrescreened: {
                type: "number"
            }
        }
    },

    positiveInt: {
        type: 'integer',
        minimum: 0,
        exclusiveMinimum: true
    }
 }
}
resolve(schema).then(sample => {
    console.log('Writing to db.json')
    fs.writeFile(`${__dirname}/db.json`, JSON.stringify(sample), function(err) {
       if(err) {
           console.error(err);
       } else {
           console.log("done");
       }
   });
});
...