initial-data.js 922 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const crypto = require('crypto');
  2. const randomString = () => crypto.randomBytes(6).hexSlice();
  3. module.exports = async keystone => {
  4. console.log('wtf');
  5. // Count existing users
  6. const {
  7. data: {
  8. _allUsersMeta: { count },
  9. },
  10. } = await keystone.executeQuery(
  11. `query {
  12. _allUsersMeta {
  13. count
  14. }
  15. }`
  16. );
  17. if (count === 0) {
  18. const password = randomString();
  19. const email = 'dev@jubilerschubert.pl';
  20. await keystone.executeQuery(
  21. `mutation initialUser($password: String, $email: String) {
  22. createUser(data: {name: "Admin", email: $email, isAdmin: true, password: $password}) {
  23. id
  24. }
  25. }`,
  26. {
  27. variables: {
  28. password,
  29. email,
  30. },
  31. }
  32. );
  33. console.log(`
  34. User created:
  35. email: ${email}
  36. password: ${password}
  37. Please change these details after initial login.
  38. `);
  39. }
  40. };