accountSchema.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. const moduleManager = require("../../../index");
  2. const mongoModule = moduleManager.modules["mongo"];
  3. module.exports = {
  4. "getLatest": cb => {
  5. mongoModule.models.then(models => {
  6. models.accountSchema.find({}, null, { sort: "-version", limit: 1 }, (err, res) => {
  7. if (err || !res || res.length !== 1)
  8. return cb({
  9. status: "failure",
  10. message: "Something went wrong."
  11. });
  12. else
  13. return cb({
  14. status: "success",
  15. schema: res[0]
  16. });
  17. });
  18. });
  19. },
  20. "getAll": cb => {
  21. mongoModule.models.then(models => {
  22. models.accountSchema.find({}, null, { sort: "-version" }, (err, res) => {
  23. if (err || !res)
  24. return cb({
  25. status: "failure",
  26. message: "Something went wrong."
  27. });
  28. else
  29. return cb({
  30. status: "success",
  31. schemas: res
  32. });
  33. });
  34. });
  35. },
  36. "getById": (cb, schemaId) => {
  37. mongoModule.models.then(models => {
  38. models.accountSchema.findById(schemaId, (err, res) => {
  39. if (err || !res)
  40. return cb({
  41. status: "failure",
  42. message: "Something went wrong."
  43. });
  44. else
  45. return cb({
  46. status: "success",
  47. schema: res
  48. });
  49. });
  50. });
  51. },
  52. "import": (cb, name) => {
  53. mongoModule.models.then(models => {
  54. mongoModule.schemas.then(models => {
  55. models.accountSchema.create(schemas[name], (err) => {
  56. if (err)
  57. return cb({
  58. status: "failure",
  59. err: err
  60. });
  61. else
  62. return cb({
  63. status: "success"
  64. });
  65. });
  66. });
  67. });
  68. }
  69. }