Accounting: share product, SKU, rate, unbilled and recurring reads (unbilled paging is a no-op)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- リファクタリング
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- csharp
- 領域
- api, backend-api-design, cli
調査の方向性
Start by tracing the listed tools and commands through ProjectLookup, RateLookupResult, and WeekCheckResult, then compare the CLI and MCP request paths. Check how unbilled paging, sorting, totals, miss shapes, and recurring empty responses currently behave. Done means the migration checklist is covered, executable parity rows pass, and the MCP schema changes are intentional.
索引モデルが issue の本文から書いたものです。
説明
Why
Same pattern as invoices: direct API calls on both surfaces with separate miss handling and request construction.
GetProduct/GetRecurringInvoice:{found:false}+ exit 1 on the CLI,nullon MCP.ListAllSkusis on the MCP-only allowlist, butproduct list --prepaidalready covers the prepaid subset; the unrestricted listing has no CLI command.ListClientRatesandrate listbuild the filter/paging/sort query separately, and treat a blank emp id differently.- Unbilled paging does nothing.
GetUnallocatedTimesheetsByClientAsyncignorespageSize,skip,sortFieldanddirection, yetunbilled listandGetUnbilledTimesheetsForClientboth advertise them. An agent paging withskipgets the same full list every time and double-counts. recurring list --jsonprints nothing on an empty response.
Migrate
- Tools:
ListProducts,GetProduct,ListAllSkus,GetProductDiscountsForClient,ListClientRates,GetClientsWithOutstandingTime,GetUnbilledTimesheetsForClient,ListRecurringInvoices,GetRecurringInvoice. - Shared miss shape for single-entity gets.
-
sku list(orproduct list --all-skus) CLI command; removeListAllSkusfrom the allowlist. - One rate-list request builder shared by
rate listandListClientRates. - Unbilled: page/sort client-side in one shared report, or remove the parameters from both surfaces. Move the hour/amount totals out of
Unbilled/ListCommand. - Executable parity rows.
How
ProjectLookup / RateLookupResult for reads, WeekCheckResult for the unbilled report.
Contract
Removing the unbilled parameters, or making them work, changes the MCP schema; the miss shapes are 0.4.0.
Part of #38.
- 主要言語
- C#
- スター
- 3
- フォーク
- 0
- 平均マージ
- 28分
- マージ済み PR(30日)
- 31
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
SSWConsulting/TimePro.Tools のほかの issue
-
Priority: P3 Type: Refactor
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
SSWConsulting/TimePro.Tools#101 ·
メンテナーはふだん 1 日以内に返信
-
Priority: P3 Type: Refactor
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
SSWConsulting/TimePro.Tools#100 ·
メンテナーはふだん 1 日以内に返信
-
Priority: P2 Type: Refactor
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
SSWConsulting/TimePro.Tools#98 ·
メンテナーはふだん 1 日以内に返信
-
Priority: P2 Type: Bug Type: Refactor
難易度 5/5 1週間以上 初心者へのやさしさ 38/100
SSWConsulting/TimePro.Tools#97 ·
メンテナーはふだん 1 日以内に返信
-
Priority: P2 Type: Feature
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
SSWConsulting/TimePro.Tools#96 ·
メンテナーはふだん 1 日以内に返信
SSWConsulting/TimePro.Tools の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
fluentassertions/fluentassertions#3353 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 半日 初心者へのやさしさ 78/100
unoplatform/uno#24769 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
AvaloniaUI/Avalonia#22323 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
microsoft/onnxruntime-genai#2633 ·
メンテナーはふだん 1 日以内に返信