Accounting: shared timesheet query and project-summary reports for CLI and MCP
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- csharp
- Domain
- api, backend-api-design, cli
Research direction
Trace the QueryTimesheets, GetProjectsSummary, tp query, tp summary, and tp report entry points, then read WeekCoverageService and WeekCheckResult for the intended service/result pattern. Compare their current filtering, grouping, totals, envelopes, and empId handling. Done means shared TimesheetQuery and ProjectSummaryReport behavior with executable parity, including the documented 0.4.0 contract change.
Written by the indexing model from the issue text.
Description
Why
QueryTimesheets / tp query and GetProjectsSummary / tp summary each build TimesheetSummaryFilter and their totals independently.
tp queryparses and trims its filters and groups/totals in the command;QueryTimesheetspasses strings and arrays straight through.tp summarywraps rows in{startDate, endDate, projects, totalHours, billableHours}; MCP returns raw rows. MCP acceptsempId;tp summaryalways uses the current user.tp reportrepeats the summary totals.
Migrate
- A
TimesheetQueryrequest/report used bytp queryandQueryTimesheets(filter parsing and validation, grouping, totals). - A
ProjectSummaryReportused bytp summary,tp reportandGetProjectsSummary; add--emp-idtotp summary. - Executable parity rows.
How
WeekCoverageService + WeekCheckResult: fetch in the service, one result document, adapters render.
Contract
GetProjectsSummary gaining the envelope is a 0.4.0 change.
Part of #38.
- Dominant language
- C#
- Stars
- 3
- Forks
- 0
- Avg merge
- 7m
- Merged PRs (30d)
- 30
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from SSWConsulting/TimePro.Tools
-
Priority: P3 Type: Refactor
Difficulty 5/5 Over a week Newbie friendliness 38/100
SSWConsulting/TimePro.Tools#101 ·
Maintainers usually reply within 1 day
-
Accounting: share product, SKU, rate, unbilled and recurring reads (unbilled paging is a no-op)OpenPriority: P3 Type: Refactor
Difficulty 5/5 Over a week Newbie friendliness 35/100
SSWConsulting/TimePro.Tools#99 ·
Maintainers usually reply within 1 day
-
Priority: P2 Type: Refactor
Difficulty 5/5 Over a week Newbie friendliness 35/100
SSWConsulting/TimePro.Tools#98 ·
Maintainers usually reply within 1 day
-
Priority: P2 Type: Bug Type: Refactor
Difficulty 5/5 Over a week Newbie friendliness 38/100
SSWConsulting/TimePro.Tools#97 ·
Maintainers usually reply within 1 day
-
Priority: P2 Type: Feature
Difficulty 4/5 3-5 days Newbie friendliness 55/100
SSWConsulting/TimePro.Tools#96 ·
Maintainers usually reply within 1 day
All issues in SSWConsulting/TimePro.Tools
Similar issues
-
agentic-workflows Needs: Triage :mag:
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Maintainers usually reply within 1 day
-
:watch: Not Triaged aspnet-core/svc fundamentals/subsvc Source - Docs.ms
Difficulty 1/5 Under an hour Newbie friendliness 85/100
dotnet/AspNetCore.Docs#37785 ·
Maintainers usually reply within 1 day
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day