ship-filter-control.js 1.2 KB

1234567891011121314151617181920212223242526272829
  1. import SourceService from "../service/source-service.js";
  2. import ApiResult from "../config/api.js";
  3. import ParamsService from "../service/params-service.js";
  4. import ParamsDictService from "../service/params-dict-service.js";
  5. import TrackService from "../service/track-service.js";
  6. import HoverService from "../service/hover-service.js";
  7. const ShipFilterControl = {
  8. getConfig: async (req, res) => {
  9. try {
  10. const sourceData = await SourceService.list({orderByColumn: 'sort', isAsc: false})
  11. for (const source of sourceData) {
  12. const trackData = await TrackService.queryBy({sourceId: source.id})
  13. source.track = trackData?.[0] || {}
  14. const hoverData = await HoverService.list({sourceId: source.id})
  15. source.hover = hoverData || []
  16. const paramsData = await ParamsService.list({sourceId: source.id})
  17. for (const params of paramsData) {
  18. const dictData = await ParamsDictService.list({paramsId: params.id})
  19. params.dict = dictData
  20. }
  21. source.params = paramsData
  22. }
  23. res.send(new ApiResult().success(sourceData))
  24. } catch (e) {
  25. res.send(new ApiResult().error(e))
  26. }
  27. },
  28. }
  29. export default ShipFilterControl