-func GetTypes() ([]*Type, error) {
- types := make([]*Type, 0, 1)
- err := filepath.Walk(typeDir,
- func(path string, info os.FileInfo, err error) error {
- if err != nil {
- return err
- }
- if strings.Contains(path, ".json") {
- if jobType, err := getType(path); err == nil {
- types = append(types, jobType)
- }
- }
- return nil
- })
+func (jh *JobHandlerImpl) GetTypes() ([]config.TypeDefinition, error) {
+ jh.mu.Lock()
+ defer jh.mu.Unlock()
+ typeDefsByte, err := os.ReadFile(jh.configFile)
+ if err != nil {
+ return nil, err
+ }
+ typeDefs := struct {
+ Types []config.TypeDefinition `json:"types"`
+ }{}
+ err = json.Unmarshal(typeDefsByte, &typeDefs)