store: ESB getter boilerplate: ~120-140 lines shared across getters, future extraction candidate
This commit is contained in:
parent
db9ce0c07e
commit
66df2aad41
@ -0,0 +1,36 @@
|
||||
---
|
||||
id: 83e29321-7215-47a1-813e-a73187bda39f
|
||||
type: insight
|
||||
title: "ESB getter boilerplate: ~120-140 lines shared across getters, future extraction candidate"
|
||||
tags: [esb-monorepo, getter-pattern, refactoring, technical-debt, insight, code-pattern]
|
||||
importance: 0.55
|
||||
confidence: 0.8
|
||||
created: "2026-02-26T18:57:36.520923+00:00"
|
||||
updated: "2026-02-26T18:57:36.520923+00:00"
|
||||
---
|
||||
|
||||
# ESB Getter Boilerplate: Shared Code Pattern
|
||||
|
||||
## Observation
|
||||
Comparing poolbrain-customers getter (~250 lines) with the upcoming SF-CA getter, approximately 120-140 lines are near-identical boilerplate.
|
||||
|
||||
## Shared Boilerplate Breakdown
|
||||
| Section | ~Lines |
|
||||
|---|---|
|
||||
| GCP client init | 15 |
|
||||
| createLogger() wrapper | 40 |
|
||||
| getSecret() | 15 |
|
||||
| Env var validation | 20 |
|
||||
| Pub/Sub publishing loop | 20 |
|
||||
| fromLastModifiedDate parsing | 25 |
|
||||
| correlationId | 3 |
|
||||
|
||||
## Future Extraction Target
|
||||
`packages/getter-utils/` with proposed exports:
|
||||
- `createLogger(logName)`
|
||||
- `getSecret(secretName, logger)`
|
||||
- `parsePollerMessage(cloudEvent)`
|
||||
- `publishRecords(records, opts)`
|
||||
|
||||
## Current Stance
|
||||
Not abstracting yet — only 2 getters exist. Revisit when SF-CA getter is built and the pattern is confirmed across both implementations. Two data points is the minimum to validate the abstraction boundary.
|
||||
Loading…
Reference in New Issue
Block a user