base-model.js 971 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. const http = require("../utils/axios");
  2. module.exports = class BaseModel {
  3. static MODULES = {
  4. HISTORY: 'history',
  5. PENDING: 'pending',
  6. FACTORY: 'factory',
  7. TOKEN: 'token',
  8. V2_LP: 'v2-lp',
  9. V3_LP: 'v3-lp'
  10. }
  11. constructor(chainId, module) {
  12. if (!chainId || !module) throw "Must have [chainId, module]."
  13. this.chainId = chainId
  14. this.module = module
  15. }
  16. async find() {
  17. const url = `/${this.module}/findByChainId`
  18. const rst = await http.post(url, {
  19. chainId: this.chainId
  20. })
  21. return rst.data
  22. }
  23. async findByPaginate(pageNumber=1, pageSize=200) {
  24. const url = `/${this.module}/findByChainIdAndPaginate`
  25. const rst = await http.post(url, {
  26. chainId: this.chainId,
  27. pageNumber: pageNumber,
  28. pageSize: pageSize
  29. })
  30. return rst.data
  31. }
  32. async appendOrUpdate(data) {
  33. const url = `/${this.module}/appendOrUpdate`
  34. const rst = await http.post(url, data)
  35. return rst.data
  36. }
  37. }