Я разрабатываю интерфейсное приложение с 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");
}
});
});