Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const fs = require('fs');
- // const path = require('path');
- const seedersTmpDataFolder = 'seeders/bin';
- class SeedingHelper {
- static saveData(filename, data) {
- return new Promise((resolve) => {
- fs.writeFile(`${seedersTmpDataFolder}/${filename}.json`, JSON.stringify(data, null, 't'), (err) => {
- if (err) throw err;
- resolve();
- });
- });
- }
- static readData(filename) {
- return new Promise((resolve) => {
- fs.readFile(`${seedersTmpDataFolder}/${filename}.json`, 'utf8', (err, data) => {
- if (err) throw err;
- resolve(JSON.parse(data));
- });
- });
- }
- }
- module.exports = SeedingHelper;
- const { Seeder } = require('mongoose-data-seed');
- const mongoose = require('mongoose');
- const ResourceAction = require('../models/resourceAction');
- const SeedingHelper = require('../helpers/seeding-helper');
- const { Types: { ObjectId } } = mongoose;
- const data = [
- {
- _id: ObjectId(),
- name: 'test1'
- },
- {
- _id: ObjectId(),
- name: 'test2'
- },
- ];
- class ResourceActionSeeder extends Seeder {
- async shouldRun() { // eslint-disable-line class-methods-use-this
- return ResourceAction.count().exec().then(count => count === 0);
- }
- async run() { // eslint-disable-line class-methods-use-this
- let result;
- await SeedingHelper.saveData('resourceActions', data)
- .then(() => {
- result = ResourceAction.create(data);
- });
- return result;
- }
- }
- module.exports = ResourceActionSeeder;
- const { Seeder } = require('mongoose-data-seed');
- const mongoose = require('mongoose');
- const Resource = require('../models/resource');
- const SeedingHelper = require('../helpers/seeding-helper');
- const { Types: { ObjectId } } = mongoose;
- class ResourcesSeeder extends Seeder {
- async shouldRun() { // eslint-disable-line class-methods-use-this
- return Resource.count().exec().then(count => count === 0);
- }
- async run() { // eslint-disable-line class-methods-use-this
- let result;
- await SeedingHelper.readData('resourceActions')
- .then((resourceActionsData) => {
- const machinesId = ObjectId();
- const actionTest1 = ObjectId(resourceActionsData.find(x => x.name === 'test1')._id);
- const actionTest2 = ObjectId(resourceActionsData.find(x => x.name === 'test2')._id);
- const data = [
- {
- _id: machinesId,
- name: 'machines',
- actions: [
- actionTest1,
- actionTest2,
- ],
- },
- ];
- result = Resource.create(data);
- if (result) SeedingHelper.saveData('resources', data);
- });
- return result;
- }
- }
- module.exports = ResourcesSeeder;
Add Comment
Please, Sign In to add comment