github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/internal/server/service/sync.go (about) 1 package serverService 2 3 import ( 4 consts "github.com/easysoft/zendata/internal/pkg/const" 5 "github.com/easysoft/zendata/internal/pkg/domain" 6 ) 7 8 type SyncService struct { 9 DefService *DefService `inject:""` 10 FieldService *FieldService `inject:""` 11 RangesService *RangesService `inject:""` 12 InstancesService *InstancesService `inject:""` 13 ConfigService *ConfigService `inject:""` 14 ExcelService *ExcelService `inject:""` 15 TextService *TextService `inject:""` 16 ReferService *ReferService `inject:""` 17 ResService *ResService `inject:""` 18 } 19 20 func (s *SyncService) SyncData() { 21 files := s.ResService.LoadRes("") 22 23 fileMap := map[string][]domain.ResFile{} 24 for _, fi := range files { 25 if fileMap[fi.ResType] == nil { 26 fileMap[fi.ResType] = make([]domain.ResFile, 0) 27 } 28 29 fileMap[fi.ResType] = append(fileMap[fi.ResType], fi) 30 } 31 32 s.DefService.Sync(fileMap[consts.ResTypeYaml]) 33 s.RangesService.Sync(fileMap[consts.ResTypeRanges]) 34 s.InstancesService.Sync(fileMap[consts.ResTypeInstances]) 35 s.ConfigService.Sync(fileMap[consts.ResTypeConfig]) 36 37 s.ExcelService.Sync(fileMap[consts.ResTypeExcel]) 38 s.TextService.Sync(fileMap[consts.ResTypeText]) 39 } 40 41 func NewSyncService( 42 defService *DefService, 43 fieldService *FieldService, 44 rangesService *RangesService, 45 instancesService *InstancesService, 46 configService *ConfigService, 47 excelService *ExcelService, 48 textService *TextService, 49 referService *ReferService, 50 resService *ResService) *SyncService { 51 return &SyncService{ 52 DefService: defService, 53 FieldService: fieldService, 54 RangesService: rangesService, 55 InstancesService: instancesService, 56 ConfigService: configService, 57 ExcelService: excelService, 58 TextService: textService, 59 ReferService: referService, 60 ResService: resService, 61 } 62 }