Skip to content

Commit 9a82085

Browse files
Copilotspech66
andauthored
Extract GetAllFiltered helper into BaseTool to reduce duplication
Agent-Logs-Url: https://github.com/spech66/lifelogbb/sessions/7b1fa04c-5ab2-4714-a060-adcc15f7ffc7 Co-authored-by: spech66 <22615238+spech66@users.noreply.github.com>
1 parent cd52993 commit 9a82085

9 files changed

Lines changed: 17 additions & 33 deletions

File tree

LifelogBb/McpControllers/BaseTool.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,21 @@
66
namespace LifelogBb.McpControllers
77
{
88
[McpServerToolType]
9-
public class BaseTool<S, INP, OUTP>
9+
public class BaseTool<S, INP, OUTP> where S : IBaseCRUDService<INP, OUTP>
1010
{
1111
protected readonly S _service;
1212

1313
public BaseTool(S service)
1414
{
1515
_service = service;
1616
}
17+
18+
protected async Task<IEnumerable<OUTP>> GetAllFiltered(string? filter)
19+
{
20+
var result = filter != null
21+
? await _service.GetAll(filter)
22+
: await _service.GetAll();
23+
return result.Value ?? [];
24+
}
1725
}
1826
}

LifelogBb/McpControllers/EnduranceTrainingsTool.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ public EnduranceTrainingsTool(EnduranceTrainingsService service) : base(service)
1515
[McpServerTool(Name = "GetAllEnduranceTrainings", Title = "Get All Endurance Trainings"), Description("Get all endurance training data. Optionally filter by providing a JSON filter expression.")]
1616
public async Task<IEnumerable<EnduranceTrainingOutput>> McpGetAll([Description("Optional JSON filter expression")] string? filter = null)
1717
{
18-
var result = filter != null
19-
? await _service.GetAll(filter)
20-
: await _service.GetAll();
21-
return result.Value ?? [];
18+
return await GetAllFiltered(filter);
2219
}
2320
}
2421
}

LifelogBb/McpControllers/GoalsTool.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ public GoalsTool(GoalsService service) : base(service)
1515
[McpServerTool(Name = "GetAllGoals", Title = "Get All Goals"), Description("Get all goal data. Optionally filter by providing a JSON filter expression.")]
1616
public async Task<IEnumerable<GoalOutput>> McpGetAll([Description("Optional JSON filter expression")] string? filter = null)
1717
{
18-
var result = filter != null
19-
? await _service.GetAll(filter)
20-
: await _service.GetAll();
21-
return result.Value ?? [];
18+
return await GetAllFiltered(filter);
2219
}
2320
}
2421
}

LifelogBb/McpControllers/HabitsTool.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ public HabitsTool(HabitsService service) : base(service)
1515
[McpServerTool(Name = "GetAllHabits", Title = "Get All Habits"), Description("Get all habit data. Optionally filter by providing a JSON filter expression.")]
1616
public async Task<IEnumerable<HabitOutput>> McpGetAll([Description("Optional JSON filter expression")] string? filter = null)
1717
{
18-
var result = filter != null
19-
? await _service.GetAll(filter)
20-
: await _service.GetAll();
21-
return result.Value ?? [];
18+
return await GetAllFiltered(filter);
2219
}
2320
}
2421
}

LifelogBb/McpControllers/JournalsTool.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ public JournalsTool(JournalsService service) : base(service)
1515
[McpServerTool(Name = "GetAllJournals", Title = "Get All Journals"), Description("Get all journal data. Optionally filter by providing a JSON filter expression.")]
1616
public async Task<IEnumerable<JournalOutput>> McpGetAll([Description("Optional JSON filter expression")] string? filter = null)
1717
{
18-
var result = filter != null
19-
? await _service.GetAll(filter)
20-
: await _service.GetAll();
21-
return result.Value ?? [];
18+
return await GetAllFiltered(filter);
2219
}
2320
}
2421
}

LifelogBb/McpControllers/QuotesTool.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ public QuotesTool(QuotesService service) : base(service)
1515
[McpServerTool(Name = "GetAllQuotes", Title = "Get All Quotes"), Description("Get all quote data. Optionally filter by providing a JSON filter expression.")]
1616
public async Task<IEnumerable<QuoteOutput>> McpGetAll([Description("Optional JSON filter expression")] string? filter = null)
1717
{
18-
var result = filter != null
19-
? await _service.GetAll(filter)
20-
: await _service.GetAll();
21-
return result.Value ?? [];
18+
return await GetAllFiltered(filter);
2219
}
2320
}
2421
}

LifelogBb/McpControllers/StrengthTrainingsTool.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ public StrengthTrainingsTool(StrengthTrainingsService service) : base(service)
1515
[McpServerTool(Name = "GetAllStrengthTrainings", Title = "Get All Strength Trainings"), Description("Get all strength training data. Optionally filter by providing a JSON filter expression.")]
1616
public async Task<IEnumerable<StrengthTrainingOutput>> McpGetAll([Description("Optional JSON filter expression")] string? filter = null)
1717
{
18-
var result = filter != null
19-
? await _service.GetAll(filter)
20-
: await _service.GetAll();
21-
return result.Value ?? [];
18+
return await GetAllFiltered(filter);
2219
}
2320
}
2421
}

LifelogBb/McpControllers/TodosTool.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ public TodosTool(TodosService service) : base(service)
1515
[McpServerTool(Name = "GetAllTodos", Title = "Get All Todos"), Description("Get all todo data. Optionally filter by providing a JSON filter expression.")]
1616
public async Task<IEnumerable<TodoOutput>> McpGetAll([Description("Optional JSON filter expression")] string? filter = null)
1717
{
18-
var result = filter != null
19-
? await _service.GetAll(filter)
20-
: await _service.GetAll();
21-
return result.Value ?? [];
18+
return await GetAllFiltered(filter);
2219
}
2320
}
2421
}

LifelogBb/McpControllers/WeightsTool.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@ public WeightsTool(WeightsService service) : base(service)
1515
[McpServerTool(Name = "GetAllWeights", Title = "Get All Weights"), Description("Get all weight data. Optionally filter by providing a JSON filter expression.")]
1616
public async Task<IEnumerable<WeightOutput>> McpGetAll([Description("Optional JSON filter expression")] string? filter = null)
1717
{
18-
var result = filter != null
19-
? await _service.GetAll(filter)
20-
: await _service.GetAll();
21-
return result.Value ?? [];
18+
return await GetAllFiltered(filter);
2219
}
2320

2421
[McpServerTool(Name = "CreateWeight", Title = "Create weight entry"), Description("Create a new weight entry")]

0 commit comments

Comments
 (0)