users.js 928 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright Epic Games, Inc. All Rights Reserved.
  2. const fs = require('fs');
  3. const path = require('path');
  4. // Read in users from file
  5. let records = [];
  6. let usersFile = path.join(__dirname, './users.json');
  7. if (fs.existsSync(usersFile)) {
  8. console.log(`Reading users from '${usersFile}'`)
  9. var content = fs.readFileSync(usersFile, 'utf8');
  10. try {
  11. records = JSON.parse(content);
  12. } catch(e) {
  13. console.log(`ERROR: Failed to parse users from file '${usersFile}'`)
  14. }
  15. }
  16. exports.findById = function(id, cb) {
  17. var idx = id - 1;
  18. if (records[idx]) {
  19. cb(null, records[idx]);
  20. } else {
  21. cb(new Error('User ' + id + ' does not exist'));
  22. }
  23. }
  24. exports.findByUsername = function(username, cb) {
  25. for (var i = 0, len = records.length; i < len; i++) {
  26. var record = records[i];
  27. if (record.username === username) {
  28. return cb(null, record);
  29. }
  30. }
  31. return cb(null, null);
  32. }