MCPcopy Create free account
hub / github.com/driangle/taskmd / GetTasks

Method GetTasks

apps/cli/internal/web/data_provider.go:30–55  ·  view source on GitHub ↗

GetTasks returns cached tasks, rescanning if dirty.

()

Source from the content-addressed store, hash-verified

28
29// GetTasks returns cached tasks, rescanning if dirty.
30func (dp *DataProvider) GetTasks() ([]*model.Task, error) {
31 dp.mu.RLock()
32 if !dp.dirty && dp.tasks != nil {
33 defer dp.mu.RUnlock()
34 return dp.tasks, nil
35 }
36 dp.mu.RUnlock()
37
38 dp.mu.Lock()
39 defer dp.mu.Unlock()
40
41 // Double-check after acquiring write lock
42 if !dp.dirty && dp.tasks != nil {
43 return dp.tasks, nil
44 }
45
46 s := scanner.NewScanner(dp.scanDir, dp.verbose, nil)
47 result, err := s.Scan()
48 if err != nil {
49 return nil, err
50 }
51
52 dp.tasks = result.Tasks
53 dp.dirty = false
54 return dp.tasks, nil
55}
56
57// GetArchivedTasks scans archive directories for tasks used in dependency resolution.
58func (dp *DataProvider) GetArchivedTasks() ([]*model.Task, error) {

Callers 9

ExportWithFSFunction · 0.95
TestDataProvider_CacheFunction · 0.95
getFilteredTasksFunction · 0.80
handleTaskByIDFunction · 0.80
handleUpdateTaskFunction · 0.80
reloadTaskFunction · 0.80
handleWorklogFunction · 0.80

Calls 1

ScanMethod · 0.80

Tested by 3

TestDataProvider_CacheFunction · 0.76