BaryoDev / BaryoDev/barakoCMS

Services: the client libraries in #834 are the generated client plus a signing helper, not new hand-written packages

Open
#932 0 comments 0 reactions 0 assignees View on GitHub
design module
Dominant language
C#
Stars
6
Forks
7
Avg merge
4h 42m
Merged PRs (30d)
307

Description

#834 plans a .NET and a TypeScript client library for message handling services: verify signatures, reply to a waiting run, write back with `Idempotency-Key`, send heartbeats and use typed messages. Built as described, those are two new hand-written clients. D13 (`DECISIONS.md:464`) already settled how clients are built: a small hand-written base plus generated slices, one per OpenAPI tag, and no generator of our own.

### Why it is too specific

Two libraries shaped around one use, a payroll service replying to a workflow, duplicate the transport, auth, tenant header and error shape the base client already owns, and drift from the API the way D13 describes. A clinic's lab integration or a school's SMS gateway needs the same calls and would get another wrapper.

### The general concept

A service uses the D13 client: the base plus the slices for what it calls (run replies, the services registry, content writes). What is actually new is small: a signature and timestamp verifier with replay protection, and message types generated from a message type's schema. Those ship as a helper beside the base in both languages. The starters and the tutorial in #834 build on that, and #834 should be amended to say so.

### Where it lives

The client packages (base plus a signing helper) and the `barakocms-service` template.

### Compatibility

Nothing is released. This changes the plan in #834 before code exists.

### Done when

- The client library part of #834 is rewritten around the base client, generated slices and a signing helper.
- The starter's handler verifies a message and writes back using only the base, a generated slice and the helper.

Found in the architecture sweep of 15 September 2026.

Contributor guide

Open the contributing guide

Research direction

Start with DECISIONS.md:464 and issue #834, then inspect the client packages and the barakocms-service template mentioned in the issue. Update the plan around the base client, generated OpenAPI slices and a signing helper in both languages; it is done when the starter verifies a message and writes back using those pieces.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, openapi, typescript
Domain
api, backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.