skillhub/web/src/api
FenjuFu 91d0ae1504
feat(api): return skill labels from the skill listing endpoints on request (#730)
* feat(api): return skill labels from the skill listing endpoints on request

Skill labels were reachable only one skill at a time, through
/api/{v1,web}/skills/{namespace}/{slug}/labels, so a client rendering a list had
to issue a follow-up request per row.

Add includeLabels=true to GET /api/v1/skills and GET /api/web/skills. The labels
array is populated only when the parameter is set and left out of the payload
otherwise, so existing responses are byte-identical.

Labels for the whole page are resolved by SkillLabelProjectionService in three
queries — assignments, definitions, translations — rather than three per skill.

Closes #710

Signed-off-by: FenjuFu <fufenjupku@gmail.com>

* fix(api): use include parameter for skill labels

Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>

* test(api): reject unsupported include before search

Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>

---------

Signed-off-by: FenjuFu <fufenjupku@gmail.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Co-authored-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
2026-08-25 13:49:24 +08:00
..
generated feat(api): return skill labels from the skill listing endpoints on request (#730) 2026-08-25 13:49:24 +08:00
client-base-path.test.ts feat(web): support configurable base-path deployment 2026-08-05 12:50:26 +08:00
client.test.ts feat(web): support configurable base-path deployment 2026-08-05 12:50:26 +08:00
client.ts feat(namespace): add admin namespace management 2026-08-12 12:39:24 +08:00
types.ts feat(namespace): add admin namespace management 2026-08-12 12:39:24 +08:00