Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

04-responses.js 1.0KB

1234567891011121314151617181920212223242526272829303132333435
  1. const mock = require('../data-generator/mock')
  2. const fs = require('fs')
  3. const dataSort = require('../dataSort')
  4. const { batchSize, ignore } = require('../data-generator/config.json')
  5. let responses = []
  6. const generatedDataPath = './db/generated'
  7. let fileNames = fs.readdirSync(generatedDataPath)
  8. for (let name of fileNames) {
  9. const data = require(`../generated/${name}`)
  10. if (name[0] == '_') {
  11. responses = [...responses, ...data.responses]
  12. }
  13. }
  14. /**
  15. * Prevent seeding responses for
  16. * profile ids so we can test oboarding
  17. */
  18. responses = dataSort(responses, 'response_id').filter(
  19. response => !ignore.includes(response.profile_id),
  20. )
  21. exports.seed = async knex => {
  22. await knex('responses').del()
  23. let responsesToPush = []
  24. let len = responses.length
  25. for (let i = 1; i <= len; i += 1) {
  26. responsesToPush.push(responses.shift())
  27. if (i % batchSize === 0 || i > responses.length) {
  28. await knex('responses').insert(responsesToPush)
  29. responsesToPush = []
  30. }
  31. }
  32. }